| // Copyright (c) 2019, 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 'package:expect/expect.dart'; | |
| import 'dart:_foreign_helper' show JS; | |
| import 'dart:_runtime' as dart; | |
| part 'libraries_part.dart'; | |
| void main() { | |
| // Test getLibrary(...) | |
| var core = dart.getLibrary('dart:core'); | |
| // Using the print method to verify we get the same library object. | |
| // The print method is only used here because we know it is a member of the | |
| // dart:core library. | |
| var printMethod = JS('', '#.print', core); | |
| // Tearoffs are wrapped, so we must extract their bound method. | |
| var printTearoff = print; | |
| Expect.equals(JS('', '#._boundMethod', printTearoff), printMethod); | |
| // Test getLibraries() | |
| // Note that we call `getLibraries` after an access to `Expect` as DDC may | |
| // lazily load `package:expect/expect.dart`. | |
| var libraries = dart.getLibraries(); | |
| Expect.isTrue(libraries.contains('dart:core')); | |
| Expect.isTrue(libraries.contains('package:expect/expect.dart')); | |
| // Test getParts(...) | |
| var expectParts = dart.getParts('package:expect/expect.dart'); | |
| Expect.isTrue(expectParts.isEmpty); | |
| var testLibraries = libraries | |
| .where((l) => l.endsWith('libraries_test.dart')) | |
| .toList(); | |
| Expect.isTrue(testLibraries.length == 1); | |
| var testParts = dart.getParts(testLibraries.first); | |
| Expect.isTrue(testParts.length == 1); | |
| Expect.isTrue(testParts.first.endsWith('libraries_part.dart')); | |
| } |