Added comments to the POD in Var.pm that creating a Var object overwrites

the Session Id.  This is by design.

Added a check to Style.pm so that if no params are passed to setLink that
it won't die by trying to deref undef into a hashref.

First set of tests for Session/Style added.
This commit is contained in:
Colin Kuskie 2006-10-03 23:27:08 +00:00
parent fd44b5d96e
commit ff2344cdad
3 changed files with 55 additions and 2 deletions

View file

@ -248,7 +248,8 @@ Sets a <link> tag into the <head> of this rendered page for this page view. This
=head3 url
The URL to the document you are linking.
The URL to the document you are linking. Only one link can be set per url. If a link to this URL exists,
the old link will remain and this method will return undef.
=head3 params
@ -260,6 +261,7 @@ sub setLink {
my $self = shift;
my $url = shift;
my $params = shift;
$params = {} unless (defined $params and ref $params eq 'HASH');
return undef if ($self->{_link}{$url});
my $tag = '<link href="'.$url.'"';
foreach my $name (keys %{$params}) {

View file

@ -149,7 +149,7 @@ sub isAdminOn {
=head2 new ( session, sessionId, noFuss )
Constructor. Returns a var object.
Constructor. Overwrites the sessionId of $session with its own id. Returns a var object.
=head3 session

51
t/Session/Style.t Normal file
View file

@ -0,0 +1,51 @@
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2006 Plain Black Corporation.
#-------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
#-------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
#-------------------------------------------------------------------
use FindBin;
use strict;
use lib "$FindBin::Bin/../lib";
use WebGUI::Test;
use WebGUI::Session;
use Test::More tests => 7; # increment this value for each test you create
my $session = WebGUI::Test->session;
# put your tests here
my $style = $session->style;
isa_ok($style, 'WebGUI::Session::Style', 'session has correct object type');
####################################################
#
# sent
#
####################################################
is($style->sent, undef, 'sent should start off being undefined at session creation');
is($style->sent(1), '1', 'sent: set to true (1)');
is($style->sent(), '1', 'sent: return true (1)');
is($style->sent('gone'), 'gone', 'sent: set to true ("gone")');
is($style->sent(), 'gone', 'sent: return true ("gone")');
$style->sent(0); ##Set to unsent to we don't trigger any other code, yet
####################################################
#
# setLink
#
####################################################
is($style->setLink(), 0, 'setLink returns the result of the conditional check for already sent');
END {
}