Add ARM files
[dh-make-perl] / dev / arm / liburi-perl / liburi-perl-1.35.dfsg.1 / t / data.t
1 #!perl -w
2
3 eval {
4     require MIME::Base64;
5 };
6 if ($@) {
7     print "1..0\n";
8     print $@;
9     exit;
10 }
11
12 print "1..21\n";
13
14 use URI;
15
16 $u = URI->new("data:,A%20brief%20note");
17 print "not " unless $u->scheme eq "data" && $u->opaque eq ",A%20brief%20note";
18 print "ok 1\n";
19
20 print "not " unless $u->media_type eq "text/plain;charset=US-ASCII" &&
21                     $u->data eq "A brief note";
22 print "ok 2\n";
23
24 $old = $u->data("Får-i-kål er tingen!");
25 print "not " unless $old eq "A brief note" && $u eq "data:,F%E5r-i-k%E5l%20er%20tingen!";
26 print "ok 3\n";
27
28 $old = $u->media_type("text/plain;charset=iso-8859-1");
29 print "not " unless $old eq "text/plain;charset=US-ASCII" &&
30                     $u eq "data:text/plain;charset=iso-8859-1,F%E5r-i-k%E5l%20er%20tingen!";
31 print "ok 4\n";
32
33
34 $u = URI->new("data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAwAAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFzByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSpa/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJlZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uisF81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PHhhx4dbgYKAAA7");
35
36 print "not " unless $u->media_type eq "image/gif";
37 print "ok 5\n";
38
39 if ($ENV{DISPLAY} && $ENV{XV}) {
40    open(XV, "| $ENV{XV} -") || die;
41    print XV $u->data;
42    close(XV);
43 }
44 print "not " unless length($u->data) == 273;
45 print "ok 6\n";
46
47 $u = URI->new("data:text/plain;charset=iso-8859-7,%be%fg%be");  # %fg
48 print "not " unless $u->data eq "\xBE%fg\xBE";
49 print "ok 7\n";
50
51 $u = URI->new("data:application/vnd-xxx-query,select_vcount,fcol_from_fieldtable/local");
52 print "not " unless $u->data eq "select_vcount,fcol_from_fieldtable/local";
53 print "ok 8\n";
54 $u->data("");
55 print "not " unless $u eq "data:application/vnd-xxx-query,";
56 print "ok 9\n";
57
58 $u->data("a,b"); $u->media_type(undef);
59 print "not " unless $u eq "data:,a,b";
60 print "ok 10\n";
61
62 # Test automatic selection of URI/BASE64 encoding
63 $u = URI->new("data:");
64 $u->data("");
65 print "not " unless $u eq "data:,";
66 print "ok 11\n";
67
68 $u->data(">");
69 print "not " unless $u eq "data:,%3E" && $u->data eq ">";
70 print "ok 12\n";
71
72 $u->data(">>>>>");
73 print "not " unless $u eq "data:,%3E%3E%3E%3E%3E";
74 print "ok 13\n";
75
76 $u->data(">>>>>>");
77 print "not " unless $u eq "data:;base64,Pj4+Pj4+";
78 print "ok 14\n";
79
80 $u->media_type("text/plain;foo=bar");
81 print "not " unless $u eq "data:text/plain;foo=bar;base64,Pj4+Pj4+";
82 print "ok 15\n";
83
84 $u->media_type("foo");
85 print "not " unless $u eq "data:foo;base64,Pj4+Pj4+";
86 print "ok 16\n";
87
88 $u->data(">" x 3000);
89 print "not " unless $u eq ("data:foo;base64," . ("Pj4+" x 1000)) &&
90                     $u->data eq (">" x 3000);
91 print "ok 17\n";
92
93 $u->media_type(undef);
94 $u->data(undef);
95 print "not " unless $u eq "data:,";
96 print "ok 18\n";
97
98 $u = URI->new("data:foo");
99 print "not " unless $u->media_type("bar,båz") eq "foo";
100 print "ok 19\n";
101
102 print "not " unless $u->media_type eq "bar,båz";
103 print "ok 20\n";
104
105 $old = $u->data("new");
106 print "not " unless $old eq "" && $u eq "data:bar%2Cb%E5z,new";
107 print "ok 21\n";
108