Accept time zones with spaces or underscores to help users.

This commit is contained in:
Colin Kuskie 2009-11-16 18:35:01 -08:00
parent 110a236fcd
commit 5bf3e44ad6
3 changed files with 60 additions and 0 deletions

View file

@ -20,6 +20,7 @@
- added #10727: language choice during site adding
- added file globbing to preload.exclude
- fixed #11242: Macros not executing in Download Templates
- added TimeZone form controls accepts spaces or underscores in zone names.
7.8.4
- Fixed a compatibility problem between WRE and new Spectre code.

View file

@ -95,6 +95,26 @@ sub isDynamicCompatible {
#-------------------------------------------------------------------
=head2 new ( )
Extend the base method to handle spaces in the value and/or default value.
=cut
sub new {
my $class = shift;
my $self = $class->SUPER::new(@_);
my $value = $self->get('value');
$value =~ tr/ /_/;
$self->set('value', $value);
my $defaultValue = $self->get('defaultValue');
$defaultValue =~ tr/ /_/;
$self->set('defaultValue', $defaultValue);
return $self;
}
#-------------------------------------------------------------------
=head2 toHtml ( )
Renders a database connection picker control.

39
t/Form/TimeZone.t Normal file
View file

@ -0,0 +1,39 @@
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2009 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::Form::TimeZone;
use WebGUI::Session;
#The goal of this test is to verify that Text form elements work
use Test::More; # increment this value for each test you create
my $session = WebGUI::Test->session;
# put your tests here
plan tests => 2;
my $zone;
$zone = WebGUI::Form::TimeZone->new($session, {
value => 'America/Los Angeles',
});
is ($zone->get('value'), 'America/Los_Angeles', 'new replaces time zones with spaces with underscores in the value');
$zone = WebGUI::Form::TimeZone->new($session, {
defaultValue => 'America/New York',
});
is ($zone->get('value'), 'America/New_York', 'new replaces time zones with spaces with underscores in the defaultValue');