blob: 1230cfdce86c33f6aff144bda5efa00785fd4dc4 [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);
}