Files
sdk/tests/standalone/io/uri_platform_test.dart
T
Jonas Termansen 3433d8cfc3 [nnbd] Migrate standalone/io to NNBD.
The tests are also now dartfmt.

Bug: https://github.com/dart-lang/sdk/issues/40040
Change-Id: I8dece8097b37b70d47a5374dae2f3fadb0fc4b90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134338
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-02-07 14:41:36 +00:00

49 lines
2.3 KiB
Dart

// Copyright (c) 2012, 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:expect/expect.dart";
import 'package:path/path.dart' as path;
import "dart:io";
main() {
if (Platform.isWindows) {
Expect.equals("a\\b", Uri.parse("a/b").toFilePath());
Expect.equals("a\\b\\", Uri.parse("a/b/").toFilePath());
Expect.equals("a b", Uri.parse("a%20b").toFilePath());
Expect.equals("\\a b", Uri.parse("file:///a%20b").toFilePath());
Expect.equals("\\a\\b", Uri.parse("file:///a/b").toFilePath());
Expect.equals("C:\\", Uri.parse("file:///C:").toFilePath());
Expect.equals("C:\\", Uri.parse("file:///C:/").toFilePath());
Expect.equals("\\\\host\\a\\b", Uri.parse("file://host/a/b").toFilePath());
Expect.equals("a\\b", new Uri.file("a/b").toFilePath());
Expect.equals("a\\b", new Uri.file("a\\b").toFilePath());
Expect.equals("\\a\\b", new Uri.file("/a/b").toFilePath());
Expect.equals("\\a\\b", new Uri.file("\\a\\b").toFilePath());
Expect.equals("\\a\\b", new Uri.file("\\a/b").toFilePath());
Expect.equals("\\a\\b", new Uri.file("/a\\b").toFilePath());
} else {
Expect.equals("a/b", Uri.parse("a/b").toFilePath());
Expect.equals("a/b/", Uri.parse("a/b/").toFilePath());
Expect.equals("a b", Uri.parse("a%20b").toFilePath());
Expect.equals("/a b", Uri.parse("file:///a%20b").toFilePath());
Expect.equals("/a/b", Uri.parse("file:///a/b").toFilePath());
Expect.equals("/C:", Uri.parse("file:///C:").toFilePath());
Expect.equals("/C:/", Uri.parse("file:///C:/").toFilePath());
Expect.throwsUnsupportedError(
() => Uri.parse("file://host/a/b").toFilePath());
Expect.equals("a/b", new Uri.file("a/b").toFilePath());
Expect.equals("a\\b", new Uri.file("a\\b").toFilePath());
}
// If the current path is only the root prefix (/ (or c:\), then don't add a
// separator at the end.
Expect.equals(
Uri.base,
(Directory.current.path.toString() !=
path.rootPrefix(Directory.current.path.toString()))
? new Uri.file(Directory.current.path + Platform.pathSeparator)
: new Uri.file(Directory.current.path));
}