| Index: test/codegen/lib/mirrors/library_declarations_test.dart
|
| diff --git a/test/codegen/lib/mirrors/library_declarations_test.dart b/test/codegen/lib/mirrors/library_declarations_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..807bb5710cdd9cbb48f75be6411d60019d4c272a
|
| --- /dev/null
|
| +++ b/test/codegen/lib/mirrors/library_declarations_test.dart
|
| @@ -0,0 +1,122 @@
|
| +// 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.
|
| +
|
| +library test.library_declarations_test;
|
| +
|
| +import 'dart:mirrors';
|
| +import 'package:expect/expect.dart';
|
| +
|
| +import 'stringify.dart';
|
| +import 'declarations_model.dart' as declarations_model;
|
| +
|
| +main() {
|
| + LibraryMirror lm =
|
| + currentMirrorSystem().findLibrary(#test.declarations_model);
|
| +
|
| + Expect.setEquals(
|
| + ['Variable(s(_libraryVariable)'
|
| + ' in s(test.declarations_model), private, top-level, static)',
|
| + 'Variable(s(libraryVariable)'
|
| + ' in s(test.declarations_model), top-level, static)'],
|
| + lm.declarations.values.where((dm) => dm is VariableMirror).map(stringify),
|
| + 'variables');
|
| +
|
| + // dart2js stops testing here.
|
| + return; /// 01: ok
|
| +
|
| + Expect.setEquals(
|
| + ['Method(s(_libraryGetter)'
|
| + ' in s(test.declarations_model), private, top-level, static, getter)',
|
| + 'Method(s(libraryGetter)'
|
| + ' in s(test.declarations_model), top-level, static, getter)'],
|
| + lm.declarations.values
|
| + .where((dm) => dm is MethodMirror && dm.isGetter).map(stringify),
|
| + 'getters');
|
| +
|
| + Expect.setEquals(
|
| + ['Method(s(_librarySetter=)'
|
| + ' in s(test.declarations_model), private, top-level, static, setter)',
|
| + 'Method(s(librarySetter=)'
|
| + ' in s(test.declarations_model), top-level, static, setter)'],
|
| + lm.declarations.values
|
| + .where((dm) => dm is MethodMirror && dm.isSetter).map(stringify),
|
| + 'setters');
|
| +
|
| + Expect.setEquals(
|
| + ['Method(s(_libraryMethod)'
|
| + ' in s(test.declarations_model), private, top-level, static)',
|
| + 'Method(s(libraryMethod)'
|
| + ' in s(test.declarations_model), top-level, static)'],
|
| + lm.declarations.values
|
| + .where((dm) => dm is MethodMirror && dm.isRegularMethod).map(stringify),
|
| + 'regular methods');
|
| +
|
| + Expect.setEquals(
|
| + ['Class(s(Class) in s(test.declarations_model), top-level)',
|
| + 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Interface) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Mixin) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Superclass) in s(test.declarations_model), top-level)',
|
| + 'Class(s(_PrivateClass)'
|
| + ' in s(test.declarations_model), private, top-level)'],
|
| + lm.declarations.values
|
| + .where((dm) => dm is ClassMirror).map(stringify),
|
| + 'classes');
|
| +
|
| + Expect.setEquals(
|
| + ['Class(s(Class) in s(test.declarations_model), top-level)',
|
| + 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Interface) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Mixin) in s(test.declarations_model), top-level)',
|
| + 'Type(s(Predicate) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Superclass) in s(test.declarations_model), top-level)',
|
| + 'Class(s(_PrivateClass)'
|
| + ' in s(test.declarations_model), private, top-level)'],
|
| + lm.declarations.values.where((dm) => dm is TypeMirror).map(stringify),
|
| + 'types');
|
| +
|
| + Expect.setEquals(
|
| + ['Class(s(Class) in s(test.declarations_model), top-level)',
|
| + 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Interface) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Mixin) in s(test.declarations_model), top-level)',
|
| + 'Type(s(Predicate) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Superclass) in s(test.declarations_model), top-level)',
|
| + 'Method(s(libraryGetter)'
|
| + ' in s(test.declarations_model), top-level, static, getter)',
|
| + 'Method(s(libraryMethod)'
|
| + ' in s(test.declarations_model), top-level, static)',
|
| + 'Method(s(librarySetter=)'
|
| + ' in s(test.declarations_model), top-level, static, setter)',
|
| + 'Variable(s(libraryVariable)'
|
| + ' in s(test.declarations_model), top-level, static)'],
|
| + lm.declarations.values.where((dm) => !dm.isPrivate).map(stringify),
|
| + 'public');
|
| +
|
| + Expect.setEquals(
|
| + ['Class(s(Class) in s(test.declarations_model), top-level)',
|
| + 'Class(s(ConcreteClass) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Interface) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Mixin) in s(test.declarations_model), top-level)',
|
| + 'Type(s(Predicate) in s(test.declarations_model), top-level)',
|
| + 'Class(s(Superclass) in s(test.declarations_model), top-level)',
|
| + 'Class(s(_PrivateClass) in s(test.declarations_model), private, top-level)',
|
| + 'Method(s(_libraryGetter)'
|
| + ' in s(test.declarations_model), private, top-level, static, getter)',
|
| + 'Method(s(_libraryMethod)'
|
| + ' in s(test.declarations_model), private, top-level, static)',
|
| + 'Method(s(_librarySetter=)'
|
| + ' in s(test.declarations_model), private, top-level, static, setter)',
|
| + 'Variable(s(_libraryVariable)'
|
| + ' in s(test.declarations_model), private, top-level, static)',
|
| + 'Method(s(libraryGetter)'
|
| + ' in s(test.declarations_model), top-level, static, getter)',
|
| + 'Method(s(libraryMethod) in s(test.declarations_model), top-level, static)',
|
| + 'Method(s(librarySetter=)'
|
| + ' in s(test.declarations_model), top-level, static, setter)',
|
| + 'Variable(s(libraryVariable)'
|
| + ' in s(test.declarations_model), top-level, static)'],
|
| + lm.declarations.values.map(stringify),
|
| + 'all declarations');
|
| +}
|
|
|