2023-01-06T14:41 2023-01-06T14:41 1..26 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 PASS: t/heuristic ok 1 - path_segments in list context ok 2 - path_segments in scalar context ok 3 - set path_segments in list context ok 4 - set path_segments in scalar context ok 5 - set path_segments in void context ok 6 - escaping special characters ok 7 - An object of class 'URI::_segment' isa 'URI::_segment' ok 8 - dealing with URI segments 1..8 PASS: t/path-segments 1..48 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 ok 46 ok 47 ok 48 PASS: t/generic 1..8 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 PASS: t/mms 1..9 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 PASS: t/rtsp not ok 1 - correctly created a URI from a utf8-upgraded string # TODO URI::Escape::escape_char misunderstands utf8 # Failed (TODO) test 'correctly created a URI from a utf8-upgraded string' # at t/escape-char.t line 17. # got: 'http://foo/%C3%A9' # expected: 'http://foo/%E9' ok 2 - correctly created a URI from a utf8-downgrade string 1..2 PASS: t/escape-char 1..22 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 PASS: t/data 1..48 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 ok 46 ok 47 ok 48 PASS: t/gopher 1..1 # # Versions for all modules listed in static metadata (including optional ones): # # === Configure Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.64 # # === Configure Suggests === # # Module Want Have # -------- ------- ---- # JSON::PP 2.27300 4.07 # # === Test Requires === # # Module Want Have # --------------------- ---- -------- # ExtUtils::MakeMaker any 7.64 # File::Spec any 3.84 # File::Spec::Functions any 3.84 # File::Temp any 0.2311 # Test any 1.31 # Test::More 0.96 1.302190 # Test::Needs any 0.002009 # utf8 any 1.24 # # === Test Recommends === # # Module Want Have # ---------- -------- -------- # CPAN::Meta 2.120900 2.150010 # # === Runtime Requires === # # Module Want Have # ------------ ---- ----- # Carp any 1.52 # Cwd any 3.84 # Data::Dumper any 2.184 # Encode any 3.17 # Exporter 5.57 5.77 # MIME::Base64 2 3.16 # Net::Domain any 3.14 # Scalar::Util any 1.62 # constant any 1.33 # integer any 1.01 # overload any 1.35 # parent any 0.238 # strict any 1.12 # utf8 any 1.24 # warnings any 1.58 # ok 1 - Reported prereqs PASS: t/00-report-prereqs ok 1 - host ok 2 - port 1..2 PASS: t/ipv6 1..3 # store # retrieve ok 1 ok 2 ok 3 PASS: t/storable ok 1 - == ok 2 - != 1..2 PASS: t/num_eq 1..11 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 PASS: t/sip 1..102 # Running under perl version 5.036000 for linux # Current time local: Fri Jan 6 14:41:30 2023 # Current time GMT: Fri Jan 6 14:41:30 2023 # Using Test.pm version 1.31 # t/roytest1.html ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 # t/roytest2.html ok 43 ok 44 ok 45 ok 46 ok 47 ok 48 ok 49 ok 50 ok 51 ok 52 ok 53 ok 54 ok 55 ok 56 ok 57 ok 58 ok 59 # t/roytest3.html ok 60 ok 61 ok 62 ok 63 ok 64 ok 65 ok 66 ok 67 ok 68 ok 69 ok 70 ok 71 ok 72 # t/roytest4.html ok 73 ok 74 ok 75 ok 76 ok 77 ok 78 ok 79 ok 80 ok 81 ok 82 ok 83 ok 84 ok 85 ok 86 ok 87 # t/roytest5.html ok 88 ok 89 ok 90 ok 91 ok 92 ok 93 ok 94 ok 95 ok 96 ok 97 ok 98 ok 99 ok 100 ok 101 ok 102 PASS: t/roy-test 1..12 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 PASS: t/old-file 1..15 ok 1 - http://en.wikipedia.org/wiki/Punycode example encode ok 2 - http://en.wikipedia.org/wiki/Punycode example decode ok 3 - A encode ok 4 - A decode ok 5 - B encode ok 6 - B decode ok 7 - E encode ok 8 - E decode ok 9 - J encode ok 10 - J decode ok 11 - K encode ok 12 - K decode ok 13 - O encode ok 14 - O decode ok 15 - S encode PASS: t/punycode 1..16 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 PASS: t/http 1..6 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 PASS: t/rel 1..7 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 PASS: t/idna 1..19 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 PASS: t/rfc2732 1..26 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 not ok 22 # TODO some chars (like U+202E, RIGHT-TO-LEFT OVERRIDE) need to stay escaped # Failed (TODO) test at t/iri.t line 65. # got: 'http://納豆.example.org/‮' # expected: 'http://納豆.example.org/%e2%80%ae' ok 23 ok 24 not ok 25 # TODO should ihost decode UTF8 bytes? # Failed (TODO) test at t/iri.t line 74. # got: 'üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' # expected: 'üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' ok 26 PASS: t/iri 1..13 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 PASS: t/ftp 1..5 http://www.acme.com/foo/bar http://www.acme.com/foo/ http://www.acme.com/foo/zoo/foo ok 1 ok 2 ok 3 uri:/foo ok 4 ok 5 PASS: t/old-relbase 1..23 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 PASS: t/query 1..19 ok 1 - query_form_hash get ok 2 - query_form_hash set ok 3 - query_param list keys ok 4 - query_param scalar return ok 5 - query_param list return ok 6 - query_param set return ok 7 - param order ok 8 - old values returned ok 9 ok 10 - query_param_delete ok 11 ok 12 ok 13 - delete by assigning empty list ok 14 - query_param from scratch ok 15 ok 16 ok 17 ok 18 ok 19 PASS: t/query-param 1..6 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 PASS: t/mix 1..45 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 In the following cases we did not get back to where we started with rel() 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") PASS: t/abs 1..24 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ldap://LDAP-HOST:389/o=University%20of%20Michigan,c=US?postalAddress?base?ObjectClass=*?FOO=Bar,bindname=CN%3DManager%CO%3dFoo ldap://ldap-host/o=University%20of%20Michigan,c=US?postaladdress???foo=Bar,bindname=CN=Manager%CO=Foo ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 PASS: t/ldap 1..8 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 PASS: t/pop ok 1 ok 2 ok 3 ok 4 ok 5 1..5 PASS: t/utf8 1..8 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 PASS: t/news ok 1 - Query parameters are sorted 1..1 PASS: t/sort-hash-query-form 1..4 ok 1 ok 2 ok 3 ok 4 PASS: t/urn-oid 1..2 ok 1 ok 2 PASS: t/clone 1..12 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 PASS: t/escape 1..4 ok 1 ok 2 ok 3 ok 4 PASS: t/rsync # Turn lib path . into /usr/lib/liburi-perl/ptest/. # Self tests for URI::URL version 5.08... # Subtest: scheme tests # Testing 'file://host/fseg/fs?g/fseg' ok 1 - URI::URL->as_string ok 2 - URI::URL->host ok 3 - URI::URL->path # Testing 'ftp://0%3A:%40@h:0/0?0' ok 4 - URI::URL->host ok 5 - URI::URL->user ok 6 - URI::URL->scheme ok 7 - URI::URL->port ok 8 - URI::URL->query ok 9 - URI::URL->netloc ok 10 - URI::URL->as_string ok 11 - URI::URL->params ok 12 - URI::URL->password ok 13 - URI::URL->path # Testing 'ftp://host/a/b' ok 14 - URI::URL->host ok 15 - URI::URL->path ok 16 - URI::URL->user ok 17 - URI::URL->port ok 18 - URI::URL->as_string # Testing 'ftp://usr:pswd@web:1234/a/b;type=i' ok 19 - URI::URL->user ok 20 - URI::URL->host ok 21 - URI::URL->as_string ok 22 - URI::URL->port ok 23 - URI::URL->path ok 24 - URI::URL->params ok 25 - URI::URL->password # Testing 'gopher://gopher/2a_selector' ok 26 - URI::URL->gtype ok 27 - URI::URL->as_string ok 28 - URI::URL->selector # Testing 'gopher://host' ok 29 - URI::URL->gtype ok 30 - URI::URL->as_string # Testing 'gopher://host/' ok 31 - URI::URL->gtype ok 32 - URI::URL->as_string # Testing 'hTTp://web1.net/a/b/c/welcome#intro' ok 33 - URI::URL->params ok 34 - URI::URL->frag ok 35 - URI::URL->equery ok 36 - URI::URL->epath ok 37 - URI::URL->host ok 38 - URI::URL->port ok 39 - URI::URL->scheme ok 40 - URI::URL->query ok 41 - URI::URL->full_path ok 42 - URI::URL->as_string ok 43 - URI::URL->eparams ok 44 - URI::URL->path # Testing 'http://0:0/0/0;0?0#0' ok 45 - URI::URL->netloc ok 46 - URI::URL->query ok 47 - URI::URL->as_string ok 48 - URI::URL->port ok 49 - URI::URL->scheme ok 50 - URI::URL->host ok 51 - URI::URL->path ok 52 - URI::URL->frag ok 53 - URI::URL->params # Testing 'http://web.net' ok 54 - URI::URL->path ok 55 - URI::URL->frag ok 56 - URI::URL->scheme ok 57 - URI::URL->port ok 58 - URI::URL->full_path ok 59 - URI::URL->as_string ok 60 - URI::URL->query ok 61 - URI::URL->host # Testing 'http://web.net/' ok 62 - URI::URL->as_string ok 63 - URI::URL->full_path ok 64 - URI::URL->query ok 65 - URI::URL->scheme ok 66 - URI::URL->port ok 67 - URI::URL->host ok 68 - URI::URL->frag ok 69 - URI::URL->path # Testing 'http://web:1/a?query+text' ok 70 - URI::URL->query ok 71 - URI::URL->scheme ok 72 - URI::URL->port ok 73 - URI::URL->path ok 74 - URI::URL->frag ok 75 - URI::URL->host # Testing 'http:/0?0' ok 76 - URI::URL->scheme ok 77 - URI::URL->as_string ok 78 - URI::URL->full_path ok 79 - URI::URL->query ok 80 - URI::URL->path # Testing 'http:0' ok 81 - URI::URL->scheme ok 82 - URI::URL->as_string ok 83 - URI::URL->full_path ok 84 - URI::URL->query ok 85 - URI::URL->path # Testing 'mailto:libwww-perl@ics.uci.edu' ok 86 - URI::URL->address ok 87 - URI::URL->encoded822addr ok 88 - URI::URL->as_string # Testing 'news:*' ok 89 - URI::URL->as_string ok 90 - URI::URL->groupart ok 91 - URI::URL->group # Testing 'news:comp.lang.perl' ok 92 - URI::URL->group # Testing 'news:perl-faq/module-list-1-794455075@ig.co.uk' ok 93 - URI::URL->article # Testing 'nntp://news.com/comp.lang.perl/42' ok 94 - URI::URL->group # Testing 'rlogin://aas@a.sn.no' ok 95 - URI::URL->host ok 96 - URI::URL->user # Testing 'telnet://usr:pswd@web:12345/' ok 97 - URI::URL->host ok 98 - URI::URL->password ok 99 - URI::URL->user 1..99 ok 1 - scheme tests # Subtest: parts test ok 1 - URI::URL->as_string ok 2 - URI::URL->full_path ok 3 - URI::URL->as_string ok 4 - URI::URL->full_path ok 5 - URI::URL->as_string ok 6 - URI::URL->as_string ok 7 - URI::URL->as_string ok 8 - URI::URL->as_string ok 9 - URI::URL->as_string ok 10 - $url->keywords ok 11 - URI::URL->as_string ok 12 - $url->query_form ok 13 - URI::URL->as_string ok 14 - length ok 15 - query_form ok 16 - length ok 17 - sequence ok 18 - URI::URL->as_string # Subtest: netloc_test ok 1 - URI::URL->as_string ok 2 - URI::URL->as_string ok 3 - URI::URL->as_string ok 4 - URI::URL->as_string ok 5 - URI::URL->as_string ok 6 - URI::URL->as_string ok 7 - URI::URL->as_string ok 8 - URI::URL->as_string ok 9 - URI::URL->as_string ok 10 - URI::URL->as_string ok 11 - URI::URL->as_string ok 12 - URI::URL->as_string ok 13 - URI::URL->as_string ok 14 - URI::URL->as_string ok 15 - URI::URL->as_string ok 16 - URI::URL->as_string 1..16 ok 19 - netloc_test # Subtest: port_test ok 1 - port ok 2 - string ok 3 - port ok 4 - string ok 5 - port ok 6 - string ok 7 - port ok 8 - string 1..8 ok 20 - port_test ok 21 - URI::URL->as_string ok 22 - URI::URL->as_string ok 23 - URI::URL->as_string ok 24 - URI::URL->as_string ok 25 - URI::URL->as_string ok 26 - URI::URL->as_string ok 27 - URI::URL->as_string ok 28 - URI::URL->as_string ok 29 - URI::URL->as_string: "<" and ">" are gone ok 30 - 9 elements # Cracked result: http*UNDEF*UNDEF*host*80*/path*param*query*frag ok 31 - crack result ok 32 - 9 elements # Cracked result: UNDEF*anonymous*anonymous@*UNDEF*21*foo/bar*UNDEF*UNDEF*UNDEF ok 33 - 9 elements # Cracked result: ftp*u*p*host*21*/q?path*UNDEF*path*UNDEF ok 34 - crack result ok 35 - 9 elements ok 36 - passwd in anonymous crack # Cracked result: ftp*anonymous*passwd*ftp.sn.no*21*/pub*UNDEF*UNDEF*UNDEF ok 37 - crack result ok 38 - 9 elements # Cracked result: mailto*UNDEF*UNDEF*UNDEF*UNDEF*/aas@sn.no*UNDEF*UNDEF*UNDEF ok 39 - 9 elements # Cracked result: news*UNDEF*UNDEF*UNDEF*119*comp.lang.perl.misc*UNDEF*UNDEF*UNDEF ok 40 - crack result 1..40 ok 2 - parts test # Subtest: escape test ok 1 - URI::URL->as_string ok 2 - URI::URL->as_string ok 3 - URI::URL->as_string ok 4 - uri_escape->uri_unescape ok 5 - URI::URL->as_string ok 6 - URI::URL->as_string 1..6 ok 3 - escape test # Subtest: newlocal test ok 1 - URI::URL->as_string # Local directory is /var/volatile/tmp/54OAmgpUx7/ ok 2 - URI::URL->as_string ok 3 - URI::URL->as_string ok 4 - URI::URL->as_string ok 5 - URI::URL->as_string ok 6 - URI::URL->as_string ok 7 - URI::URL->as_string ok 8 - URI::URL->as_string ok 9 - URI::URL->as_string ok 10 - URI::URL->as_string ok 11 - URI::URL->as_string ok 12 - URI::URL->as_string ok 13 - URI::URL->as_string ok 14 - URI::URL->as_string ok 15 - URI::URL->as_string ok 16 - URI::URL->as_string ok 17 - URI::URL->as_string ok 18 - URI::URL->as_string ok 19 - URI::URL->as_string ok 20 - URI::URL->as_string 1..20 ok 4 - newlocal test # Subtest: Test relative/absolute URI::URL parsing # Relative + Base => Expected Absolute URL # ------------------------------------------------ # g:h + http://a/b/c/d;p?q#f => g:h ok 1 - URI::URL->as_string # g + http://a/b/c/d;p?q#f => http://a/b/c/g ok 2 - URI::URL->as_string # ./g + http://a/b/c/d;p?q#f => http://a/b/c/g ok 3 - URI::URL->as_string # g/ + http://a/b/c/d;p?q#f => http://a/b/c/g/ ok 4 - URI::URL->as_string # /g + http://a/b/c/d;p?q#f => http://a/g ok 5 - URI::URL->as_string # //g + http://a/b/c/d;p?q#f => http://g ok 6 - URI::URL->as_string # g?y + http://a/b/c/d;p?q#f => http://a/b/c/g?y ok 7 - URI::URL->as_string # g?y/./x + http://a/b/c/d;p?q#f => http://a/b/c/g?y/./x ok 8 - URI::URL->as_string # #s + http://a/b/c/d;p?q#f => http://a/b/c/d;p?q#s ok 9 - URI::URL->as_string # g#s + http://a/b/c/d;p?q#f => http://a/b/c/g#s ok 10 - URI::URL->as_string # g#s/./x + http://a/b/c/d;p?q#f => http://a/b/c/g#s/./x ok 11 - URI::URL->as_string # g?y#s + http://a/b/c/d;p?q#f => http://a/b/c/g?y#s ok 12 - URI::URL->as_string # g;x + http://a/b/c/d;p?q#f => http://a/b/c/g;x ok 13 - URI::URL->as_string # g;x?y#s + http://a/b/c/d;p?q#f => http://a/b/c/g;x?y#s ok 14 - URI::URL->as_string # . + http://a/b/c/d;p?q#f => http://a/b/c/ ok 15 - URI::URL->as_string # ./ + http://a/b/c/d;p?q#f => http://a/b/c/ ok 16 - URI::URL->as_string # .. + http://a/b/c/d;p?q#f => http://a/b/ ok 17 - URI::URL->as_string # ../ + http://a/b/c/d;p?q#f => http://a/b/ ok 18 - URI::URL->as_string # ../g + http://a/b/c/d;p?q#f => http://a/b/g ok 19 - URI::URL->as_string # ../.. + http://a/b/c/d;p?q#f => http://a/ ok 20 - URI::URL->as_string # ../../ + http://a/b/c/d;p?q#f => http://a/ ok 21 - URI::URL->as_string # ../../g + http://a/b/c/d;p?q#f => http://a/g ok 22 - URI::URL->as_string # + http://a/b/c/d;p?q#f => http://a/b/c/d;p?q#f ok 23 - URI::URL->as_string # /./g + http://a/b/c/d;p?q#f => http://a/./g ok 24 - URI::URL->as_string # /../g + http://a/b/c/d;p?q#f => http://a/../g ok 25 - URI::URL->as_string # g. + http://a/b/c/d;p?q#f => http://a/b/c/g. ok 26 - URI::URL->as_string # .g + http://a/b/c/d;p?q#f => http://a/b/c/.g ok 27 - URI::URL->as_string # g.. + http://a/b/c/d;p?q#f => http://a/b/c/g.. ok 28 - URI::URL->as_string # ..g + http://a/b/c/d;p?q#f => http://a/b/c/..g ok 29 - URI::URL->as_string # ./../g + http://a/b/c/d;p?q#f => http://a/b/g ok 30 - URI::URL->as_string # ./g/. + http://a/b/c/d;p?q#f => http://a/b/c/g/ ok 31 - URI::URL->as_string # g/./h + http://a/b/c/d;p?q#f => http://a/b/c/g/h ok 32 - URI::URL->as_string # g/../h + http://a/b/c/d;p?q#f => http://a/b/c/h ok 33 - URI::URL->as_string # http:g + http://a/b/c/d;p?q#f => http:g ok 34 - URI::URL->as_string # http: + http://a/b/c/d;p?q#f => http: ok 35 - URI::URL->as_string # x/y//../z + http://a/b/c/d;p?q#f => http://a/b/c/x/y/z ok 36 - URI::URL->as_string # 1 + http://a/b/c/d;p?q#f => http://a/b/c/1 ok 37 - URI::URL->as_string # 0 + http://a/b/c/d;p?q#f => http://a/b/c/0 ok 38 - URI::URL->as_string # /0 + http://a/b/c/d;p?q#f => http://a/0 ok 39 - URI::URL->as_string ok 40 - identity ok 41 - URL canonicalised # -------- # http://abc/ + news:45664545 => http://abc/ ok 42 - ->as_string # news:abc + http://abc/ => news:abc ok 43 - ->as_string # abc + file:/test?aas => file:/abc ok 44 - ->as_string # ?foo + file:/abc => file:/abc?foo ok 45 - ->as_string # #foo + http://abc/a => http://abc/a#foo ok 46 - ->as_string # #foo + file:a => file:a#foo ok 47 - ->as_string # #foo + file:/a => file:/a#foo ok 48 - ->as_string # #foo + file:/a => file:/a#foo ok 49 - ->as_string # #foo + file://localhost/a => file://localhost/a#foo ok 50 - ->as_string # 123@sn.no + news:comp.lang.perl.misc => news:/123@sn.no ok 51 - ->as_string # no.perl + news:123@sn.no => news:/no.perl ok 52 - ->as_string # mailto:aas@a.sn.no+ http://www.sn.no/ => mailto:aas@a.sn.no ok 53 - ->as_string # http:foo + http://h/a/b => http://h/a/foo ok 54 - ->as_string # http:/foo + http://h/a/b => http://h/foo ok 55 - ->as_string # http:?foo + http://h/a/b => http://h/a/b?foo ok 56 - ->as_string # http:#foo + http://h/a/b => http://h/a/b#foo ok 57 - ->as_string # http:?foo#bar+ http://h/a/b => http://h/a/b?foo#bar ok 58 - ->as_string # file:/foo + http://h/a/b => file:/foo ok 59 - ->as_string # absolute test ok ok 60 - url('http://abc/a', 'http://abc')->rel = 'a' ok 61 - url('http://abc/a', 'http://abc/b')->rel = 'a' ok 62 - url('http://abc/a?q', 'http://abc/b')->rel = 'a?q' ok 63 - url('http://abc/a;p', 'http://abc/b')->rel = 'a;p' ok 64 - url('http://abc/a', 'http://abc/a/b/c/')->rel = '../../../a' ok 65 - url('http://abc/a/', 'http://abc/a/')->rel = './' ok 66 - url('http://abc/a\#f', 'http://abc/a')->rel = '\#f' ok 67 - url('file:/etc/motd', 'file:/')->rel = 'etc/motd' ok 68 - url('file:/etc/motd', 'file:/etc/passwd')->rel = 'motd' ok 69 - url('file:/etc/motd', 'file:/etc/rc2.d/')->rel = '../motd' ok 70 - url('file:/etc/motd', 'file:/usr/lib/doc')->rel = '../../etc/motd' ok 71 - url('file:', 'file:/etc/')->rel = '../' ok 72 - url('file:foo', 'file:/etc/')->rel = '../foo' ok 73 - url('mailto:aas', 'http://abc')->rel = 'mailto:aas' ok 74 - url('http://www.math.uio.no/doc/mail/top.html', 'http://www.math.uio.no/doc/linux/')->rel = '../mail/top.html' # relative test ok 1..74 ok 5 - Test relative/absolute URI::URL parsing # Subtest: eq test ok 1 - 1: http://abc.com/~smith/home.html ne http://abc.com/~smith/home.html ok 2 - 2: http://abc.com/~smith/home.html ne http://abc.com/~smith/home.html ok 3 - 3: http://abc.com/~smith/home.html ne http://abc.com/~smith/home.html ok 4 - 4: http://abc.com/~smith/home.html ne http://abc.com/~smith/home.html ok 5 - 5: http://abc.com/~smith/home.html ne http://abc.com/~smith/home.html ok 6 - 6: http://abc.com/~smith/home.html ne http://abc.com/~smith/home.html ok 7 - 7: http://www.sn.no/ ok 8 - 8: http://www.sn.no/ ok 9 - 10: ftp://ftp/%2Fetc ok 10 - 11: ftp://ftp/%2Fetc 1..10 ok 6 - eq test ok 7 - URI::URL->as_string ok 8 - URI::URL->path ok 9 - wash&go # URI::URL version 5.08 ok 1..9 PASS: t/old-base 1..6 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 PASS: t/old-absconf 1..7 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 PASS: t/mailto 1..0 # SKIP Need Business::ISBN 1..0 # SKIP Need Business::ISBN SKIP: t/urn-isbn 1..4 ok 1 - no exception when trying to load a scheme handler class ok 2 - but URI still instantiated as foreign ok 3 - no exception when trying to load a scheme handler class ok 4 - but URI still instantiated as foreign PASS: t/scheme-exceptions 1..17 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 PASS: t/split DURATION: 2