RT 4.0.22
[freeside.git] / rt / t / security / CVE-2011-5092-localizeddatetime.t
1 use strict;
2 use warnings;
3
4 use RT::Test tests => undef;
5
6 my $root = RT::CurrentUser->new('root');
7 my ($ok, $msg) = $root->UserObj->SetLang('en-us');
8 ok $ok, $msg;
9
10 my $year = (localtime time)[5] + 1900;
11 my $date = RT::Date->new( $root );
12 $date->SetToNow;
13
14 like $date->AsString( Format => 'LocalizedDateTime' ),
15      qr/\Q$year\E/, 'contains full year';
16
17 unlike $date->AsString( Format => 'LocalizedDateTime', DateFormat => 'date_format_short' ),
18      qr/\Q$year\E/, 'lacks full year';
19
20 eval {
21     $date->AsString( Format => 'LocalizedDateTime', DateFormat => 'bogus::format' );
22 };
23 ok !$@, "didn't die with bogus DateFormat";
24
25 eval {
26     $date->AsString( Format => 'LocalizedDateTime', TimeFormat => 'bogus::format' );
27 };
28 ok !$@, "didn't die with bogus TimeFormat";
29
30 done_testing;