Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Unified Diff: test_reflectable/test/implicit_getter_setter_test.dart

Issue 1297503006: Clarifies the status of implicit accessors; fixed several related bugs. (Closed) Base URL: https://github.com/dart-lang/reflectable.git@master
Patch Set: Review response. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test_reflectable/pubspec.yaml ('k') | test_reflectable/test/parameter_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test_reflectable/test/implicit_getter_setter_test.dart
diff --git a/test_reflectable/test/implicit_getter_setter_test.dart b/test_reflectable/test/implicit_getter_setter_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..baa517f82f21a3a5ef200411ea7a4c53979ee764
--- /dev/null
+++ b/test_reflectable/test/implicit_getter_setter_test.dart
@@ -0,0 +1,208 @@
+// Copyright (c) 2015, the Dart Team. All rights reserved. Use of this
+// source code is governed by a BSD-style license that can be found in
+// the LICENSE file.
+
+// File being transformed by the reflectable transformer.
+// Explores properties of implicit getters and setters.
+
+library test_reflectable.test.implicit_getter_setter_test;
+
+import 'package:reflectable/reflectable.dart';
+import 'package:unittest/unittest.dart';
+
+class Reflector extends Reflectable {
+ const Reflector() : super(declarationsCapability, typeCapability,
+ const InvokingCapability("f"));
+}
+
+const reflector = const Reflector();
+
+@reflector
+class A {
+ A f1;
+ final A f2;
+ static A f3;
+ static final A f4 = new A(null);
+ static const f5 = 542;
+ A(this.f2);
+}
+
+main() {
+ ClassMirror classMirror = reflector.reflectType(A);
+
+ test("implicit getter properties", () {
+ MethodMirror f1GetterMirror = classMirror.instanceMembers["f1"];
+ expect(f1GetterMirror.simpleName, "f1");
+ expect(f1GetterMirror.qualifiedName,
+ "test_reflectable.test.implicit_getter_setter_test.A.f1");
+ expect(f1GetterMirror.isPrivate, isFalse);
+ expect(f1GetterMirror.isTopLevel, isFalse);
+ expect(f1GetterMirror.returnType.reflectedType, A);
+ expect(f1GetterMirror.isStatic, isFalse);
+ expect(f1GetterMirror.isAbstract, isFalse);
+ expect(f1GetterMirror.isSynthetic, isTrue);
+ expect(f1GetterMirror.isRegularMethod, isFalse);
+ expect(f1GetterMirror.isOperator, isFalse);
+ expect(f1GetterMirror.isGetter, isTrue);
+ expect(f1GetterMirror.isSetter, isFalse);
+ expect(f1GetterMirror.isConstructor, isFalse);
+ expect(f1GetterMirror.constructorName, "");
+ expect(f1GetterMirror.isConstConstructor, isFalse);
+ expect(f1GetterMirror.isGenerativeConstructor, isFalse);
+ expect(f1GetterMirror.isRedirectingConstructor, isFalse);
+ expect(f1GetterMirror.isFactoryConstructor, isFalse);
+ expect(f1GetterMirror.parameters.length, 0);
+ expect(f1GetterMirror.owner, classMirror);
+
+ MethodMirror f2getterMirror = classMirror.instanceMembers["f2"];
+ expect(f2getterMirror.simpleName, "f2");
+ expect(f2getterMirror.qualifiedName,
+ "test_reflectable.test.implicit_getter_setter_test.A.f2");
+ expect(f2getterMirror.isPrivate, isFalse);
+ expect(f2getterMirror.isTopLevel, isFalse);
+ expect(f2getterMirror.returnType.reflectedType, A);
+ expect(f2getterMirror.isStatic, isFalse);
+ expect(f2getterMirror.isAbstract, isFalse);
+ expect(f2getterMirror.isSynthetic, isTrue);
+ expect(f2getterMirror.isRegularMethod, isFalse);
+ expect(f2getterMirror.isOperator, isFalse);
+ expect(f2getterMirror.isGetter, isTrue);
+ expect(f2getterMirror.isSetter, isFalse);
+ expect(f2getterMirror.isConstructor, isFalse);
+ expect(f2getterMirror.constructorName, "");
+ expect(f2getterMirror.isConstConstructor, isFalse);
+ expect(f2getterMirror.isGenerativeConstructor, isFalse);
+ expect(f2getterMirror.isRedirectingConstructor, isFalse);
+ expect(f2getterMirror.isFactoryConstructor, isFalse);
+ expect(f2getterMirror.parameters.length, 0);
+ expect(f2getterMirror.owner, classMirror);
+
+ MethodMirror f3GetterMirror = classMirror.staticMembers["f3"];
+ expect(f3GetterMirror.simpleName, "f3");
+ expect(f3GetterMirror.qualifiedName,
+ "test_reflectable.test.implicit_getter_setter_test.A.f3");
+ expect(f3GetterMirror.isPrivate, isFalse);
+ expect(f3GetterMirror.isTopLevel, isFalse);
+ expect(f3GetterMirror.returnType.reflectedType, A);
+ expect(f3GetterMirror.isStatic, isTrue);
+ expect(f3GetterMirror.isAbstract, isFalse);
+ expect(f3GetterMirror.isSynthetic, isTrue);
+ expect(f3GetterMirror.isRegularMethod, isFalse);
+ expect(f3GetterMirror.isOperator, isFalse);
+ expect(f3GetterMirror.isGetter, isTrue);
+ expect(f3GetterMirror.isSetter, isFalse);
+ expect(f3GetterMirror.isConstructor, isFalse);
+ expect(f3GetterMirror.constructorName, "");
+ expect(f3GetterMirror.isConstConstructor, isFalse);
+ expect(f3GetterMirror.isGenerativeConstructor, isFalse);
+ expect(f3GetterMirror.isRedirectingConstructor, isFalse);
+ expect(f3GetterMirror.isFactoryConstructor, isFalse);
+ expect(f3GetterMirror.parameters.length, 0);
+ expect(f3GetterMirror.owner, classMirror);
+
+ MethodMirror f4GetterMirror = classMirror.staticMembers["f4"];
+ expect(f4GetterMirror.simpleName, "f4");
+ expect(f4GetterMirror.qualifiedName,
+ "test_reflectable.test.implicit_getter_setter_test.A.f4");
+ expect(f4GetterMirror.isPrivate, isFalse);
+ expect(f4GetterMirror.isTopLevel, isFalse);
+ expect(f4GetterMirror.returnType.reflectedType, A);
+ expect(f4GetterMirror.isStatic, isTrue);
+ expect(f4GetterMirror.isAbstract, isFalse);
+ expect(f4GetterMirror.isSynthetic, isTrue);
+ expect(f4GetterMirror.isRegularMethod, isFalse);
+ expect(f4GetterMirror.isOperator, isFalse);
+ expect(f4GetterMirror.isGetter, isTrue);
+ expect(f4GetterMirror.isSetter, isFalse);
+ expect(f4GetterMirror.isConstructor, isFalse);
+ expect(f4GetterMirror.constructorName, "");
+ expect(f4GetterMirror.isConstConstructor, isFalse);
+ expect(f4GetterMirror.isGenerativeConstructor, isFalse);
+ expect(f4GetterMirror.isRedirectingConstructor, isFalse);
+ expect(f4GetterMirror.isFactoryConstructor, isFalse);
+ expect(f4GetterMirror.parameters.length, 0);
+ expect(f4GetterMirror.owner, classMirror);
+
+ MethodMirror f5GetterMirror = classMirror.staticMembers["f5"];
+ expect(f5GetterMirror.simpleName, "f5");
+ expect(f5GetterMirror.qualifiedName,
+ "test_reflectable.test.implicit_getter_setter_test.A.f5");
+ expect(f5GetterMirror.isPrivate, isFalse);
+ expect(f5GetterMirror.isTopLevel, isFalse);
+ expect(f5GetterMirror.returnType.reflectedType, dynamic);
+ expect(f5GetterMirror.isStatic, isTrue);
+ expect(f5GetterMirror.isAbstract, isFalse);
+ expect(f5GetterMirror.isSynthetic, isTrue);
+ expect(f5GetterMirror.isRegularMethod, isFalse);
+ expect(f5GetterMirror.isOperator, isFalse);
+ expect(f5GetterMirror.isGetter, isTrue);
+ expect(f5GetterMirror.isSetter, isFalse);
+ expect(f5GetterMirror.isConstructor, isFalse);
+ expect(f5GetterMirror.constructorName, "");
+ expect(f5GetterMirror.isConstConstructor, isFalse);
+ expect(f5GetterMirror.isGenerativeConstructor, isFalse);
+ expect(f5GetterMirror.isRedirectingConstructor, isFalse);
+ expect(f5GetterMirror.isFactoryConstructor, isFalse);
+ expect(f5GetterMirror.parameters.length, 0);
+ expect(f5GetterMirror.owner, classMirror);
+ });
+
+ test("implicit setter properties", () {
+ MethodMirror f1SetterMirror = classMirror.instanceMembers["f1="];
+ expect(f1SetterMirror.simpleName, "f1=");
+ expect(f1SetterMirror.qualifiedName,
+ "test_reflectable.test.implicit_getter_setter_test.A.f1=");
+ expect(f1SetterMirror.isPrivate, isFalse);
+ expect(f1SetterMirror.isTopLevel, isFalse);
+ expect(f1SetterMirror.returnType.reflectedType, A);
+ expect(f1SetterMirror.isStatic, isFalse);
+ expect(f1SetterMirror.isAbstract, isFalse);
+ expect(f1SetterMirror.isSynthetic, isTrue);
+ expect(f1SetterMirror.isRegularMethod, isFalse);
+ expect(f1SetterMirror.isOperator, isFalse);
+ expect(f1SetterMirror.isGetter, isFalse);
+ expect(f1SetterMirror.isSetter, isTrue);
+ expect(f1SetterMirror.isConstructor, isFalse);
+ expect(f1SetterMirror.constructorName, "");
+ expect(f1SetterMirror.isConstConstructor, isFalse);
+ expect(f1SetterMirror.isGenerativeConstructor, isFalse);
+ expect(f1SetterMirror.isRedirectingConstructor, isFalse);
+ expect(f1SetterMirror.isFactoryConstructor, isFalse);
+ expect(f1SetterMirror.owner, classMirror);
+ expect(f1SetterMirror.parameters.length, 1);
+ expect(f1SetterMirror.parameters[0].simpleName, "f1");
+ expect(f1SetterMirror.parameters[0].type.reflectedType, A);
+ expect(f1SetterMirror.parameters[0].owner, f1SetterMirror);
+
+ expect(classMirror.instanceMembers["f2="], null);
+
+ MethodMirror f3SetterMirror = classMirror.staticMembers["f3="];
+ expect(f3SetterMirror.simpleName, "f3=");
+ expect(f3SetterMirror.qualifiedName,
+ "test_reflectable.test.implicit_getter_setter_test.A.f3=");
+ expect(f3SetterMirror.isPrivate, isFalse);
+ expect(f3SetterMirror.isTopLevel, isFalse);
+ expect(f3SetterMirror.returnType.reflectedType, A);
+ expect(f3SetterMirror.isStatic, isTrue);
+ expect(f3SetterMirror.isAbstract, isFalse);
+ expect(f3SetterMirror.isSynthetic, isTrue);
+ expect(f3SetterMirror.isRegularMethod, isFalse);
+ expect(f3SetterMirror.isOperator, isFalse);
+ expect(f3SetterMirror.isGetter, isFalse);
+ expect(f3SetterMirror.isSetter, isTrue);
+ expect(f3SetterMirror.isConstructor, isFalse);
+ expect(f3SetterMirror.constructorName, "");
+ expect(f3SetterMirror.isConstConstructor, isFalse);
+ expect(f3SetterMirror.isGenerativeConstructor, isFalse);
+ expect(f3SetterMirror.isRedirectingConstructor, isFalse);
+ expect(f3SetterMirror.isFactoryConstructor, isFalse);
+ expect(f3SetterMirror.owner, classMirror);
+ expect(f3SetterMirror.parameters.length, 1);
+ expect(f3SetterMirror.parameters[0].type.reflectedType, A);
+ expect(f3SetterMirror.parameters[0].owner, f3SetterMirror);
+
+ expect(classMirror.staticMembers["f4="], null);
+
+ expect(classMirror.staticMembers["f5="], null);
+ });
+}
« no previous file with comments | « test_reflectable/pubspec.yaml ('k') | test_reflectable/test/parameter_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698