blob: a2bf5634b8e7e1c298ca5034255680e88e7cf7b7 [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 bool hasScheme
/// Returns whether the URI has a scheme component.
///
/// @description Checks that this property returns true if the URI has a scheme
/// component.
/// @author sgrekhov@unipro.ru
import "../../../Utils/expect.dart";
main() {
var uri = new Uri(path: "index.dart");
Expect.isFalse(uri.hasScheme);
uri = new Uri(path: "foo://bar");
Expect.isFalse(uri.hasScheme);
uri = new Uri(port: 123);
Expect.isFalse(uri.hasScheme);
uri = new Uri(query: "a=1&b=2");
Expect.isFalse(uri.hasScheme);
uri = new Uri(scheme: "http");
Expect.isTrue(uri.hasScheme);
uri = new Uri(scheme: "foo");
Expect.isTrue(uri.hasScheme);
uri = new Uri(scheme: "HTTPS");
Expect.isTrue(uri.hasScheme);
uri = Uri.parse("https://www.dartlang.org/");
Expect.isTrue(uri.hasScheme);
uri = Uri.parse("foo://bar");
Expect.isTrue(uri.hasScheme);
uri = Uri.parse("/a/b/c/index.dart?a=1#mark");
Expect.isFalse(uri.hasScheme);
uri = Uri.parse("a/b/c/index.dart?#mark");
Expect.isFalse(uri.hasScheme);
uri = Uri.parse("a/b/c/index.dart?");
Expect.isFalse(uri.hasScheme);
uri = Uri.parse("https://www.dartlang.org:123/?x");
Expect.isTrue(uri.hasScheme);
uri = Uri.parse("http://www.dartlang.org:123/a/index.dart?a=1#mark");
Expect.isTrue(uri.hasScheme);
}