// Copyright (c) 2013, 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"; void testInvalidArguments() { Expect.throwsFormatException(() => new Uri(scheme: "_")); Expect.throwsFormatException(() => new Uri(scheme: "http_s")); Expect.throwsFormatException(() => new Uri(scheme: "127.0.0.1:80")); } void testScheme() { test(String expectedScheme, String expectedUri, String scheme) { var uri = new Uri(scheme: scheme); Expect.equals(expectedScheme, uri.scheme); Expect.equals(expectedUri, uri.toString()); uri = Uri.parse("$scheme:"); Expect.equals(expectedScheme, uri.scheme); Expect.equals(expectedUri, uri.toString()); } test("http", "http:", "http"); test("http", "http:", "HTTP"); test("http", "http:", "hTTP"); test("http", "http:", "Http"); test("http+ssl", "http+ssl:", "HTTP+ssl"); test("urn", "urn:", "urn"); test("urn", "urn:", "UrN"); test("a123.432", "a123.432:", "a123.432"); } main() { testInvalidArguments(); testScheme(); }