1#!perl -w 2 3print "1..18\n"; 4 5use strict; 6 7use URI; 8use URI::QueryParam; 9 10my $u = URI->new("http://www.sol.no?foo=4&bar=5&foo=5"); 11 12my $h = $u->query_form_hash; 13print "not " unless $h->{foo}[0] eq "4" && $h->{foo}[1] eq "5" && $h->{bar} eq "5"; 14print "ok 1\n"; 15 16$u->query_form_hash({ a => 1, b => 2}); 17print "not " unless $u->query eq "a=1&b=2" || $u->query eq "b=2&a=1"; 18print "ok 2\n"; 19 20$u->query("a=1&b=2&a=3&b=4&a=5"); 21print "not " unless $u->query_param == 2 && join(":", $u->query_param) eq "a:b"; 22print "ok 3\n"; 23 24print "not " unless $u->query_param("a") eq "1" && 25 join(":", $u->query_param("a")) eq "1:3:5"; 26print "ok 4\n"; 27 28print "not " unless $u->query_param(a => 11 .. 14) eq "1"; 29print "ok 5\n"; 30 31print "not " unless $u->query eq "a=11&b=2&a=12&b=4&a=13&a=14"; 32print "ok 6\n"; 33 34print "not " unless join(":", $u->query_param(a => 11)) eq "11:12:13:14"; 35print "ok 7\n"; 36 37print "not " unless $u->query eq "a=11&b=2&b=4"; 38print "ok 8\n"; 39 40print "not " unless $u->query_param_delete("a") eq "11"; 41print "ok 9\n"; 42 43print "not " unless $u->query eq "b=2&b=4"; 44print "ok 10\n"; 45 46$u->query_param_append(a => 1, 3, 5); 47$u->query_param_append(b => 6); 48 49print "not " unless $u->query eq "b=2&b=4&a=1&a=3&a=5&b=6"; 50print "ok 11\n"; 51 52$u->query_param(a => []); # same as $u->query_param_delete("a"); 53 54print "not " unless $u->query eq "b=2&b=4&b=6"; 55print "ok 12\n"; 56 57$u->query(undef); 58$u->query_param(a => 1, 2, 3); 59$u->query_param(b => 1); 60 61print "not " unless $u->query eq 'a=3&a=2&a=1&b=1'; 62print "ok 13\n"; 63 64$u->query_param_delete('a'); 65$u->query_param_delete('b'); 66 67print "not " if $u->query; 68print "ok 14\n"; 69 70print "not " unless $u->as_string eq 'http://www.sol.no'; 71print "ok 15\n"; 72 73$u->query(undef); 74$u->query_param(a => 1, 2, 3); 75$u->query_param(b => 1); 76 77print "not " unless $u->query eq 'a=3&a=2&a=1&b=1'; 78print "ok 16\n"; 79 80$u->query_param('a' => []); 81$u->query_param('b' => []); 82 83print "not " if $u->query; 84print "ok 17\n"; 85 86print "not " unless $u->as_string eq 'http://www.sol.no'; 87print "ok 18\n"; 88