Update of /cvsroot/http-webtest/HTTP-WebTest/lib/HTTP/WebTest/Plugin
In directory usw-pr-cvs1:/tmp/cvs-serv21610/lib/HTTP/WebTest/Plugin
Modified Files:
Click.pm
Log Message:
Fix bug with params being not sent when 'click_button' is used
Index: Click.pm
===================================================================
RCS file: /cvsroot/http-webtest/HTTP-WebTest/lib/HTTP/WebTest/Plugin/Click.pm,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Click.pm 27 Apr 2002 21:17:50 -0000 1.3
--- Click.pm 27 Apr 2002 22:01:26 -0000 1.4
***************
*** 66,70 ****
pattern => $click_link);
! $request->uri($link) if defined $link;
} elsif(defined $click_button) {
# find action which corresponds to requested submit button
--- 66,71 ----
pattern => $click_link);
! $self->new_request_uri(request => $request, uri => $link)
! if defined $link;
} elsif(defined $click_button) {
# find action which corresponds to requested submit button
***************
*** 72,76 ****
pattern => $click_button);
! $request->uri($action) if defined $action;
}
}
--- 73,100 ----
pattern => $click_button);
! $self->new_request_uri(request => $request, uri => $action)
! if defined $action;
! }
! }
!
! # sets new request URI preserving query parameters if necessary
! sub new_request_uri {
! my $self = shift;
! my %param = @_;
!
! my $request = $param{request};
! my $uri = $param{uri};
!
! my $old_query = undef;
! if($request->method eq 'GET') {
! $old_query = $request->uri->query;
! }
! # set request uri
! $request->uri($uri);
! # restore query parameters
! if(defined $old_query) {
! my $new_query = $request->uri->query;
! $new_query = defined $new_query ? "$new_query&$old_query" : $old_query;
! $request->uri->query($new_query);
}
}
|