Add the original source packages to maemo, source lenny
[dh-make-perl] / dev / i386 / libwww-mechanize-perl / libwww-mechanize-perl-1.34 / t / local / follow.t
1 #!perl
2
3
4 use warnings;
5 use strict;
6 use Test::More tests => 21;
7 use lib 't/local';
8 use LocalServer;
9
10 BEGIN {
11     delete @ENV{ grep { lc eq 'http_proxy' } keys %ENV };
12     delete @ENV{ qw( IFS CDPATH ENV BASH_ENV ) };
13     use_ok( 'WWW::Mechanize' );
14 }
15
16 my $server = LocalServer->spawn;
17 isa_ok( $server, 'LocalServer' );
18
19 my $agent = WWW::Mechanize->new;
20 isa_ok( $agent, 'WWW::Mechanize', 'Created object' );
21 $agent->quiet(1);
22
23 $agent->get( $server->url );
24 ok( $agent->success, 'Got some page' );
25 is( $agent->uri, $server->url, 'Got local server page' );
26
27 ok(! $agent->follow_link( n => 99999), "Can't follow too-high-numbered link");
28
29 ok($agent->follow_link( n => 1 ), "Can follow first link");
30 isnt( $agent->uri, $server->url, 'Need to be on a separate page' );
31
32 ok($agent->back(), "Can go back");
33 is( $agent->uri, $server->url, 'Back at the first page' );
34
35 ok(! $agent->follow_link( text_regex => qr/asdfghjksdfghj/ ), "Can't follow unlikely named link");
36
37 ok($agent->follow_link( text => 'Link /foo' ), 'Can follow obvious named link');
38 isnt( $agent->uri, $server->url, 'Need to be on a separate page' );
39
40 ok($agent->back(), 'Can still go back');
41 ok($agent->follow_link( text_regex=>qr/Löschen/ ), 'Can follow link with o-umlaut');
42 isnt( $agent->uri, $server->url, 'Need to be on a separate page' );
43
44 ok($agent->back(), 'Can still go back');
45 ok($agent->follow_link( text_regex=>qr/Stösberg/ ), "Can follow link with o-umlaut, when it's encoded in the HTML, but not in 'follow'");
46 isnt( $agent->uri, $server->url, 'Need to be on a separate page' );
47
48 ok($agent->back(), 'Can still go back');
49 is( $agent->uri, $server->url, 'Back at the start page again' );