blob: 85e9e9f6db4ef77f740cf1fceb841fd2145642e7 [file] [log] [blame]
// Copyright (c) 2018, 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:_fe_analyzer_shared/src/util/relativize.dart';
import 'package:_fe_analyzer_shared/src/util/resolve_input_uri.dart';
test() {
// data URI scheme is supported by default'.
expect('data', resolveInputUri('data:,foo').scheme);
// Custom Dart schemes are recognized by default.
expect('dart', resolveInputUri('dart:foo').scheme);
expect('package', resolveInputUri('package:foo').scheme);
// Unknown schemes are recognized by default.
expect(isWindows ? 'file' : 'c', resolveInputUri('c:/foo').scheme);
expect('test', resolveInputUri('test:foo').scheme);
expect('org-dartlang-foo', resolveInputUri('org-dartlang-foo:bar').scheme);
expect('test', resolveInputUri('test:/foo').scheme);
expect('org-dartlang-foo', resolveInputUri('org-dartlang-foo:/bar').scheme);
expect(
"${Uri.base.resolve('file.txt')}",
"${resolveInputUri('file:file.txt')}",
);
}
main() {
// Test platform default.
test();
// Test non-Windows behavior.
isWindows = false;
test();
// Test Windows behavior.
isWindows = true;
test();
}
void expect(expected, actual) {
if (expected != actual) {
throw 'Expected $expected, actual $actual';
}
}