| // Copyright (c) 2017, 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 'dart:io'; | |
| import 'package:dev_compiler/src/command/command.dart'; | |
| import 'package:test/test.dart'; | |
| void main(List<String> args) { | |
| late String currentDir; | |
| setUpAll(() { | |
| currentDir = Directory.current.path.replaceAll(r'\', r'/'); | |
| if (!currentDir.startsWith(r'/')) currentDir = '/$currentDir'; | |
| }); | |
| group('sourcePathToUri', () { | |
| test('various URL schemes', () { | |
| expect(sourcePathToUri('dart:io').toString(), 'dart:io'); | |
| expect( | |
| sourcePathToUri('package:expect/expect.dart').toString(), | |
| 'package:expect/expect.dart', | |
| ); | |
| expect(sourcePathToUri('foobar:whatnot').toString(), 'foobar:whatnot'); | |
| }); | |
| test('full Windows path', () { | |
| expect( | |
| sourcePathToUri( | |
| 'C:\\full\\windows\\path.foo', | |
| windows: true, | |
| ).toString(), | |
| 'file:///C:/full/windows/path.foo', | |
| ); | |
| expect( | |
| sourcePathToUri('C:/full/windows/path.foo', windows: true).toString(), | |
| 'file:///C:/full/windows/path.foo', | |
| ); | |
| }); | |
| test('relative Windows path', () { | |
| expect( | |
| sourcePathToUri('partial\\windows\\path.foo', windows: true).toString(), | |
| 'file://$currentDir/partial/windows/path.foo', | |
| ); | |
| }); | |
| test('full unix path', () { | |
| expect( | |
| sourcePathToUri('/full/path/to/foo.bar', windows: false).toString(), | |
| 'file:///full/path/to/foo.bar', | |
| ); | |
| }); | |
| test('relative unix path', () { | |
| expect( | |
| sourcePathToUri('partial/path/to/foo.bar', windows: false).toString(), | |
| 'file://$currentDir/partial/path/to/foo.bar', | |
| ); | |
| }); | |
| }); | |
| group('sourcePathToRelativeUri', () { | |
| test('various URL schemes', () { | |
| expect(sourcePathToRelativeUri('dart:io').toString(), 'dart:io'); | |
| expect( | |
| sourcePathToRelativeUri('package:expect/expect.dart').toString(), | |
| 'package:expect/expect.dart', | |
| ); | |
| expect( | |
| sourcePathToRelativeUri('foobar:whatnot').toString(), | |
| 'foobar:whatnot', | |
| ); | |
| }); | |
| test('full Windows path', () { | |
| expect( | |
| sourcePathToRelativeUri( | |
| 'C:\\full\\windows\\path.foo', | |
| windows: true, | |
| ).toString(), | |
| 'file:///C:/full/windows/path.foo', | |
| ); | |
| expect( | |
| sourcePathToRelativeUri( | |
| 'C:/full/windows/path.foo', | |
| windows: true, | |
| ).toString(), | |
| 'file:///C:/full/windows/path.foo', | |
| ); | |
| }); | |
| test('relative Windows path', () { | |
| expect( | |
| sourcePathToRelativeUri( | |
| 'partial\\windows\\path.foo', | |
| windows: true, | |
| ).toString(), | |
| 'partial/windows/path.foo', | |
| ); | |
| }); | |
| test('full unix path', () { | |
| expect( | |
| sourcePathToRelativeUri( | |
| '/full/path/to/foo.bar', | |
| windows: false, | |
| ).toString(), | |
| 'file:///full/path/to/foo.bar', | |
| ); | |
| }); | |
| test('relative unix path', () { | |
| expect( | |
| sourcePathToRelativeUri( | |
| 'partial/path/to/foo.bar', | |
| windows: false, | |
| ).toString(), | |
| 'partial/path/to/foo.bar', | |
| ); | |
| }); | |
| }); | |
| } |