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

Unified Diff: test/codegen/lib/mirrors/generic_class_declaration_test.dart

Issue 2265533002: Add mirrors tests (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 4 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
Index: test/codegen/lib/mirrors/generic_class_declaration_test.dart
diff --git a/test/codegen/lib/mirrors/generic_class_declaration_test.dart b/test/codegen/lib/mirrors/generic_class_declaration_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..0b8260f9f24332772b060e8af4fa4c0d58798da1
--- /dev/null
+++ b/test/codegen/lib/mirrors/generic_class_declaration_test.dart
@@ -0,0 +1,83 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'dart:mirrors';
+import 'package:expect/expect.dart';
+
+import 'stringify.dart';
+
+class A<T> {
+ var instanceVariable;
+ get instanceGetter => null;
+ set instanceSetter(x) => x;
+ instanceMethod() => null;
+
+ var _instanceVariable;
+ get _instanceGetter => null;
+ set _instanceSetter(x) => x;
+ _instanceMethod() => null;
+
+ static var staticVariable;
+ static get staticGetter => null;
+ static set staticSetter(x) => x;
+ static staticMethod() => null;
+
+ static var _staticVariable;
+ static get _staticGetter => null;
+ static set _staticSetter(x) => x;
+ static _staticMethod() => null;
+}
+
+main() {
+ ClassMirror cm = reflect(new A<String>()).type;
+ Expect.setEquals(
+ ['Variable(s(_instanceVariable) in s(A), private)',
+ 'Variable(s(_staticVariable) in s(A), private, static)',
+ 'Variable(s(instanceVariable) in s(A))',
+ 'Variable(s(staticVariable) in s(A), static)'],
+ cm.declarations.values
+ .where((dm) => dm is VariableMirror).map(stringify),
+ 'variables');
+
+ Expect.setEquals(
+ ['Method(s(_instanceGetter) in s(A), private, getter)',
+ 'Method(s(_staticGetter) in s(A), private, static, getter)',
+ 'Method(s(instanceGetter) in s(A), getter)',
+ 'Method(s(staticGetter) in s(A), static, getter)'],
+ cm.declarations.values
+ .where((dm) => dm is MethodMirror && dm.isGetter).map(stringify),
+ 'getters');
+
+ Expect.setEquals(
+ ['Method(s(_instanceSetter=) in s(A), private, setter)',
+ 'Method(s(_staticSetter=) in s(A), private, static, setter)',
+ 'Method(s(instanceSetter=) in s(A), setter)',
+ 'Method(s(staticSetter=) in s(A), static, setter)'],
+ cm.declarations.values
+ .where((dm) => dm is MethodMirror && dm.isSetter).map(stringify),
+ 'setters');
+
+ Expect.setEquals(
+ ['Method(s(_instanceMethod) in s(A), private)',
+ 'Method(s(_staticMethod) in s(A), private, static)',
+ 'Method(s(instanceMethod) in s(A))',
+ 'Method(s(staticMethod) in s(A), static)'],
+ cm.declarations.values
+ .where((dm) => dm is MethodMirror && dm.isRegularMethod)
+ .map(stringify), 'methods');
+
+ Expect.setEquals(
+ ['Method(s(A) in s(A), constructor)'],
+ cm.declarations.values
+ .where((dm) => dm is MethodMirror && dm.isConstructor).map(stringify),
+ 'constructors');
+
+ Expect.setEquals(
+ ['TypeVariable(s(T) in s(A), upperBound = Class(s(Object) in '
+ 's(dart.core), top-level))'],
+ cm.declarations.values
+ .where((dm) => dm is TypeVariableMirror).map(stringify),
+ 'type variables');
+
+}

Powered by Google App Engine
This is Rietveld 408576698