# 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.

reg_exp_unicode_2_test: Fail # Bug 6592

[ $compiler == none ]
unicode_test: Fail        # Bug 6706
*dartc_test: Skip
compare_to2_test: Fail    # Bug 4018
null_test: Fail           # Bug 5511
apply_test: Fail # Bug 5670
apply2_test: Fail # Bug 5670

[ $runtime == ff || $runtime == ie9 || $runtime == jsshell ]
unicode_test: Fail

[ $compiler == dart2js && ($runtime == chrome || $runtime == drt || $runtime == d8 || $runtime == safari) ]
string_trim_unicode_test: Fail  # V8 bug 2408

[ $runtime == opera ]
core_runtime_types_test: Fail
date_time7_test: Fail
unicode_test: Fail

[ $runtime == ie9 && ($system == linux || $system == macos) ]
*: Skip

[ $runtime == safari && ($system == linux || $system == windows) ]
*: Skip

[ $runtime == vm ]
string_trim_unicode_test: Fail  # Bug 6569

[ $arch == simarm ]
*: Skip

[ $arch == arm ]
*: Skip

[ $compiler == dart2js ]
math_parse_double_test: Fail # Expect.equals(expected: <78187493520>, actual: <0>)
math_test: Fail # issue 3333
surrogate_pair_toUpper_test: Fail # Issue 6707

# Bad test, assumes RegExp.allMatches returns a Collection.
reg_exp_all_matches_test: Fail, OK # NoSuchMethodError : method not found: 'forEach'

reg_exp4_test: Fail, OK # Expects exception from const constructor.

big_integer_vm_test: Fail, OK # VM specific test.
compare_to2_test: Fail, OK    # Requires bigint support.
string_base_vm_test: Fail, OK # VM specific test.

[ $compiler == dart2js && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.

[ $compiler == dart2js && $runtime == safari ]
core_runtime_types_test: Fail

[ $compiler == dart2js && $runtime == ie9 ]
date_time7_test: Fail # BUG(3304): Maybe this doesn't time out?
reg_exp_all_matches_test: Fail # BUG(3304): Maybe this doesn't time out?
string_base_vm_test: Fail # BUG(3304): Maybe this doesn't time out?

[ $compiler == dart2dart ]
apply_test: Fail # inherited from VM
apply2_test: Fail # inherited from VM
compare_to2_test: Fail # inherited from VM
null_test: Fail # inherited from VM
unicode_test: Fail # inherited from VM

