#!perl -w print "1..9\n"; use URI::Escape; print "not " unless uri_escape("|abcå") eq "%7Cabc%E5"; print "ok 1\n"; print "not " unless uri_escape("abc", "b-d") eq "a%62%63"; print "ok 2\n"; print "not " if defined(uri_escape(undef)); print "ok 3\n"; print "not " unless uri_unescape("%7Cabc%e5") eq "|abcå"; print "ok 4\n"; print "not " unless join(":", uri_unescape("%40A%42", "CDE", "F%47H")) eq '@AB:CDE:FGH'; print "ok 5\n"; use URI::Escape qw(%escapes); print "not" unless $escapes{"%"} eq "%25"; print "ok 6\n"; use URI::Escape qw(uri_escape_utf8); print "not " unless uri_escape_utf8("|abcå") eq "%7Cabc%C3%A5"; print "ok 7\n"; if ($] < 5.008) { print "ok 8 # skipped\n"; print "ok 9 # skipped\n"; } else { eval { print uri_escape("abc" . chr(300)) }; print "not " unless $@ && $@ =~ /^Can\'t escape \\x{012C}, try uri_escape_utf8\(\) instead/; print "ok 8\n"; print "not " unless uri_escape_utf8(chr(0xFFF)) eq "%E0%BF%BF"; print "ok 9\n"; }