Chromium Code Reviews| Index: dart/tests/lib/mirrors/mixin_test.dart |
| diff --git a/dart/tests/lib/mirrors/mixin_test.dart b/dart/tests/lib/mirrors/mixin_test.dart |
| index e885945d597e1bcf26ce40993698667b573fdd97..0454a66ee8221f72d96667862a57452bd2efa77e 100644 |
| --- a/dart/tests/lib/mirrors/mixin_test.dart |
| +++ b/dart/tests/lib/mirrors/mixin_test.dart |
| @@ -61,13 +61,14 @@ testMixin() { |
| 'Class(s(Mixin) in s(test.mixin_test), top-level)', |
| 'Class(s(Object) in s(dart.core), top-level)', |
| ]); |
| + |
|
ahe
2013/09/03 22:42:27
Ryan's whitespace changes made it hard for me to m
|
| expect( |
| '{i: Variable(s(i) in s(Mixin)),' |
| ' m: Method(s(m) in s(Mixin))}', |
| reflectClass(Mixin).members); |
| - expect( |
| - '{Mixin: Method(s(Mixin) in s(Mixin), constructor)}', |
| - reflectClass(Mixin).constructors); |
| + |
| + expect('{Mixin: Method(s(Mixin) in s(Mixin), constructor)}', |
| + reflectClass(Mixin).constructors); |
| } |
| testMixin2() { |
| @@ -75,13 +76,14 @@ testMixin2() { |
| 'Class(s(Mixin2) in s(test.mixin_test), top-level)', |
| 'Class(s(Object) in s(dart.core), top-level)', |
| ]); |
| + |
| expect( |
| '{i2: Variable(s(i2) in s(Mixin2)),' |
| ' m2: Method(s(m2) in s(Mixin2))}', |
| reflectClass(Mixin2).members); |
| - expect( |
| - '{Mixin2: Method(s(Mixin2) in s(Mixin2), constructor)}', |
| - reflectClass(Mixin2).constructors); |
| + |
| + expect('{Mixin2: Method(s(Mixin2) in s(Mixin2), constructor)}', |
| + reflectClass(Mixin2).constructors); |
| } |
| testMixinApplication() { |
| @@ -93,33 +95,40 @@ testMixinApplication() { |
| 'Class(s(Object) in s(dart.core), top-level)', |
| ]); |
| + String owner = 'Mixin'; |
| + owner = 'MixinApplication'; /// 01: ok |
|
ngeoffray
2013/09/04 06:59:21
Does that mean the base file is a negative test?
ahe
2013/09/04 10:17:07
Not exactly. It means that you have two positive t
ngeoffray
2013/09/04 10:23:50
OK, could you please add a top-level comment on th
ahe
2013/09/04 13:31:40
Done.
|
| expect( |
| - '{i: Variable(s(i) in s(Mixin)),' |
| - ' m: Method(s(m) in s(Mixin))}', |
| + '{i: Variable(s(i) in s($owner)),' |
| + ' m: Method(s(m) in s($owner))}', |
| reflectClass(MixinApplication).members); |
| - expect( |
| - '{MixinApplication: Method(s(MixinApplication) in s(MixinApplication),' |
| - ' constructor)}', |
| - reflectClass(MixinApplication).constructors); |
| + |
| + expect('{MixinApplication: Method(s(MixinApplication) in s(MixinApplication),' |
| + ' constructor)}', |
| + reflectClass(MixinApplication).constructors); |
| expectSame(reflectClass(C), reflectClass(MixinApplication).superclass); |
| } |
| testMixinApplicationA() { |
| + // TODO(ahe): I don't think an anonymous mixin has an owner. |
| + String owner = ' in s(test.mixin_test)'; |
| + owner = ''; /// 01: ok |
| checkClass(MixinApplicationA, [ |
| 'Class(s(MixinApplicationA) in s(test.mixin_test), top-level)', |
| - 'Class(s(test.model.C with test.mixin_test.Mixin) in s(test.mixin_test),' |
| - ' top-level)', |
| + 'Class(s(test.model.C with test.mixin_test.Mixin)$owner, top-level)', |
| 'Class(s(C) in s(test.model), top-level)', |
| 'Class(s(B) in s(test.model), top-level)', |
| 'Class(s(A) in s(test.model), top-level)', |
| 'Class(s(Object) in s(dart.core), top-level)', |
| ]); |
| + owner = 'Mixin2'; |
| + owner = 'MixinApplicationA'; /// 01: ok |
| expect( |
| - '{i2: Variable(s(i2) in s(Mixin2)),' |
| - ' m2: Method(s(m2) in s(Mixin2))}', |
| + '{i2: Variable(s(i2) in s($owner)),' |
| + ' m2: Method(s(m2) in s($owner))}', |
| reflectClass(MixinApplicationA).members); |
| + |
| expect( |
| '{MixinApplicationA: Method(s(MixinApplicationA) in s(MixinApplicationA),' |
| ' constructor)}', |
| @@ -129,10 +138,13 @@ testMixinApplicationA() { |
| '{i: Variable(s(i) in s(Mixin)),' |
| ' m: Method(s(m) in s(Mixin))}', |
| reflectClass(MixinApplicationA).superclass.members); |
| + |
| + String name = 'test.model.C with test.mixin_test.Mixin'; |
| + name = 'Mixin'; /// 01: ok |
| expect( |
| - '{test.model.C with test.mixin_test.Mixin:' |
| - ' Method(s(test.model.C with test.mixin_test.Mixin)' |
| - ' in s(test.model.C with test.mixin_test.Mixin), constructor)}', |
| + '{$name:' |
| + ' Method(s($name)' |
| + ' in s($name), constructor)}', |
| reflectClass(MixinApplicationA).superclass.constructors); |
| expectSame( |
| @@ -149,10 +161,13 @@ testUnusedMixinApplication() { |
| 'Class(s(Object) in s(dart.core), top-level)', |
| ]); |
| + String owner = 'Mixin'; |
| + owner = 'UnusedMixinApplication'; /// 01: ok |
| expect( |
| - '{i: Variable(s(i) in s(Mixin)),' |
| - ' m: Method(s(m) in s(Mixin))}', |
| + '{i: Variable(s(i) in s($owner)),' |
| + ' m: Method(s(m) in s($owner))}', |
| reflectClass(UnusedMixinApplication).members); |
| + |
| expect( |
| '{UnusedMixinApplication: Method(s(UnusedMixinApplication)' |
| ' in s(UnusedMixinApplication), constructor)}', |
| @@ -162,10 +177,11 @@ testUnusedMixinApplication() { |
| } |
| testSubclass() { |
| + String owner = ' in s(test.mixin_test)'; |
| + owner = ''; /// 01: ok |
| checkClass(Subclass, [ |
| 'Class(s(Subclass) in s(test.mixin_test), top-level)', |
| - 'Class(s(test.model.C with test.mixin_test.Mixin) in s(test.mixin_test),' |
| - ' top-level)', |
| + 'Class(s(test.model.C with test.mixin_test.Mixin)$owner, top-level)', |
| 'Class(s(C) in s(test.model), top-level)', |
| 'Class(s(B) in s(test.model), top-level)', |
| 'Class(s(A) in s(test.model), top-level)', |
| @@ -175,6 +191,7 @@ testSubclass() { |
| expect( |
| '{f: Method(s(f) in s(Subclass))}', |
| reflectClass(Subclass).members); |
| + |
| expect( |
| '{Subclass: Method(s(Subclass) in s(Subclass), constructor)}', |
| reflectClass(Subclass).constructors); |
| @@ -183,10 +200,13 @@ testSubclass() { |
| '{i: Variable(s(i) in s(Mixin)),' |
| ' m: Method(s(m) in s(Mixin))}', |
| reflectClass(Subclass).superclass.members); |
| + |
| + String name = 'test.model.C with test.mixin_test.Mixin'; |
| + name = 'Mixin'; /// 01: ok |
| expect( |
| - '{test.model.C with test.mixin_test.Mixin:' |
| - ' Method(s(test.model.C with test.mixin_test.Mixin)' |
| - ' in s(test.model.C with test.mixin_test.Mixin), constructor)}', |
| + '{$name:' |
| + ' Method(s($name)' |
| + ' in s($name), constructor)}', |
| reflectClass(Subclass).superclass.constructors); |
| expectSame( |
| @@ -207,6 +227,7 @@ testSubclass2() { |
| expect( |
| '{g: Method(s(g) in s(Subclass2))}', |
| reflectClass(Subclass2).members); |
| + |
| expect( |
| '{Subclass2: Method(s(Subclass2) in s(Subclass2), constructor)}', |
| reflectClass(Subclass2).constructors); |
| @@ -217,12 +238,14 @@ testSubclass2() { |
| } |
| testSubclassA() { |
| + // TODO(ahe): I don't think an anonymous mixin has an owner. |
| + String owner = ' in s(test.mixin_test)'; |
| + owner = ''; /// 01: ok |
| checkClass(SubclassA, [ |
| 'Class(s(SubclassA) in s(test.mixin_test), top-level)', |
| 'Class(s(test.model.C with test.mixin_test.Mixin, test.mixin_test.Mixin2)' |
| - ' in s(test.mixin_test), top-level)', |
| - 'Class(s(test.model.C with test.mixin_test.Mixin) in s(test.mixin_test),' |
| - ' top-level)', |
| + '$owner, top-level)', |
| + 'Class(s(test.model.C with test.mixin_test.Mixin)$owner, top-level)', |
| 'Class(s(C) in s(test.model), top-level)', |
| 'Class(s(B) in s(test.model), top-level)', |
| 'Class(s(A) in s(test.model), top-level)', |
| @@ -232,6 +255,7 @@ testSubclassA() { |
| expect( |
| '{fa: Method(s(fa) in s(SubclassA))}', |
| reflectClass(SubclassA).members); |
| + |
| expect( |
| '{SubclassA: Method(s(SubclassA) in s(SubclassA), constructor)}', |
| reflectClass(SubclassA).constructors); |
| @@ -240,21 +264,25 @@ testSubclassA() { |
| '{i2: Variable(s(i2) in s(Mixin2)),' |
| ' m2: Method(s(m2) in s(Mixin2))}', |
| reflectClass(SubclassA).superclass.members); |
| + |
| + String name = |
| + 'test.model.C with test.mixin_test.Mixin, test.mixin_test.Mixin2'; |
| + name = 'Mixin2'; /// 01: ok |
| expect( |
| - '{test.model.C with test.mixin_test.Mixin, test.mixin_test.Mixin2:' |
| - ' Method(s(test.model.C with test.mixin_test.Mixin,' |
| - ' test.mixin_test.Mixin2) in s(test.model.C with test.mixin_test.Mixin,' |
| - ' test.mixin_test.Mixin2), constructor)}', |
| + '{$name: Method(s($name) in s($name), constructor)}', |
| reflectClass(SubclassA).superclass.constructors); |
| expect( |
| '{i: Variable(s(i) in s(Mixin)),' |
| ' m: Method(s(m) in s(Mixin))}', |
| reflectClass(SubclassA).superclass.superclass.members); |
| + |
| + name = 'test.model.C with test.mixin_test.Mixin'; |
| + name = 'Mixin'; /// 01: ok |
| expect( |
| - '{test.model.C with test.mixin_test.Mixin:' |
| - ' Method(s(test.model.C with test.mixin_test.Mixin)' |
| - ' in s(test.model.C with test.mixin_test.Mixin), constructor)}', |
| + '{$name:' |
| + ' Method(s($name)' |
| + ' in s($name), constructor)}', |
| reflectClass(SubclassA).superclass.superclass.constructors); |
| expectSame( |
| @@ -263,10 +291,13 @@ testSubclassA() { |
| } |
| testSubclass2A() { |
| + // TODO(ahe): I don't think an anonymous mixin has an owner. |
| + String owner = ' in s(test.mixin_test)'; |
| + owner = ''; /// 01: ok |
| checkClass(Subclass2A, [ |
| 'Class(s(Subclass2A) in s(test.mixin_test), top-level)', |
| 'Class(s(MixinApplicationA) in s(test.mixin_test), top-level)', |
| - 'Class(s(test.model.C with test.mixin_test.Mixin) in s(test.mixin_test),' |
| + 'Class(s(test.model.C with test.mixin_test.Mixin)$owner,' |
| ' top-level)', |
| 'Class(s(C) in s(test.model), top-level)', |
| 'Class(s(B) in s(test.model), top-level)', |
| @@ -277,6 +308,7 @@ testSubclass2A() { |
| expect( |
| '{ga: Method(s(ga) in s(Subclass2A))}', |
| reflectClass(Subclass2A).members); |
| + |
| expect( |
| '{Subclass2A: Method(s(Subclass2A) in s(Subclass2A), constructor)}', |
| reflectClass(Subclass2A).constructors); |