http://qs321.pair.com?node_id=386884

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_h +arness(1, 'blib/lib', 'blib/arch')" t/*.t t/abs............1..45 URI->new("g:h")->abs("http://a/b/c/d;p?q") ==> "g:h" URI->new("g:h")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 1 URI->new("g")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g" URI->new("g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 2 URI->new("./g")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g" URI->new("./g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 3 URI->new("g/")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g/" URI->new("g/")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 4 URI->new("/g")->abs("http://a/b/c/d;p?q") ==> "http://a/g" URI->new("/g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 5 URI->new("//g")->abs("http://a/b/c/d;p?q") ==> "http://g" URI->new("//g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 6 URI->new("?y")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/d;p?y" URI->new("?y")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 7 URI->new("g?y")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g?y" URI->new("g?y")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 8 URI->new("#s")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/d;p?q#s" URI->new("#s")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 9 URI->new("g#s")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g#s" URI->new("g#s")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 10 URI->new("g?y#s")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g?y#s" URI->new("g?y#s")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 11 URI->new(";x")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/;x" URI->new(";x")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 12 URI->new("g;x")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g;x" URI->new("g;x")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 13 URI->new("g;x?y#s")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g;x?y +#s" URI->new("g;x?y#s")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 14 URI->new(".")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/" URI->new(".")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 15 URI->new("./")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/" URI->new("./")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 16 URI->new("..")->abs("http://a/b/c/d;p?q") ==> "http://a/b/" URI->new("..")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 17 URI->new("../")->abs("http://a/b/c/d;p?q") ==> "http://a/b/" URI->new("../")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 18 URI->new("../g")->abs("http://a/b/c/d;p?q") ==> "http://a/b/g" URI->new("../g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 19 URI->new("../..")->abs("http://a/b/c/d;p?q") ==> "http://a/" URI->new("../..")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 20 URI->new("../../")->abs("http://a/b/c/d;p?q") ==> "http://a/" URI->new("../../")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 21 URI->new("../../g")->abs("http://a/b/c/d;p?q") ==> "http://a/g" URI->new("../../g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 22 URI->new("<>")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/d;p?q" URI->new("<>")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 23 URI->new("../../../g")->abs("http://a/b/c/d;p?q") ==> "http://a/../g" URI->new("../../../g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 24 URI->new("../../../../g")->abs("http://a/b/c/d;p?q") ==> "http://a/../ +../g" URI->new("../../../../g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 25 URI->new("/./g")->abs("http://a/b/c/d;p?q") ==> "http://a/./g" URI->new("/./g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 26 URI->new("/../g")->abs("http://a/b/c/d;p?q") ==> "http://a/../g" URI->new("/../g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 27 URI->new("g.")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g." URI->new("g.")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 28 URI->new(".g")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/.g" URI->new(".g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 29 URI->new("g..")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g.." URI->new("g..")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 30 URI->new("..g")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/..g" URI->new("..g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 31 URI->new("./../g")->abs("http://a/b/c/d;p?q") ==> "http://a/b/g" URI->new("./../g")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 32 URI->new("./g/.")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g/" URI->new("./g/.")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 33 URI->new("g/./h")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g/h" URI->new("g/./h")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 34 URI->new("g/../h")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/h" URI->new("g/../h")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 35 URI->new("g;x=1/./y")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g;x +=1/y" URI->new("g;x=1/./y")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 36 URI->new("g;x=1/../y")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/y" URI->new("g;x=1/../y")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 37 URI->new("g?y/./x")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g?y/. +/x" URI->new("g?y/./x")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 38 URI->new("g?y/../x")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g?y/ +../x" URI->new("g?y/../x")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 39 URI->new("g#s/./x")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g#s/. +/x" URI->new("g#s/./x")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 40 URI->new("g#s/../x")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/g#s/ +../x" URI->new("g#s/../x")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 41 URI->new("http:g")->abs("http://a/b/c/d;p?q") ==> "http:g" not ok 42 URI->new("http:")->abs("http://a/b/c/d;p?q") ==> "http:" not ok 43 URI->new("#foo?")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/d;p?q#f +oo?" URI->new("#foo?")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 44 URI->new("?#foo")->abs("http://a/b/c/d;p?q") ==> "http://a/b/c/d;p?#fo +o" URI->new("?#foo")->abs(URI->new("http://a/b/c/d;p?q"), 1) not ok 45 In the following cases we did not get back to where we started with re +l() 3: URI->new("http://a/b/c/g ", "http://a/b/c/d;p?q")->rel ==> "g" (not "./g") 5: URI->new("http://a/g ", "http://a/b/c/d;p?q")->rel ==> "../../g" (not "/g") 6: URI->new("http://g ", "http://a/b/c/d;p?q")->rel ==> "http://g" (not "//g") 7: URI->new("http://a/b/c/d;p?y ", "http://a/b/c/d;p?q")->rel ==> "d;p?y" (not "?y") 9: URI->new("http://a/b/c/d;p?q#s ", "http://a/b/c/d;p?q")->rel ==> "d;p?q#s" (not "#s") 15: URI->new("http://a/b/c/ ", "http://a/b/c/d;p?q")->rel ==> "./" (not ".") 17: URI->new("http://a/b/ ", "http://a/b/c/d;p?q")->rel ==> "../" (not "..") 20: URI->new("http://a/ ", "http://a/b/c/d;p?q")->rel ==> "../../" (not "../..") 23: URI->new("http://a/b/c/d;p?q ", "http://a/b/c/d;p?q")->rel ==> "d;p?q" (not "<>") 26: URI->new("http://a/./g ", "http://a/b/c/d;p?q")->rel ==> "../.././g" (not "/./g") 27: URI->new("http://a/../g ", "http://a/b/c/d;p?q")->rel ==> "../../../g" (not "/../g") 32: URI->new("http://a/b/g ", "http://a/b/c/d;p?q")->rel ==> "../g" (not "./../g") 33: URI->new("http://a/b/c/g/ ", "http://a/b/c/d;p?q")->rel ==> "g/" (not "./g/.") 34: URI->new("http://a/b/c/g/h ", "http://a/b/c/d;p?q")->rel ==> "g/h" (not "g/./h") 35: URI->new("http://a/b/c/h ", "http://a/b/c/d;p?q")->rel ==> "h" (not "g/../h") 36: URI->new("http://a/b/c/g;x=1/y ", "http://a/b/c/d;p?q")->rel ==> "g;x=1/y" (not "g;x=1/./y") 37: URI->new("http://a/b/c/y ", "http://a/b/c/d;p?q")->rel ==> "y" (not "g;x=1/../y") 44: URI->new("http://a/b/c/d;p?q#foo? ", "http://a/b/c/d;p?q")->rel ==> "d;p?q#foo?" (not "#foo?") 45: URI->new("http://a/b/c/d;p?#foo ", "http://a/b/c/d;p?q")->rel ==> "d;p?#foo" (not "?#foo") FAILED tests 1-45 Failed 45/45 tests, 0.00% okay