Le jeudi 06 mars 2003 � 10:43, Andy Lester �crivait:
> >For example, we use it at work for testing our web applications. The
> >slightly overly-secure server we use for developing can not see the
> >Internet, but it can test on localhost or other internal
> >servers. (There's a local CPAN mirror and other such things to make it
> >bearable).
>
> I've created RT ticket #2185. If anyone would like to implement this
> and submit the patch to me, I'd appreciate it. I'm fresh out of tuits
> for implementing daemons on the fly.
Here are (very) simple SKIP blocks with a basic web_ok() function.
One could go one step further and put sample pages in t/, as well as
a basic HTTP::Daemon script that would return them when asked for,
and 404 when they are not found.
I'll try to post a set of dummy_*.t files (reproducing the tests in your
own test suite) doing just that in a few days (no promise, though).
Then testing the module would not depend on the web at all.
-- Philippe
Only in WWW-Mechanize/t: Utils.pm
package main;
# check that the web connection is working
sub web_ok {
my $ua = LWP::UserAgent->new( env_proxy => 1 );
my $res =
$ua->request(
HTTP::Request->new( GET => 'http://www.google.com/intl/en/' ) );
return $res->is_success;
}
1;
diff -ru WWW-Mechanize-0.37/t/click.t WWW-Mechanize/t/click.t
--- WWW-Mechanize-0.37/t/click.t 2003-03-04 22:06:03.000000000 +0100
+++ WWW-Mechanize/t/click.t 2003-03-06 18:21:12.000000000 +0100
@@ -1,6 +1,7 @@
use warnings;
use strict;
use Test::More tests => 8;
+use t::Utils;
BEGIN {
use_ok( 'WWW::Mechanize' );
@@ -9,6 +10,9 @@
my $t = WWW::Mechanize->new();
isa_ok( $t, 'WWW::Mechanize', 'Created the object' );
+SKIP: {
+ skip "Web does not seem to work", 6 unless web_ok();
+
my $response = $t->get( "http://www.google.com/intl/en/");
isa_ok( $response, 'HTTP::Response', 'Got back a response' );
ok( $response->is_success, 'Got google' ) or die "Can't even fetch google";
@@ -21,3 +25,5 @@
ok( $response->is_success, "Can click 'btnG' ('Google Search' button)");
like($t->content, qr/foo\s?fighters/i, "Found 'Foo Fighters'");
+
+}
diff -ru WWW-Mechanize-0.37/t/follow.t WWW-Mechanize/t/follow.t
--- WWW-Mechanize-0.37/t/follow.t 2003-02-04 17:29:18.000000000 +0100
+++ WWW-Mechanize/t/follow.t 2003-03-06 18:20:24.000000000 +0100
@@ -2,6 +2,7 @@
use strict;
use Test::More tests => 14;
use constant START => 'http://www.google.com/intl/en/';
+use t::Utils;
BEGIN {
use_ok( 'WWW::Mechanize' );
@@ -11,6 +12,9 @@
isa_ok( $agent, 'WWW::Mechanize', 'Created object' );
$agent->quiet(1);
+SKIP: {
+ skip "Web does not seem to work", 12 unless web_ok();
+
my $response = $agent->get( START );
ok( $response->is_success, 'Got some page' );
is( $agent->uri, START, 'Got Google' );
@@ -30,3 +34,5 @@
ok($agent->back(), "Can still go back");
is( $agent->uri, START, 'Back at the start page again' );
+
+}
diff -ru WWW-Mechanize-0.37/t/form.t WWW-Mechanize/t/form.t
--- WWW-Mechanize-0.37/t/form.t 2003-02-04 17:44:46.000000000 +0100
+++ WWW-Mechanize/t/form.t 2003-03-06 18:21:50.000000000 +0100
@@ -3,6 +3,7 @@
use warnings;
use strict;
use Test::More tests => 14;
+use t::Utils;
use constant START => 'http://www.google.com/intl/en/';
@@ -13,6 +14,10 @@
my $t = WWW::Mechanize->new();
isa_ok( $t, 'WWW::Mechanize' );
$t->quiet(1);
+
+SKIP: {
+ skip "Web does not seem to work", 12 unless web_ok();
+
my $response = $t->get(START);
ok( $response->is_success, "Got a page" ) or die "Can't even get google";
is( $t->uri, START, 'Got Google' );
@@ -37,3 +42,5 @@
my $form_f = $t->form('f');
ok( $form_f );
is( $form_f, $form_name_f );
+
+}
diff -ru WWW-Mechanize-0.37/t/get.t WWW-Mechanize/t/get.t
--- WWW-Mechanize-0.37/t/get.t 2003-03-04 22:01:14.000000000 +0100
+++ WWW-Mechanize/t/get.t 2003-03-06 18:20:40.000000000 +0100
@@ -1,6 +1,7 @@
use warnings;
use strict;
use Test::More tests => 27;
+use t::Utils;
BEGIN {
use_ok( 'WWW::Mechanize' );
@@ -9,6 +10,9 @@
my $agent = WWW::Mechanize->new;
isa_ok( $agent, 'WWW::Mechanize', 'Created object' );
+SKIP: {
+ skip "Web does not seem to work", 25 unless web_ok();
+
ok($agent->get("http://www.google.com/intl/en/")->is_success, "Get google webpage");
isa_ok($agent->uri, "URI", "Set uri");
isa_ok($agent->req, 'HTTP::Request', "req should be a HTTP::Request");
@@ -39,3 +43,5 @@
ok( $agent->get( "http://www.google.com/images/logo.gif" )->is_success, "Got the
logo" );
ok( !$agent->is_html );
+
+}
diff -ru WWW-Mechanize-0.37/t/page_stack.t WWW-Mechanize/t/page_stack.t
--- WWW-Mechanize-0.37/t/page_stack.t 2002-10-24 05:52:55.000000000 +0200
+++ WWW-Mechanize/t/page_stack.t 2003-03-06 18:22:04.000000000 +0100
@@ -1,6 +1,7 @@
use warnings;
use strict;
use Test::More tests => 9;
+use t::Utils;
BEGIN {
use_ok( 'WWW::Mechanize' );
@@ -9,6 +10,9 @@
my $t = WWW::Mechanize->new;
isa_ok( $t, 'WWW::Mechanize', 'Created object' );
+SKIP: {
+ skip "Web does not seem to work", 7 unless web_ok();
+
ok( $t->get("http://www.google.com/intl/en/")->is_success, "Got Google" );
is(scalar @{$t->{page_stack}}, 0, "Page stack starts empty");
$t->_push_page_stack();
@@ -21,3 +25,4 @@
is(scalar @{$t->{page_stack}}, 0, "Popped item from page stack");
$t->_pop_page_stack();
is(scalar @{$t->{page_stack}}, 0, "Can't pop beyond end of page stack");
+}
--
Philippe "BooK" Bruhat
When you wander near evil, Security is only a function of foolishness...
(Moral from Groo The Wanderer #21 (Epic))