| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 import "package:async_helper/async_helper.dart"; |
| 6 import "../../../sdk/lib/_internal/compiler/implementation/elements/elements.dar
t"; | 7 import "../../../sdk/lib/_internal/compiler/implementation/elements/elements.dar
t"; |
| 7 import "mock_compiler.dart"; | 8 import "mock_compiler.dart"; |
| 8 import "parser_helper.dart"; | 9 import "parser_helper.dart"; |
| 9 | 10 |
| 10 String TEST_0 = ''' | 11 String TEST_0 = ''' |
| 11 class Foo { | 12 class Foo { |
| 12 Foo(); | 13 Foo(); |
| 13 Foo.named(); | 14 Foo.named(); |
| 14 factory Foo._internal() => null; | 15 factory Foo._internal() => null; |
| 15 operator+(other) => null; | 16 operator+(other) => null; |
| 16 } | 17 } |
| 17 '''; | 18 '''; |
| 18 | 19 |
| 19 String TEST_1 = ''' | 20 String TEST_1 = ''' |
| 20 class Bar { | 21 class Bar { |
| 21 const Bar(); | 22 const Bar(); |
| 22 const Bar.named(); | 23 const Bar.named(); |
| 23 Map<int, List<int>> baz() => null; | 24 Map<int, List<int>> baz() => null; |
| 24 } | 25 } |
| 25 '''; | 26 '''; |
| 26 | 27 |
| 27 main() { | 28 main() { |
| 28 MockCompiler compiler = new MockCompiler(); | 29 asyncTest(() => MockCompiler.create((MockCompiler compiler) { |
| 29 testClass(TEST_0, compiler); | 30 testClass(TEST_0, compiler); |
| 30 testClass(TEST_1, compiler); | 31 testClass(TEST_1, compiler); |
| 32 })); |
| 31 } | 33 } |
| 32 | 34 |
| 33 testClass(String code, MockCompiler compiler) { | 35 testClass(String code, MockCompiler compiler) { |
| 34 int skip = code.indexOf('{'); | 36 int skip = code.indexOf('{'); |
| 35 ClassElement cls = parseUnit(code, compiler, compiler.mainApp).head; | 37 ClassElement cls = parseUnit(code, compiler, compiler.mainApp).head; |
| 36 cls.parseNode(compiler); | 38 cls.parseNode(compiler); |
| 37 cls.forEachLocalMember((Element e) { | 39 cls.forEachLocalMember((Element e) { |
| 38 String name = e.name; | 40 String name = e.name; |
| 39 if (e.isConstructor) { | 41 if (e.isConstructor) { |
| 40 name = Elements.reconstructConstructorName(e).replaceFirst(r'$', '.'); | 42 name = Elements.reconstructConstructorName(e).replaceFirst(r'$', '.'); |
| 41 } | 43 } |
| 42 Expect.equals(code.indexOf(name, skip), e.position.charOffset); | 44 Expect.equals(code.indexOf(name, skip), e.position.charOffset); |
| 43 }); | 45 }); |
| 44 } | 46 } |
| OLD | NEW |