| // 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/compiler/shared_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/minitest.dart').toString(), |
| 'package:expect/minitest.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/minitest.dart').toString(), |
| 'package:expect/minitest.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'); |
| }); |
| }); |
| } |