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