blob: 19a61bf443379dc3b4daf3dc052fcf7f22016b2b [file] [log] [blame]
// 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.
/**
* @assertion factory Uri.file(String path, {bool windows})
* Creates a new file URI from an absolute or relative file path.
* ...
* @description Checks that scheme is added for absolute paths
* @issue 28659
* @author sgrekhov@unipro.ru
*/
import "../../../Utils/expect.dart";
main() {
Uri uri = new Uri.directory(r"/xxx/yyy", windows: false);
Expect.equals(r"/xxx/yyy/", uri.path);
Expect.equals("file", uri.scheme);
uri = new Uri.directory(r"/xxx/yyy", windows: true);
Expect.equals(r"/xxx/yyy/", uri.path);
Expect.equals("file", uri.scheme);
uri = new Uri.directory(r"C:\xxx\yyy", windows: true);
Expect.equals(r"/C:/xxx/yyy/", uri.path);
Expect.equals("file", uri.scheme);
uri = new Uri.directory(r"\xxx\yyy", windows: true);
Expect.equals(r"/xxx/yyy/", uri.path);
Expect.equals("file", uri.scheme);
uri = new Uri.directory(r"\xxx\yyy", windows: true);
Expect.equals(r"/xxx/yyy/", uri.path);
Expect.equals("file", uri.scheme);
uri = new Uri.directory(r"\\server\share\file", windows: true);
Expect.equals(r"/share/file/", uri.path);
Expect.equals(r"server", uri.host);
Expect.equals("file", uri.scheme);
}