<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script src="resources/utilities.js"></script>
</head>
<body>
<script>
if (window.internals && internals.settings)
  internals.settings.setShouldRestrictBaseURLSchemes(false);

description("Test URL segmentation");

cases = [ 
  // [URL, [SCHEME, HOST, PORT, PATH, QUERY, REF]]
  ["http://user:pass@foo:21/bar;par?b#c",    ["http:","foo","21","/bar;par","?b","#c"]],
  ["http:foo.com",                           ["http:","foo.com","","/","",""]],
  ["\\t   :foo.com   \\n",                   [":","","","","",""]],
  [" foo.com  ",                             [":","","","","",""]],
  ["a:\\t foo.com",                          ["a:","",""," foo.com","",""]],
  ["http://f:21/ b ? d # e ",                ["http:","f","21","/%20b%20","?%20d%20","# e"]],
  ["http://f:/c",                            ["http:","f","","/c","",""]],
  ["http://f:0/c",                           ["http:","f","0","/c","",""]],
  ["http://f:00000000000000/c",              ["http:","f","0","/c","",""]],
  ["http://f:00000000000000000000080/c",     ["http:","f","0","/c","",""]],
  ["http://f:b/c",                           [":","","","","",""]],
  ["http://f: /c",                           [":","","","","",""]],
  ["http://f:\\n/c",                         ["http:","f","","/c","",""]],
  ["http://f:fifty-two/c",                   [":","","","","",""]],
  ["http://f:999999/c",                      [":","","0","","",""]],
  ["http://f: 21 / b ? d # e ",              [":","","","","",""]],
  ["",                                       ["data:","","","text/plain,baseURL","",""]],
  ["  \\t",                                  ["data:","","","text/plain,baseURL","",""]],
  [":foo.com/",                              [":","","","","",""]],
  [":foo.com\\\\",                           [":","","","","",""]],
  [":",                                      [":","","","","",""]],
  [":a",                                     [":","","","","",""]],
  [":/",                                     [":","","","","",""]],
  [":\\\\",                                  [":","","","","",""]],
  [":#",                                     [":","","","","",""]],
  ["#",                                      [":","","","","",""]],
  ["#/",                                     [":","","","","",""]],
  ["#\\\\",                                  [":","","","","",""]],
  ["#;?",                                    [":","","","","",""]],
  ["?",                                      [":","","","","",""]],
  ["/",                                      [":","","","","",""]],
  [":23",                                    [":","","","","",""]],
  ["/:23",                                   ["data:","","","/:23","",""]],
  ["//",                                     [":","","","","",""]],
  ["::",                                     [":","","","","",""]],
  ["::23",                                   [":","","","","",""]],
  ["foo://",                                 ["foo:","","","//","",""]],
  ["http://a:b@c:29/d",                      ["http:","c","29","/d","",""]],
  ["http::@c:29",                            ["http:","c","29","/","",""]],
  ["http://&a:foo(b]c@d:2/",                 ["http:","d","2","/","",""]],
  ["http://::@c@d:2",                        ["http:","d","2","/","",""]],
  ["http://foo.com:b@d/",                    ["http:","d","","/","",""]],
  ["http://foo.com/\\\\@",                   ["http:","foo.com","","//@","",""]],
  ["http:\\\\\\\\foo.com\\\\",               ["http:","foo.com","","/","",""]],
  ["http:\\\\\\\\a\\\\b:c\\\\d@foo.com\\\\", ["http:","a","","/b:c/d@foo.com/","",""]],
  ["foo:/",                                  ["foo:","","","/","",""]],
  ["foo:/bar.com/",                          ["foo:","","","/bar.com/","",""]],
  ["foo://///////",                          ["foo:","","","/////////","",""]],
  ["foo://///////bar.com/",                  ["foo:","","","/////////bar.com/","",""]],
  ["foo:////://///",                         ["foo:","","","////://///","",""]],
  ["c:/foo",                                 ["c:","","","/foo","",""]],
  ["//foo/bar",                              [":","","","","",""]],
  ["http://foo/path;a??e#f#g",               ["http:","foo","","/path;a","??e","#f#g"]],
  ["http://foo/abcd?efgh?ijkl",              ["http:","foo","","/abcd","?efgh?ijkl",""]],
  ["http://foo/abcd#foo?bar",                ["http:","foo","","/abcd","","#foo?bar"]],
  ["[61:24:74]:98",                          ["data:","","","text/[61:24:74]:98","",""]],
  ["http://[61:27]:98",                      [":","","0","","",""]],
  ["http:[61:27]/:foo",                      [":","","","","",""]],
  ["http://[1::2]:3:4",                      [":","","","","",""]],
  ["http://2001::1",                         [":","","","","",""]],
  ["http://[2001::1",                        [":","","","","",""]],
  ["http://2001::1]",                        [":","","","","",""]],
  ["http://2001::1]:80",                     [":","","","","",""]],
  ["http://[2001::1]",                       ["http:","[2001::1]","","/","",""]],
  ["http://[2001::1]:80",                    ["http:","[2001::1]","","/","",""]],
  ["http://[[::]]",                          [":","","","","",""]],
];

var originalBaseURL = canonicalize(".");
setBaseURL("data:text/plain,baseURL");

for (var i = 0; i < cases.length; ++i) {
  shouldBe("segments('" + cases[i][0] + "')",
           "'" + JSON.stringify(cases[i][1]) + "'");
}

setBaseURL(originalBaseURL);
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
