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