# Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

[ $compiler == dart2js ]
Language/Expressions/Constants/integer_size_t03: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Constants/integer_size_t04: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Constants/literal_number_t01: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Constants/math_operators_t01: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Constants/math_operators_t06: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Null/instance_of_class_null_t01: Skip # dart:mirrors not supported https://github.com/dart-lang/co19/issues/522.
Language/Expressions/Numbers/integer_size_t03: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Numbers/static_type_of_int_t01: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Numbers/syntax_t06: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Numbers/syntax_t09: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Object_Identity/object_t02: SkipByDesign # https://github.com/dart-lang/sdk/issues/42222#issuecomment-640431711
Language/Expressions/Shift/integer_t01: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Shift/integer_t02: SkipByDesign # big integer cannot be represented in JavaScript
Language/Expressions/Spawning_an_Isolate/new_isolate_t01: SkipByDesign
Language/Libraries_and_Scripts/Scripts/main_optional_parameters_t01: SkipByDesign # https://github.com/dart-lang/co19/issues/952
Language/Libraries_and_Scripts/Scripts/main_optional_parameters_t03: SkipByDesign # https://github.com/dart-lang/co19/issues/952
Language/Metadata/before*: Skip # dart:mirrors not supported https://github.com/dart-lang/co19/issues/523.
Language/Reference/Operator_Precedence/precedence_15_unary_prefix_t08: SkipByDesign # binary '~' produces different results in JavaScript and Dart
LibTest/core/DateTime/DateTime.fromMicrosecondsSinceEpoch_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
LibTest/core/DateTime/microsecond_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
LibTest/core/DateTime/microsecondsSinceEpoch_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
LibTest/core/DateTime/parse_A01_t03: SkipByDesign # microseconds are not supported in JavaScript
LibTest/core/DateTime/to8601String_A01_t01: SkipByDesign # microseconds are not supported in JavaScript
LibTest/core/DateTime/to8601String_A01_t02: SkipByDesign # microseconds are not supported in JavaScript
LibTest/core/DateTime/to8601String_A01_t03: SkipByDesign # microseconds are not supported in JavaScript
LibTest/core/int/operator_remainder_A01_t03: SkipByDesign # Division by zero is not an error in JavaScript
LibTest/core/int/operator_truncating_division_A01_t02: SkipByDesign # Division by zero is not an error in JavaScript
LibTest/core/int/parse_A01_t02: SkipByDesign # big integers cannot be represented in JavaScript
LibTest/core/int/remainder_A01_t03: SkipByDesign # Division by zero is not an error in JavaScript
LibTest/html/HttpRequest/*: Skip # https://github.com/dart-lang/co19/issues/932
LibTest/html/HttpRequestUpload/*: Skip # https://github.com/dart-lang/co19/issues/932
LibTest/io/*: SkipByDesign # dart:io not supported.
LibTest/isolate/*: SkipByDesign # dart:isolate not supported.
LibTest/mirrors/*: SkipByDesign # dart:mirrors is not supported
LibTest/typed_data/ByteBuffer/*: SkipByDesign # not supported on the web
LibTest/typed_data/ByteData/getInt64_A01_t01: Skip # Big integers cannot be represented in JS
LibTest/typed_data/ByteData/getInt64_A02_t01: Skip # Int64 accessor not supported by dart2js
LibTest/typed_data/ByteData/getInt64_A02_t02: Skip # Int64 accessor not supported by dart2js
LibTest/typed_data/ByteData/getUint64_A01_t01: Skip # Big integers cannot be represented in JS
LibTest/typed_data/ByteData/getUint64_A02_t01: Skip # Int64 accessor not supported by dart2js
LibTest/typed_data/ByteData/getUint64_A02_t02: Skip # Int64 accessor not supported by dart2js
LibTest/typed_data/ByteData/setInt64_A01_t01: Skip # Big integers cannot be represented in JS
LibTest/typed_data/ByteData/setInt64_A02_t01: Skip # Int64 accessor not supported by dart2js
LibTest/typed_data/ByteData/setInt64_A02_t02: Skip # Int64 accessor not supported by dart2js
LibTest/typed_data/ByteData/setUint64_A01_t01: Skip # Big integers cannot be represented in JS
LibTest/typed_data/ByteData/setUint64_A02_t01: Skip # Uint64 accessor not supported by dart2js
LibTest/typed_data/ByteData/setUint64_A02_t02: Skip # Uint64 accessor not supported by dart2js
LibTest/typed_data/Int32x4/operator_OR_A01_t01: Skip # Bitwise operations in JS are unsigned.
LibTest/typed_data/Int32x4List/join_A01_t01: Skip # Differen string represrntation on VM and in JS
LibTest/typed_data/Int32x4List/join_A01_t02: Skip # Differen string represrntation on VM and in JS
LibTest/typed_data/Int64List/*: SkipByDesign # Int64List not supported on the web
LibTest/typed_data/Uint64List/*: SkipByDesign # Uint64List not supported on the web

[ $compiler == dart2js && $runtime == d8 ]
LibTest/html/*: SkipByDesign # d8 is not a browser

[ $compiler == dart2js && $runtime == d8 && $host_checked ]
LibTest/collection/ListBase/ListBase_class_A01_t04: Slow, Pass
LibTest/collection/ListBase/ListBase_class_A01_t05: Slow, Pass
LibTest/collection/ListBase/ListBase_class_A01_t06: Slow, Pass
LibTest/collection/ListMixin/ListMixin_class_A01_t04: Slow, Pass
LibTest/collection/ListMixin/ListMixin_class_A01_t05: Slow, Pass
LibTest/collection/ListMixin/ListMixin_class_A01_t06: Slow, Pass
LibTest/core/List/List_class_A01_t05: Slow, Pass
LibTest/core/List/List_class_A01_t06: Slow, Pass

[ $compiler == dart2js && $runtime == ie11 ]
LibTest/collection/ListBase/ListBase_class_A01_t04: SkipSlow # slow babeljs transformation
LibTest/collection/ListBase/ListBase_class_A01_t05: SkipSlow # slow babeljs transformation
LibTest/collection/ListBase/ListBase_class_A01_t06: SkipSlow # slow babeljs transformation
LibTest/collection/ListMixin/ListMixin_class_A01_t04: SkipSlow # slow babeljs transformation
LibTest/collection/ListMixin/ListMixin_class_A01_t05: SkipSlow # slow babeljs transformation
LibTest/collection/ListMixin/ListMixin_class_A01_t06: SkipSlow # slow babeljs transformation
LibTest/core/List/List_class_A01_t04: SkipSlow # slow babeljs transformation
LibTest/core/List/List_class_A01_t05: SkipSlow # slow babeljs transformation
LibTest/core/List/List_class_A01_t06: SkipSlow # slow babeljs transformation
