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

# This directory contains tests that are intended to show the
# current state of the language.

[ $compiler == dart2js && ($runtime == ie9 || $runtime == ie10) ]
licm2_test: Skip # Issue 12298

[ $compiler == dart2dart ]
mixin_super_constructor_named_test: Fail # Issue 12631
mixin_super_constructor_positionals_test: Fail # Issue 12631
function_type_alias6_test/00: Fail # Issue 11986
function_type_alias9_test/00: Crash # Issue 11986

[ $compiler == none ]
mixin_super_constructor_named_test: Fail # Issue 12631
mixin_super_constructor_positionals_test: Fail # Issue 12631
built_in_identifier_prefix_test: Fail # Issue 6970
library_juxtaposition_test: Fail # Issue 6877
switch_int_double_test/01: Fail # Issue 7307
switch_int_double_test/02: Fail # Issue 7307

# These bugs refer currently ongoing language discussions.
constructor_initializer_test: Fail # Issue 12633
constructor5_test: Fail # Issue 6422
constructor6_test: Fail # Issue 6422
closure_in_initializer_test: Fail # Issue 6422

# Regular bugs which should be fixed.
super_first_constructor_test: Fail # Issue 1372.
parameter_initializer6_negative_test: Fail # Issue 3502
lazy_static3_test: Fail # Issue 12593
export_cyclic_test: Fail, Crash # Issue 6060
duplicate_export_negative_test: Fail # Issue 6134
on_catch_malformed_type_test: Fail # Issue 8601
mixin_mixin_test: Fail # Issue 12636
mixin_issue10216_2_test: Fail # Issue 12636
mixin_illegal_object_test/01: Crash # Issue 10952
mixin_illegal_object_test/02: Crash # Issue 10952
mixin_forwarding_constructor2_test: Fail # Issue 11888
mixin_typedef_constructor_test: Fail # Issue 11888
mixin_type_parameter2_test: Fail # Issue 11888

[ $compiler == none && $unchecked ]
# Only checked mode reports an error on type assignment
# problems in compile time constants.
compile_time_constant_checked_test/02: Fail, OK
compile_time_constant_checked2_test/01: Fail, OK
compile_time_constant_checked2_test/02: Fail, OK
compile_time_constant_checked2_test/03: Fail, OK
compile_time_constant_checked2_test/04: Fail, OK
compile_time_constant_checked2_test/05: Fail, OK
compile_time_constant_checked2_test/06: Fail, OK
compile_time_constant_checked3_test/01: Fail, OK
compile_time_constant_checked3_test/02: Fail, OK
compile_time_constant_checked3_test/03: Fail, OK
compile_time_constant_checked3_test/04: Fail, OK
compile_time_constant_checked3_test/05: Fail, OK
compile_time_constant_checked3_test/06: Fail, OK

[ $runtime == dartium ]
import_combinators_test: Fail

[ $runtime == vm || ($runtime == drt && $compiler == none) ]
first_class_types_literals_test: Fail # issue 11761
call_test: Fail # Issue 12602
dynamic_prefix_core_test: Fail # Issue 12478

[ $runtime == chrome ]


[ $browser ]


[ $compiler == dart2dart ]
built_in_identifier_prefix_test: Fail # Inherited from dart2js.
constructor_initializer_test: Fail # VM issue
factory3_test: Fail
type_checks_in_factory_method_test: Fail

many_overridden_no_such_method_test: Fail, Pass, OK # Fails in minified mode, test depends on method names.
overridden_no_such_method_test: Fail, Pass, OK # Fails in minified mode, test depends on method names.

on_catch_malformed_type_test: Fail # Issue 8601

