Index: tests/lib/mirrors/library_imports_deferred_test.dart |
diff --git a/tests/lib/mirrors/library_imports_deferred_test.dart b/tests/lib/mirrors/library_imports_deferred_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..be0cef9d096a38430f3d2f5b4f6d440477b6bc49 |
--- /dev/null |
+++ b/tests/lib/mirrors/library_imports_deferred_test.dart |
@@ -0,0 +1,44 @@ |
+// Copyright (c) 2015, 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_imports_deferred; |
+ |
+import 'dart:mirrors'; |
+import 'package:expect/expect.dart'; |
+import 'stringify.dart'; |
+ |
+import 'dart:collection' as eagercollection; |
+import 'dart:collection' deferred as lazycollection; |
+ |
+test(MirrorSystem mirrors) { |
+ LibraryMirror thisLibrary = |
+ mirrors.findLibrary(#test.library_imports_deferred); |
+ LibraryMirror collection = |
+ mirrors.findLibrary(#dart.collection); |
+ |
+ var importsOfCollection = thisLibrary.libraryDependencies.where( |
+ (dep) => dep.targetLibrary == collection).toList(); |
+ Expect.equals(2, importsOfCollection.length); |
+ Expect.notEquals(importsOfCollection[0].isDeferred, |
+ importsOfCollection[1].isDeferred); // One deferred, one not. |
+ |
+ // Only collection is defer-imported. |
+ LibraryDependencyMirror dep = |
+ thisLibrary.libraryDependencies.singleWhere((dep) => dep.isDeferred); |
+ Expect.equals(collection, dep.targetLibrary); |
+ |
+ Expect.stringEquals( |
+ 'import dart.collection as eagercollection\n' |
+ 'import dart.collection deferred as lazycollection\n' |
+ ' hide loadLibrary\n' |
+ 'import dart.core\n' |
+ 'import dart.mirrors\n' |
+ 'import expect\n' |
+ 'import test.stringify\n', |
+ stringifyDependencies(thisLibrary)); |
+} |
+ |
+main() { |
+ test(currentMirrorSystem()); |
+} |