dart-sdk/tests/dartdevc/libraries_test.dart
Nicholas Shahan b82465111c [test,ddc] Update library test to use static method
The test was relying on the runtime type representation to verify
that the library object returned from `getLibrary` was correct. Now
it uses the static `print()` method instead to avoid issues in the new
type system.

Change-Id: Iaa26427e46afd0e7f4ae0a84cb4c123755484647
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335023
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-11-10 20:39:00 +00:00

36 lines
1.3 KiB
Dart

// 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 getLibraries()
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'));
// 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);
Expect.equals(print, printMethod);
}