# 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 == dartc ]


# co19 issue 336 (allow use same prefix for several imports)
Language/13_Libraries_and_Scripts/1_Imports_A02_t29: Fail


# co19 issue 337 (export in scripts is allowed in 0.13)
Language/13_Libraries_and_Scripts/4_Scripts_A01_t21: Fail
Language/13_Libraries_and_Scripts/4_Scripts_A01_t23: Fail


# co19 issue 335 (assignment to final is warning, not error)
Language/05_Variables/05_Variables_A07_t01: Fail
Language/05_Variables/05_Variables_A07_t02: Fail
Language/05_Variables/05_Variables_A07_t03: Fail
Language/05_Variables/05_Variables_A07_t04: Fail
Language/05_Variables/05_Variables_A07_t10: Fail
Language/06_Functions/2_Formal_Parameters/1_Required_Formals_A02_t05: Fail
Language/06_Functions/2_Formal_Parameters/2_Optional_Formals_A01_t06: Fail

# issue 7095
Language/12_Statements/02_Expression_Statements_A01_t12: Fail

# co19 issue 344 ('null' is constant, so can be used in 'case')
Language/12_Statements/09_Switch_A02_t03: Fail

# co19 343 (invalid unicode NFC)
Language/15_Reference/1_Lexical_Rules_A01_t10: Fail


# co19 issue 339 (type variable is not constant)
Language/11_Expressions/01_Constants_A20_t03: Fail


# co19 issue 340 (deprecated catch syntax)
Language/11_Expressions/08_Throw_A05_t01: Fail
Language/12_Statements/10_Try_A03_t02: Fail
Language/12_Statements/10_Try_A03_t03: Fail


# co19 issue 341 (class Type has no type parameters)
Language/11_Expressions/31_Type_Test_A01_t02: Fail
Language/11_Expressions/31_Type_Test_A01_t04: Fail


# co19 issue 342 (class can be used anywhere, including left side of "as")
Language/11_Expressions/32_Type_Cast_A01_t04: Fail


# co19 issue 345 (optional parameters list cannot by empty)
Language/14_Types/5_Function_Types_A04_t01: Fail

# co19 issue 346 (invalid 'one ugly cascade')
Language/07_Classes/6_Constructors/1_Generative_Constructors_A04_t15: Fail

# co19 issue 347 (duplicate class in implements clause)
Language/08_Interfaces/5_Superinterfaces_A01_t02: Fail


# co19 issue 320
Language/13_Libraries_and_Scripts/1_Imports_A02_t12: Fail, OK
Language/13_Libraries_and_Scripts/1_Imports_A02_t15: Fail, OK
Language/13_Libraries_and_Scripts/1_Imports_A02_t18: Fail, OK
Language/13_Libraries_and_Scripts/1_Imports_A02_t19: Fail, OK


# co19 issue 298
Language/13_Libraries_and_Scripts/1_Imports_A02_t16: Fail, OK
Language/13_Libraries_and_Scripts/1_Imports_A02_t17: Fail, OK


# co19 issue 351 (use deprecated === and !==)
LibTest/core/Expect/approxEquals_A04_t01: Fail
LibTest/core/Expect/equals_A02_t01: Fail
LibTest/core/Expect/identical_A02_t01: Fail
LibTest/core/Expect/isFalse_A02_t01: Fail
LibTest/core/Expect/isNotNull_A02_t01: Fail
LibTest/core/Expect/isNull_A02_t01: Fail
LibTest/core/Expect/isTrue_A02_t01: Fail
LibTest/core/Expect/listEquals_A03_t01: Fail
LibTest/core/Expect/notEquals_A02_t01: Fail
LibTest/core/Expect/setEquals_A03_t01: Fail
LibTest/core/Expect/stringEquals_A02_t01: Fail
LibTest/core/Expect/throws_A01_t04: Fail
LibTest/core/Future/chain_A02_t04: Fail
LibTest/core/Future/chain_A02_t05: Fail
LibTest/core/Future/transform_A02_t03: Fail
LibTest/core/Future/transform_A02_t04: Fail
LibTest/core/List/every_A04_t01: Fail
LibTest/core/List/filter_A04_t01: Fail
LibTest/core/List/forEach_A03_t01: Fail
LibTest/core/List/List.from_A01_t01: Fail
LibTest/core/List/operator_subscript_A01_t01: Fail
LibTest/core/List/operator_subscript_A01_t02: Fail
LibTest/core/List/operator_subscripted_assignment_A01_t02: Fail
LibTest/core/List/operator_subscripted_assignment_A01_t01: Fail
LibTest/core/List/setRange_A01_t01: Fail
LibTest/core/Queue/addFirst_A01_t01: Fail
LibTest/core/Set/intersection_A01_t03: Fail
LibTest/core/String/toLowerCase_A01_t02: Fail
LibTest/core/String/toUpperCase_A01_t02: Fail
LibTest/core/String/trim_A01_t02: Fail
LibTest/core/StringBuffer/add_A02_t01: Fail
LibTest/core/StringBuffer/addAll_A02_t01: Fail
LibTest/core/StringBuffer/clear_A02_t01: Fail

# co19 issue 352 (use function expression with return type and name)
LibTest/isolate/SendPort/send_A01_t01: Fail


# co19 issue 354
Language/07_Classes/6_Constructors/2_Factories_A01_t02: Fail


# testing framework or VM issue 7388 (dies on Turkish character)
Language/11_Expressions/30_Identifier_Reference_A01_t08: Skip


Language/06_Functions/2_Formal_Parameters/2_Optional_Formals_A03_t02: Fail, OK # deprecated parameter syntax

Language/03_Overview/1_Scoping_A02_t28: Fail # language change 1031
Language/07_Classes/6_Constructors/1_Generative_Constructors_A15_t07: Fail # Issue 3323
Language/07_Classes/6_Constructors/3_Constant_Constructors_A05_t01: Fail # Issue 2477
Language/07_Classes/6_Constructors/3_Constant_Constructors_A05_t02: Fail # Issue 2477
Language/07_Classes/6_Constructors/3_Constant_Constructors_A05_t03: Fail # Issue 2477
Language/11_Expressions/01_Constants_A16_t01: Fail # Issue 1473
Language/11_Expressions/01_Constants_A16_t02: Fail # Issue 1473
Language/11_Expressions/01_Constants_A16_t03: Fail # Issue 1473
Language/11_Expressions/01_Constants_A17_t03: Fail # Issue 1473
Language/11_Expressions/22_Equality_A01_t19: Fail # language change 3368
Language/11_Expressions/22_Equality_A01_t20: Fail # language change 3368
Language/11_Expressions/22_Equality_A02_t03: Fail, OK # co19 issue 169




[ $runtime == drt && ($compiler == none || $compiler == frog) ]
*: Skip
