Add a has method to settings, with tests.

has checks to see if the setting exists in the object's cache.  It's
safer than poking inside the object's hash.  It should mainly be
used for developers who run the same script over and over again.
This commit is contained in:
Colin Kuskie 2009-03-10 13:28:00 -07:00
parent 09c5b4cb9e
commit 0695e4f4fc
2 changed files with 29 additions and 1 deletions

View file

@ -15,7 +15,7 @@ use lib "$FindBin::Bin/../lib";
use WebGUI::Test;
use WebGUI::Session;
use Test::More tests => 6; # increment this value for each test you create
use Test::More tests => 9; # increment this value for each test you create
my $session = WebGUI::Test->session;
@ -27,6 +27,10 @@ $session->setting->set("inmate","37927");
my ($value) = $session->db->quickArray("select value from settings where name='inmate'");
is($value, '37927', "set()");
is($session->setting->get("inmate"), '37927', 'set() also updates object cache');
is($session->setting->has('inmate'), 1, 'has checks for existance');
$session->setting->set('inmate', 0);
is($session->setting->get('inmate'), 0, 'get will get 0 values');
is($session->setting->has('inmate'), 1, 'has checks for existance, regardless of value');
$session->setting->remove("inmate");
my ($value) = $session->db->quickArray("select value from settings where name='inmate'");
is($value, undef, "delete()");