// 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. // @dart = 2.9 import 'package:_fe_analyzer_shared/src/util/relativize.dart'; import 'package:expect/expect.dart' show Expect; import 'package:front_end/src/fasta/resolve_input_uri.dart'; test() { // data URI scheme is supported by default'. Expect.stringEquals('data', resolveInputUri('data:,foo').scheme); // Custom Dart schemes are recognized by default. Expect.stringEquals('dart', resolveInputUri('dart:foo').scheme); Expect.stringEquals('package', resolveInputUri('package:foo').scheme); // Unknown schemes are recognized by default. Expect.stringEquals( isWindows ? 'file' : 'c', resolveInputUri('c:/foo').scheme); Expect.stringEquals('test', resolveInputUri('test:foo').scheme); Expect.stringEquals( 'org-dartlang-foo', resolveInputUri('org-dartlang-foo:bar').scheme); Expect.stringEquals('test', resolveInputUri('test:/foo').scheme); Expect.stringEquals( 'org-dartlang-foo', resolveInputUri('org-dartlang-foo:/bar').scheme); Expect.stringEquals( "${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(); }