dart-sdk/tests/lib/mirrors/library_uri_io_test.dart
Alexander Markov 89ee3c8e2a [test] Fix lib/mirrors/library_uri_io_test to pass when running not from source
This test was assuming that Platform.script would be equal to library
URI, but this is not the case when running from a dill file or a
snapshot.

Change-Id: I0ff2249b5b5301d6463ceca48097df7cb64e78b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167501
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-10-14 00:54:17 +00:00

34 lines
1 KiB
Dart

// 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.
// Test library uri for a library read as a file.
library MirrorsTest;
import 'dart:io';
import 'dart:mirrors';
import 'package:async_helper/async_minitest.dart';
class Class {}
testLibraryUri(var value, Uri expectedUri) {
var valueMirror = reflect(value);
ClassMirror valueClass = valueMirror.type;
LibraryMirror valueLibrary = valueClass.owner as LibraryMirror;
expect(valueLibrary.uri, equals(expectedUri));
}
main() {
var mirrors = currentMirrorSystem();
test("Test current library uri", () {
if (!Platform.script.toString().endsWith('.dart')) {
print("Skipping library uri test as not running from source "
"(Platform.script = ${Platform.script})");
return;
}
Uri uri = Uri.base.resolveUri(Platform.script);
testLibraryUri(new Class(), uri);
});
}