summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Test
diff options
context:
space:
mode:
authorivan <ivan>2010-05-18 18:49:59 +0000
committerivan <ivan>2010-05-18 18:49:59 +0000
commite70abd21bab68b23488f7ef1ee2e693a3b365691 (patch)
tree75986ffa9ba6ab4f961f9033468a1344e1653408 /rt/lib/RT/Test
parentb4b0c7e72d7eaee2fbfc7022022c9698323203dd (diff)
import rt 3.8.8
Diffstat (limited to 'rt/lib/RT/Test')
-rw-r--r--rt/lib/RT/Test/Web.pm37
1 files changed, 30 insertions, 7 deletions
diff --git a/rt/lib/RT/Test/Web.pm b/rt/lib/RT/Test/Web.pm
index 9e3d6ae0c..fb3179770 100644
--- a/rt/lib/RT/Test/Web.pm
+++ b/rt/lib/RT/Test/Web.pm
@@ -76,23 +76,46 @@ sub login {
my $self = shift;
my $user = shift || 'root';
my $pass = shift || 'password';
+
+ $self->logout;
my $url = $self->rt_base_url;
+ $self->get($url . "?user=$user;pass=$pass");
+ unless ( $self->status == 200 ) {
+ Test::More::diag( "error: status is ". $self->status );
+ return 0;
+ }
+ unless ( $self->content =~ qr/Logout/i ) {
+ Test::More::diag("error: page has no Logout");
+ return 0;
+ }
+ unless ( $self->content =~ m{<span>\Q$user\E</span>}i ) {
+ Test::More::diag("Page has no user name");
+ return 0;
+ }
+ return 1;
+}
+sub logout {
+ my $self = shift;
+
+ my $url = $self->rt_base_url;
$self->get($url);
Test::More::diag( "error: status is ". $self->status )
unless $self->status == 200;
+
if ( $self->content =~ qr/Logout/i ) {
$self->follow_link( text => 'Logout' );
+ Test::More::diag( "error: status is ". $self->status ." when tried to logout" )
+ unless $self->status == 200;
}
-
- $self->get($url . "?user=$user;pass=$pass");
- unless ( $self->status == 200 ) {
- Test::More::diag( "error: status is ". $self->status );
- return 0;
+ else {
+ return 1;
}
- unless ( $self->content =~ qr/Logout/i ) {
- Test::More::diag("error: page has no Logout");
+
+ $self->get($url);
+ if ( $self->content =~ qr/Logout/i ) {
+ Test::More::diag( "error: couldn't logout" );
return 0;
}
return 1;