| Index: tests/compiler/dart2js/const_exp_test.dart
|
| diff --git a/tests/compiler/dart2js/const_exp_test.dart b/tests/compiler/dart2js/const_exp_test.dart
|
| index f45794c3a9b1c1fdae97a87a334a44fef417334d..a903a62a62c65391229cf74f9be0edd9855cad65 100644
|
| --- a/tests/compiler/dart2js/const_exp_test.dart
|
| +++ b/tests/compiler/dart2js/const_exp_test.dart
|
| @@ -11,7 +11,9 @@ test(String constantInitializer, [String expectedOutput]) {
|
| if (expectedOutput == null) {
|
| expectedOutput = constantInitializer;
|
| }
|
| - return () => TypeEnvironment.create("""
|
| + return () => TypeEnvironment
|
| + .create(
|
| + """
|
| class Class<T, S> {
|
| final a;
|
| final b;
|
| @@ -27,79 +29,83 @@ test(String constantInitializer, [String expectedOutput]) {
|
| const toplevelConstant = 0;
|
| toplevelFunction() {}
|
| const constant = $constantInitializer;
|
| -""", expectNoWarningsOrErrors: true).then((env) {
|
| - var element = env.getElement('constant');
|
| - Expect.isNotNull(element, "Element 'constant' not found.");
|
| - var constant = element.constant;
|
| - var value = env.compiler.constants.getConstantValue(constant);
|
| - Expect.isNotNull(constant,
|
| - "No constant computed for '$element'.");
|
| - Expect.equals(expectedOutput, constant.toDartText(),
|
| - "Unexpected to string '${constant.toDartText()}' for constant "
|
| - "'$constantInitializer' of value "
|
| - "${value.toStructuredText()}");
|
| - });
|
| +""",
|
| + expectNoWarningsOrErrors: true)
|
| + .then((env) {
|
| + var element = env.getElement('constant');
|
| + Expect.isNotNull(element, "Element 'constant' not found.");
|
| + var constant = element.constant;
|
| + var value = env.compiler.constants.getConstantValue(constant);
|
| + Expect.isNotNull(constant, "No constant computed for '$element'.");
|
| + Expect.equals(
|
| + expectedOutput,
|
| + constant.toDartText(),
|
| + "Unexpected to string '${constant.toDartText()}' for constant "
|
| + "'$constantInitializer' of value "
|
| + "${value.toStructuredText()}");
|
| + });
|
| }
|
|
|
| void main() {
|
| asyncTest(() => Future.forEach([
|
| - test('null'),
|
| - test('0'),
|
| - test('1.5'),
|
| - test('true'),
|
| - test('false'),
|
| - test('"f"'),
|
| - test('"a" "b"', '"ab"'),
|
| - test('const []'),
|
| - test('const <int>[0, 1]'),
|
| - test('const <dynamic>[0, 1]', 'const [0, 1]'),
|
| - test('const {}'),
|
| - test('const {0: 1, 2: 3}'),
|
| - test('const <String, int>{"0": 1, "2": 3}'),
|
| - test('const <String, dynamic>{"0": 1, "2": 3}'),
|
| - test('const <dynamic, dynamic>{"0": 1, "2": 3}', 'const {"0": 1, "2": 3}'),
|
| - test('const Class(0)'),
|
| - test('const Class(0, b: 1)'),
|
| - test('const Class(0, c: 2)'),
|
| - test('const Class(0, b: 3, c: 4)'),
|
| - test('const Class.named()'),
|
| - test('const Class.named(0)'),
|
| - test('const Class.named(0, 1)'),
|
| - test('const Class.named(0, 1, 2)'),
|
| - test('const Class<String, int>(0)'),
|
| - test('const Class<String, dynamic>(0)'),
|
| - test('const Class<dynamic, String>(0)'),
|
| - test('const Class<dynamic, dynamic>(0)', 'const Class(0)'),
|
| - test('toplevelConstant'),
|
| - test('toplevelFunction'),
|
| - test('Class.staticConstant'),
|
| - test('Class.staticFunction'),
|
| - test('#a'),
|
| - test('1 + 2'),
|
| - test('1 + 2 + 3'),
|
| - test('1 + -2'),
|
| - test('-1 + 2'),
|
| - test('(1 + 2) + 3', '1 + 2 + 3'),
|
| - test('1 + (2 + 3)', '1 + 2 + 3'),
|
| - test('1 * 2'),
|
| - test('1 * 2 + 3'),
|
| - test('1 * (2 + 3)'),
|
| - test('1 + 2 * 3'),
|
| - test('(1 + 2) * 3'),
|
| - test('false || identical(0, 1)'),
|
| - test('!identical(0, 1)'),
|
| - test('!identical(0, 1) || false'),
|
| - test('!(identical(0, 1) || false)'),
|
| - test('identical(0, 1) ? 3 * 4 + 5 : 6 + 7 * 8'),
|
| - test('t ? f ? 0 : 1 : 2'),
|
| - test('(t ? t : f) ? f ? 0 : 1 : 2'),
|
| - test('t ? t : f ? f ? 0 : 1 : 2'),
|
| - test('t ? t ? t : t : t ? t : t'),
|
| - test('t ? (t ? t : t) : (t ? t : t)',
|
| - 't ? t ? t : t : t ? t : t'),
|
| - test('const [const <dynamic, dynamic>{0: true, "1": "c" "d"}, '
|
| - 'const Class(const Class<dynamic, dynamic>(toplevelConstant))]',
|
| - 'const [const {0: true, "1": "cd"}, '
|
| - 'const Class(const Class(toplevelConstant))]'),
|
| - ], (f) => f()));
|
| -}
|
| + test('null'),
|
| + test('0'),
|
| + test('1.5'),
|
| + test('true'),
|
| + test('false'),
|
| + test('"f"'),
|
| + test('"a" "b"', '"ab"'),
|
| + test('const []'),
|
| + test('const <int>[0, 1]'),
|
| + test('const <dynamic>[0, 1]', 'const [0, 1]'),
|
| + test('const {}'),
|
| + test('const {0: 1, 2: 3}'),
|
| + test('const <String, int>{"0": 1, "2": 3}'),
|
| + test('const <String, dynamic>{"0": 1, "2": 3}'),
|
| + test('const <dynamic, dynamic>{"0": 1, "2": 3}',
|
| + 'const {"0": 1, "2": 3}'),
|
| + test('const Class(0)'),
|
| + test('const Class(0, b: 1)'),
|
| + test('const Class(0, c: 2)'),
|
| + test('const Class(0, b: 3, c: 4)'),
|
| + test('const Class.named()'),
|
| + test('const Class.named(0)'),
|
| + test('const Class.named(0, 1)'),
|
| + test('const Class.named(0, 1, 2)'),
|
| + test('const Class<String, int>(0)'),
|
| + test('const Class<String, dynamic>(0)'),
|
| + test('const Class<dynamic, String>(0)'),
|
| + test('const Class<dynamic, dynamic>(0)', 'const Class(0)'),
|
| + test('toplevelConstant'),
|
| + test('toplevelFunction'),
|
| + test('Class.staticConstant'),
|
| + test('Class.staticFunction'),
|
| + test('#a'),
|
| + test('1 + 2'),
|
| + test('1 + 2 + 3'),
|
| + test('1 + -2'),
|
| + test('-1 + 2'),
|
| + test('(1 + 2) + 3', '1 + 2 + 3'),
|
| + test('1 + (2 + 3)', '1 + 2 + 3'),
|
| + test('1 * 2'),
|
| + test('1 * 2 + 3'),
|
| + test('1 * (2 + 3)'),
|
| + test('1 + 2 * 3'),
|
| + test('(1 + 2) * 3'),
|
| + test('false || identical(0, 1)'),
|
| + test('!identical(0, 1)'),
|
| + test('!identical(0, 1) || false'),
|
| + test('!(identical(0, 1) || false)'),
|
| + test('identical(0, 1) ? 3 * 4 + 5 : 6 + 7 * 8'),
|
| + test('t ? f ? 0 : 1 : 2'),
|
| + test('(t ? t : f) ? f ? 0 : 1 : 2'),
|
| + test('t ? t : f ? f ? 0 : 1 : 2'),
|
| + test('t ? t ? t : t : t ? t : t'),
|
| + test('t ? (t ? t : t) : (t ? t : t)', 't ? t ? t : t : t ? t : t'),
|
| + test(
|
| + 'const [const <dynamic, dynamic>{0: true, "1": "c" "d"}, '
|
| + 'const Class(const Class<dynamic, dynamic>(toplevelConstant))]',
|
| + 'const [const {0: true, "1": "cd"}, '
|
| + 'const Class(const Class(toplevelConstant))]'),
|
| + ], (f) => f()));
|
| +}
|
|
|