| // Copyright (c) 2014, 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. |
| |
| // @dart = 2.9 |
| |
| library test.library_imports; |
| |
| import 'dart:mirrors'; |
| import 'package:expect/expect.dart'; |
| import 'stringify.dart'; |
| |
| import 'library_imports_metadata.dart'; |
| |
| main() { |
| LibraryMirror lib = |
| currentMirrorSystem().findLibrary(#library_imports_metadata); |
| |
| LibraryMirror core = currentMirrorSystem().findLibrary(#dart.core); |
| LibraryMirror mirrors = currentMirrorSystem().findLibrary(#dart.mirrors); |
| LibraryMirror collection = |
| currentMirrorSystem().findLibrary(#dart.collection); |
| LibraryMirror async = currentMirrorSystem().findLibrary(#dart.async); |
| |
| Expect.setEquals([core, mirrors, collection, async], |
| lib.libraryDependencies.map((dep) => dep.targetLibrary)); |
| |
| Expect.stringEquals( |
| 'import dart.async\n' |
| 'import dart.collection\n' |
| 'import dart.core\n' |
| 'import dart.mirrors as mirrors\n', |
| stringifyDependencies(lib)); |
| |
| Expect.listEquals( |
| [].map(reflect).toList(), |
| lib.libraryDependencies |
| .singleWhere((dep) => dep.targetLibrary == core) |
| .metadata); |
| |
| Expect.listEquals( |
| [m1].map(reflect).toList(), |
| lib.libraryDependencies |
| .singleWhere((dep) => dep.targetLibrary == mirrors) |
| .metadata); |
| |
| Expect.listEquals( |
| [m2, m3].map(reflect).toList(), |
| lib.libraryDependencies |
| .singleWhere((dep) => dep.targetLibrary == collection) |
| .metadata); |
| |
| Expect.listEquals( |
| [].map(reflect).toList(), |
| lib.libraryDependencies |
| .singleWhere((dep) => dep.targetLibrary == async) |
| .metadata); |
| } |