|
|
@@ -0,0 +1,39 @@
|
|
|
+#! /usr/bin/perl
|
|
|
+
|
|
|
+use strict;
|
|
|
+use warnings;
|
|
|
+use Test::More;
|
|
|
+use Test::Exception;
|
|
|
+use Test::LWP::UserAgent;
|
|
|
+
|
|
|
+BEGIN: {
|
|
|
+ unless (use_ok('Selenium::Remote::RemoteConnection')) {
|
|
|
+ BAIL_OUT("Couldn't load Selenium::Remote::RemoteConnection");
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+REDIRECT: {
|
|
|
+ my $tua = Test::LWP::UserAgent->new(
|
|
|
+ max_redirect => 0
|
|
|
+ );
|
|
|
+
|
|
|
+ $tua->map_response(qr/redirect/, HTTP::Response->new(303, undef, ['Location' => 'http://localhost/elsewhere']));
|
|
|
+ $tua->map_response(qr/elsewhere/, HTTP::Response->new(200, 'OK', undef, ''));
|
|
|
+
|
|
|
+ my $conn = Selenium::Remote::RemoteConnection->new(
|
|
|
+ remote_server_addr => 'localhost',
|
|
|
+ port => '',
|
|
|
+ ua => $tua
|
|
|
+ );
|
|
|
+
|
|
|
+ my $redirect_endpoint = {
|
|
|
+ method => 'GET',
|
|
|
+ url => 'http://localhost/redirect'
|
|
|
+ };
|
|
|
+
|
|
|
+ lives_ok(sub { $conn->request($redirect_endpoint) }, '303 redirects no longer kill us');
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+done_testing;
|