# False positive compile-time error is masking expected compile-time error
mixin_type_parameters_errors_test/*: Skip

# Mixins fail on the VM.
mixin_mixin_test: Fail                      # VM issue
mixin_issue10216_2_test: Fail               # VM issue
mixin_forwarding_constructor2_test: Fail # Issue 11888
mixin_typedef_constructor_test: Fail # Issue 11888
mixin_type_parameter2_test: Fail # Issue 11888

mixin_with_two_implicit_constructors_test: Fail # Issue 11889

# Malformed types not handled as unresolved:
import_core_prefix_test: Fail
prefix16_test: Fail
prefix22_test: Fail

# Calling unresolved class constructor:
call_nonexistent_constructor_test: Fail

bad_override_test/01: Fail # Issue 11496
bad_override_test/02: Fail # Issue 11496
bad_override_test/06: Fail # Issue 11496
class_override_test/00: Fail # Issue 11496
field_override3_test/00: Fail # Issue 11496
field_override3_test/01: Fail # Issue 11496
field_override3_test/02: Fail # Issue 11496
field_override3_test/03: Fail # Issue 11496
getter_override_test/00: Fail # Issue 11496
getter_override_test/01: Fail # Issue 11496
getter_override_test/02: Fail # Issue 11496
method_override7_test/00: Fail # Issue 11496
method_override7_test/01: Fail # Issue 11496
method_override7_test/02: Fail # Issue 11496
method_override8_test/03: Fail # Issue 11496
setter_override_test/00: Fail # Issue 11496
setter_override_test/03: Fail # Issue 11496
setter_override2_test/02: Fail # Issue 11496

compile_time_constant10_test/01: Fail # http://dartbug.com/5519
compile_time_constant10_test/02: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/01: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/02: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/03: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/05: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/06: Fail # http://dartbug.com/5519
const_constructor_syntax_test/04: Fail # http://dartbug.com/5519
const_syntax_test/01: Fail # http://dartbug.com/5519
const_syntax_test/02: Fail # http://dartbug.com/5519
const_syntax_test/03: Fail # http://dartbug.com/5519
const_syntax_test/04: Fail # http://dartbug.com/5519
const_syntax_test/05: Fail # http://dartbug.com/5519
const_syntax_test/06: Fail # http://dartbug.com/5519
const_syntax_test/07: Fail # http://dartbug.com/5519
const_syntax_test/08: Fail # http://dartbug.com/5519
const_syntax_test/10: Fail # http://dartbug.com/5519
constructor_named_arguments_test/01: Fail # http://dartbug.com/5519
final_for_in_variable_test/01: Fail # http://dartbug.com/5519
final_is_not_const_test/01: Fail # http://dartbug.com/5519
final_syntax_test/01: Fail # http://dartbug.com/5519
final_syntax_test/02: Fail # http://dartbug.com/5519
final_syntax_test/03: Fail # http://dartbug.com/5519
final_syntax_test/04: Fail # http://dartbug.com/5519
getter_no_setter_test/01: Fail # http://dartbug.com/5519
named_parameters_aggregated_test/01: Fail # http://dartbug.com/5519
named_parameters_aggregated_test/03: Fail # http://dartbug.com/5519
not_enough_positional_arguments_test/01: Fail # http://dartbug.com/5519

metadata_test: Fail
# Fails in conservative mode, issue 4935, passes in minifinying mode.
argument_definition_test/*: Skip # Not implemented.
const_var_test: Pass, Fail # Map literals take 2 type arguments.
map_literal3_test: Fail # Map literals take 2 type arguments.
class_cycle_negative_test: Fail, OK # Bad test: assumes eager loading.
interface_cycle_negative_test: Fail, OK # Bad test: assumes eager loading.
# Common problems with dart2js.  In illegal family, invalid
# declarations are simply not parsed.  In pseudo kw dart2js
# chokes on things like typedef(x) => "typedef $x" and alike.
abstract_syntax_test/01: Fail
pseudo_kw_test: Fail
# external keyword is not yet supported by dart2js/dart2dart.
external_test/*: Skip
lazy_static3_test: Fail # Issue 12593
# dart2js frontend doesn't even analyse problematic classes.
duplicate_implements_test/01: Fail
duplicate_implements_test/02: Fail
duplicate_implements_test/03: Fail
duplicate_implements_test/04: Fail
method_override4_test: Fail
method_override5_test: Fail
operator1_negative_test: Fail
static_final_field_negative_test: Fail
static_top_level_test/00: Fail
static_top_level_test/01: Fail
static_top_level_test/02: Fail
static_top_level_test/03: Fail
static_top_level_test/04: Fail
static_top_level_test/05: Fail
static_top_level_test/06: Fail
static_top_level_test/07: Fail
# Bug in dart2js parser: it happily parses 1is int; variable declaration.
number_identifier_negative_test: Fail
# Common with language_dart2js.
factory_redirection_test/0*: Skip # Flaky negative tests, crash, fail, or pass. Not implemented.
factory_redirection_test/1*: Skip # Flaky negative tests, crash, fail, or pass. Not implemented.
function_type_alias5_test/00: Fail
function_type_alias5_test/01: Fail
function_type_alias5_test/02: Fail
function_type_alias7_test/00: Fail
parameter_initializer6_negative_test: Fail # Issue 3502
syntax_test/47: Fail
# DartVM problem.
constructor5_test: Fail
constructor6_test: Fail
closure_in_initializer_test: Fail
super_first_constructor_test: Fail
# VM specific tests.
# This test hard codes name of file being run and precise position.
generic_test: Fail, Ok
# Minified mode failures.
# TODO(antonm): proper support in test framework.
no_such_method_test: Pass, Fail, OK # Hard codes the name of invoked method ("foo").

new_expression_type_args_test/00: Fail # Wrongly reports compile-time error.
new_expression_type_args_test/01: Fail # Wrongly reports compile-time error.

get_set_syntax_test/00: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/01: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/02: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/03: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/04: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/05: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/06: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/07: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/13: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/14: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/15: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111

# Only checked mode reports an error on type assignment
# problems in compile time constants.
compile_time_constant_checked_test/02: Fail, OK
compile_time_constant_checked2_test/01: Fail, OK
compile_time_constant_checked2_test/02: Fail, OK
compile_time_constant_checked2_test/03: Fail, OK
compile_time_constant_checked2_test/04: Fail, OK
compile_time_constant_checked2_test/05: Fail, OK
compile_time_constant_checked2_test/06: Fail, OK
compile_time_constant_checked3_test/01: Fail, OK
compile_time_constant_checked3_test/02: Fail, OK
compile_time_constant_checked3_test/03: Fail, OK
compile_time_constant_checked3_test/04: Fail, OK
compile_time_constant_checked3_test/05: Fail, OK
compile_time_constant_checked3_test/06: Fail, OK

positional_parameters_type_test: Fail # Triage this.

[ $compiler == dart2dart && $minified ]
super_getter_setter_test: Fail # Issue 11065.
f_bounded_quantification4_test: Fail # Issue 12605.

# TODO(tball): Assign proper bug numbers.
class_literal_test: Fail

import_core_prefix_test: Pass
prefix22_test: Pass
invocation_mirror_test: Fail, OK # hardcoded names.
super_call4_test: Fail, OK # hardcoded names.

[ $compiler == dart2js || $compiler == dart2dart]
null_test/03: Fail    # Issue 12445.

[ $compiler == dart2js ]
null_test/none: Fail  # Issue 12482

[ $compiler == none && $runtime == drt ]
vm/reflect_core_vm_test: Fail  # Temporarily marked as fail.
