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