Index: pkg/front_end/test/src/incremental/file_state_test.dart |
diff --git a/pkg/front_end/test/src/incremental/file_state_test.dart b/pkg/front_end/test/src/incremental/file_state_test.dart |
index 9e9f391cdbb9f3246d7f021711017fc15b8ad3d5..9feda3eaf39afe36647f43edf2dbe8ab469963d9 100644 |
--- a/pkg/front_end/test/src/incremental/file_state_test.dart |
+++ b/pkg/front_end/test/src/incremental/file_state_test.dart |
@@ -284,6 +284,105 @@ export "c.dart" show A, B, C, D hide C show A, D; |
} |
} |
+ test_hasMixin_false() async { |
+ writeFile( |
+ '/a.dart', |
+ r''' |
+class A {} |
+class B extends Object with A {} |
+'''); |
+ var uri = writeFile( |
+ '/test.dart', |
+ r''' |
+import 'a.dart'; |
+class T1 extends A {} |
+class T2 extends B {} |
+'''); |
+ FileState file = await fsState.getFile(uri); |
+ expect(file.hasMixin, isFalse); |
+ } |
+ |
+ test_hasMixin_true() async { |
+ var uri = writeFile( |
+ '/test.dart', |
+ r''' |
+class A {} |
+class B extends Object with A {} |
+'''); |
+ FileState file = await fsState.getFile(uri); |
+ expect(file.hasMixin, isTrue); |
+ } |
+ |
+ test_hasMixinLibrary_false() async { |
+ var partUri = writeFile( |
+ '/part.dart', |
+ r''' |
+part of test; |
+class A {} |
+'''); |
+ var libUri = writeFile( |
+ '/test.dart', |
+ r''' |
+library test; |
+part 'part.dart'; |
+class B extends A {} |
+'''); |
+ |
+ FileState part = await fsState.getFile(partUri); |
+ FileState lib = await fsState.getFile(libUri); |
+ |
+ expect(part.hasMixin, isFalse); |
+ expect(lib.hasMixin, isFalse); |
+ expect(lib.hasMixinLibrary, isFalse); |
+ } |
+ |
+ test_hasMixinLibrary_true_inDefiningUnit() async { |
+ var partUri = writeFile( |
+ '/part.dart', |
+ r''' |
+part of test; |
+class A {} |
+'''); |
+ var libUri = writeFile( |
+ '/test.dart', |
+ r''' |
+library test; |
+part 'part.dart'; |
+class B extends Object with A {} |
+'''); |
+ |
+ FileState part = await fsState.getFile(partUri); |
+ FileState lib = await fsState.getFile(libUri); |
+ |
+ expect(part.hasMixin, isFalse); |
+ expect(lib.hasMixin, isTrue); |
+ expect(lib.hasMixinLibrary, isTrue); |
+ } |
+ |
+ test_hasMixinLibrary_true_inPart() async { |
+ var partUri = writeFile( |
+ '/part.dart', |
+ r''' |
+part of test; |
+class A {} |
+class B extends Object with A {} |
ahe
2017/06/12 19:22:03
Consider adding a test for a named mixin applicati
scheglov
2017/06/12 19:43:19
Done.
|
+'''); |
+ var libUri = writeFile( |
+ '/test.dart', |
+ r''' |
+library test; |
+part 'part.dart'; |
+class C {} |
+'''); |
+ |
+ FileState part = await fsState.getFile(partUri); |
+ FileState lib = await fsState.getFile(libUri); |
+ |
+ expect(part.hasMixin, isTrue); |
+ expect(lib.hasMixin, isFalse); |
+ expect(lib.hasMixinLibrary, isTrue); |
+ } |
+ |
test_newFileListener() async { |
var a = writeFile('/a.dart', ''); |
var b = writeFile('/b.dart', ''); |