use strict;
use Test::More tests => 9;
use HTML::ResolveLink;
my $base = "http://www.example.com/base/";
my $count = 0;
my $log;
my $resolver = HTML::ResolveLink->new(
base => $base,
callback => sub {
my($uri, $old) = @_;
$log .= "$old => $uri\n";
$count++;
},
);
my $html = $resolver->resolve(<<'HTML');
foo
foobar
hey &
bar
bar
HTML
is $html, <<'HTML';
foo
foobar
hey &
bar
bar
HTML
is $count, 3;
like $log, qr!/foo => http://www.example.com/foo!;
like $log, qr!bar.gif => http://www.example.com/bar.gif!;
like $log, qr!foo.html => http://www.example.com/base/foo.html!;
$count = 0;
$html = $resolver->resolve(<<'HTML');
foo
foo
HTML
is $html, <<'HTML', '';
foo
foo
HTML
;
is $count, 2;
is $resolver->resolved_count, 2;
$resolver = HTML::ResolveLink->new(base => $base); # reset
$html = $resolver->resolve(<<'HTML');
&
"foo"
HTML
is $html, <<'HTML', 'HTML entities';
&
"foo"
HTML
;