Update of /cvsroot/http-webtest/HTTP-WebTest-Recorder/lib/HTTP/WebTest/Action
In directory sc8-pr-cvs1:/tmp/cvs-serv3779/lib/HTTP/WebTest/Action
Added Files:
WTScript.pm
Log Message:
Added
--- NEW FILE: WTScript.pm ---
package HTTP::WebTest::Action::WTScript;
# $Id: WTScript.pm,v 1.1 2003/01/07 21:04:11 m_ilya Exp $
use strict;
use base qw(HTTP::WebTest::Action);
use CGI;
# returns data to fill in template
sub template_data {
my $self = shift;
my $controller = shift;
my @tests = @{$controller->recorder->tests};
my $wtscript = join "\n", map $self->test2wtscript($_), @tests;
return($self->SUPER::template_data($controller),
wtscript => $wtscript);
}
sub test2wtscript {
my $self = shift;
my $test = shift;
my $request = $test->request;
my $wtscript = '';
$wtscript .= "test_name = N/A\n";
my $short_uri = URI->new($request->uri);
$short_uri->query(undef);
$wtscript .= ' url = ' . $short_uri . "\n";
$wtscript .= ' method = ' . $request->method . "\n"
if $request->method ne 'GET';
my $cgi;
if($request->method eq 'POST') {
$cgi = CGI->new($request->content);
} else {
$cgi = CGI->new($request->uri->query);
}
if($cgi->param) {
$wtscript .= " params = (\n";
for my $param ($cgi->param) {
$wtscript .= ' ' .
$param . ' => ' . $cgi->param($param) . "\n";
}
$wtscript .= " )\n";
}
$wtscript .= "end_test\n";
return $wtscript;
}
1;
|