Index: tests/lib/mirrors/constructor_kinds_test.dart |
diff --git a/tests/lib/mirrors/constructor_kinds_test.dart b/tests/lib/mirrors/constructor_kinds_test.dart |
index f3339ca844e068deb948027e1289f485ccc3dd13..febac1f6f795e560fd98616e11795f49924be389 100644 |
--- a/tests/lib/mirrors/constructor_kinds_test.dart |
+++ b/tests/lib/mirrors/constructor_kinds_test.dart |
@@ -10,29 +10,36 @@ import 'package:expect/expect.dart'; |
class ClassWithDefaultConstructor {} |
class Class { |
- Class.generative(); |
- Class.redirectingGenerative() : this.generative(); |
- factory Class.faktory () => new Class.generative(); |
- factory Class.redirectingFactory() = Class.faktory; |
- |
- const Class.constGenerative(); |
- const Class.constRedirectingGenerative() : this.constGenerative(); |
+ Class.generativeConstructor(); |
+ Class.redirectingGenerativeConstructor() : this.generativeConstructor(); |
+ factory Class.factoryConstructor() => new Class.generativeConstructor(); |
+ factory Class.redirectingFactoryConstructor() = Class.factoryConstructor; |
+ |
+ const Class.constGenerativeConstructor(); |
+ const Class.constRedirectingGenerativeConstructor() |
+ : this.constGenerativeConstructor(); |
// Not legal. |
- // const factory Class.constFaktory () => const Class.constGenerative(); |
- const factory Class.constRedirectingFactory() = Class.constGenerative; |
+ // const factory Class.constFactoryConstructor() => ... |
+ const factory Class.constRedirectingFactoryConstructor() |
+ = Class.constGenerativeConstructor; |
} |
main() { |
ClassMirror cm; |
MethodMirror mm; |
- new Class.generative(); |
- new Class.redirectingGenerative(); |
- new Class.faktory(); |
- new Class.redirectingFactory(); |
- const Class.constGenerative(); |
- const Class.constRedirectingGenerative(); |
- const Class.constRedirectingFactory(); |
+ // Multitest with and without constructor calls. On the VM, we want to check |
+ // that constructor properties are correctly set even if the constructor |
+ // hasn't been fully compiled. On dart2js, we want to check that constructors |
+ // are retain even if there are no base-level calls. |
ahe
2013/10/10 15:49:32
Great idea!
|
+ new ClassWithDefaultConstructor(); /// 01: ok |
+ new Class.generativeConstructor(); /// 01: ok |
+ new Class.redirectingGenerativeConstructor(); /// 01: ok |
+ new Class.factoryConstructor(); /// 01: ok |
+ new Class.redirectingFactoryConstructor(); /// 01: ok |
+ const Class.constGenerativeConstructor(); /// 01: ok |
+ const Class.constRedirectingGenerativeConstructor(); /// 01: ok |
+ const Class.constRedirectingFactoryConstructor(); /// 01: ok |
cm = reflectClass(ClassWithDefaultConstructor); |
mm = cm.constructors.values.single; |
@@ -42,45 +49,44 @@ main() { |
Expect.isFalse(mm.isRedirectingConstructor); |
Expect.isFalse(mm.isConstConstructor); |
- |
cm = reflectClass(Class); |
- mm = cm.constructors[#generative]; |
+ mm = cm.constructors[#Class.generativeConstructor]; |
Expect.isTrue(mm.isConstructor); |
Expect.isTrue(mm.isGenerativeConstructor); |
Expect.isFalse(mm.isFactoryConstructor); |
Expect.isFalse(mm.isRedirectingConstructor); |
Expect.isFalse(mm.isConstConstructor); |
- mm = cm.constructors[#redirectingGenerative]; |
+ mm = cm.constructors[#Class.redirectingGenerativeConstructor]; |
Expect.isTrue(mm.isConstructor); |
Expect.isTrue(mm.isGenerativeConstructor); |
Expect.isFalse(mm.isFactoryConstructor); |
Expect.isTrue(mm.isRedirectingConstructor); |
Expect.isFalse(mm.isConstConstructor); |
- mm = cm.constructors[#faktory]; |
+ mm = cm.constructors[#Class.factoryConstructor]; |
Expect.isTrue(mm.isConstructor); |
Expect.isFalse(mm.isGenerativeConstructor); |
Expect.isTrue(mm.isFactoryConstructor); |
Expect.isFalse(mm.isRedirectingConstructor); |
Expect.isFalse(mm.isConstConstructor); |
- mm = cm.constructors[#redirectingFactory]; |
+ mm = cm.constructors[#Class.redirectingFactoryConstructor]; |
Expect.isTrue(mm.isConstructor); |
Expect.isFalse(mm.isGenerativeConstructor); |
Expect.isTrue(mm.isFactoryConstructor); |
Expect.isTrue(mm.isRedirectingConstructor); |
Expect.isFalse(mm.isConstConstructor); |
- mm = cm.constructors[#constGenerative]; |
+ mm = cm.constructors[#Class.constGenerativeConstructor]; |
Expect.isTrue(mm.isConstructor); |
Expect.isTrue(mm.isGenerativeConstructor); |
Expect.isFalse(mm.isFactoryConstructor); |
Expect.isFalse(mm.isRedirectingConstructor); |
Expect.isTrue(mm.isConstConstructor); |
- mm = cm.constructors[#constRedirectingGenerative]; |
+ mm = cm.constructors[#Class.constRedirectingGenerativeConstructor]; |
Expect.isTrue(mm.isConstructor); |
Expect.isTrue(mm.isGenerativeConstructor); |
Expect.isFalse(mm.isFactoryConstructor); |
@@ -88,14 +94,14 @@ main() { |
Expect.isTrue(mm.isConstConstructor); |
// Not legal. |
- // mm = cm.constructors[#constFaktory]; |
+ // mm = cm.constructors[#Class.constFactoryConstructor]; |
// Expect.isTrue(mm.isConstructor); |
// Expect.isFalse(mm.isGenerativeConstructor); |
// Expect.isTrue(mm.isFactoryConstructor); |
// Expect.isFalse(mm.isRedirectingConstructor); |
// Expect.isTrue(mm.isConstConstructor); |
- mm = cm.constructors[#constRedirectingFactory]; |
+ mm = cm.constructors[#Class.constRedirectingFactoryConstructor]; |
Expect.isTrue(mm.isConstructor); |
Expect.isFalse(mm.isGenerativeConstructor); |
Expect.isTrue(mm.isFactoryConstructor); |