1#!perl -w
2
3print "1..6\n";
4
5# Test mixing of URI and URI::WithBase objects
6use URI;
7use URI::WithBase;
8use URI::URL;
9
10$str = "http://www.sn.no/";
11$rel = "path/img.gif";
12
13$u  = URI->new($str);
14$uw = URI::WithBase->new($str, "http:");
15$uu = URI::URL->new($str);
16
17sub Dump
18{
19   require Data::Dumper;
20   print Data::Dumper->Dump([$a, $b, $c, $d], [qw(a b c d)]);
21}
22
23$a = URI->new($rel, $u);
24$b = URI->new($rel, $uw);
25$c = URI->new($rel, $uu);
26$d = URI->new($rel, $str);
27
28#Dump();
29print "not " unless $a->isa("URI") &&
30                    ref($b) eq ref($uw) &&
31                    ref($c) eq ref($uu) &&
32                    $d->isa("URI");
33print "ok 1\n";
34
35print "not " if $b->base && $c->base;
36print "ok 2\n";
37
38$a = URI::URL->new($rel, $u);
39$b = URI::URL->new($rel, $uw);
40$c = URI::URL->new($rel, $uu);
41$d = URI::URL->new($rel, $str);
42
43print "not " unless ref($a) eq "URI::URL" &&
44                    ref($b) eq "URI::URL" &&
45                    ref($c) eq "URI::URL" &&
46                    ref($d) eq "URI::URL";
47print "ok 3\n";
48
49print "not " unless ref($b->base) eq ref($uw) &&
50                    $b->base eq $uw &&
51                    ref($c->base) eq ref($uu) &&
52                    $c->base eq $uu &&
53                    $d->base eq $str;
54print "ok 4\n";
55
56
57
58$a = URI->new($uu, $u);
59$b = URI->new($uu, $uw);
60$c = URI->new($uu, $uu);
61$d = URI->new($uu, $str);
62
63#Dump();
64print "not " unless ref($a) eq ref($b) &&
65                    ref($b) eq ref($c) &&
66                    ref($c) eq ref($d) &&
67                    ref($d) eq ref($u);
68print "ok 5\n";
69
70$a = URI::URL->new($u, $u);
71$b = URI::URL->new($u, $uw);
72$c = URI::URL->new($u, $uu);
73$d = URI::URL->new($u, $str);
74
75print "not " unless ref($a) eq "URI::URL" &&
76                    ref($b) eq "URI::URL" &&
77                    ref($c) eq "URI::URL" &&
78                    ref($d) eq "URI::URL";
79print "ok 6\n";
80