1# Before `make install' is performed this script should be runnable with
2# `make test'. After `make install' it should work as `perl Convert-NLS_DATE_FORMAT.t'
3
4#########################
5
6use Test::More;
7use Convert::NLS_DATE_FORMAT;
8
9our %tests = (
10    'YYYY-MM-DD HH24:MI:SS TZR'    => '%Y-%m-%d %H:%M:%S %Z',
11    'YYYY-MM-DD HH24:MI:SS TZHTZM' => '%Y-%m-%d %H:%M:%S %z',
12    'YYYY-MM-DD HH24:MI:SS'        => '%Y-%m-%d %H:%M:%S',
13    'YYYY-MM-DD"T"HH24:MI:SS'      => '%Y-%m-%dT%H:%M:%S',
14    'YYYY-MM-DD HH:MI:SS pm'       => '%Y-%m-%d %I:%M:%S %P',
15    'yyyy-mm-dd hh:mi:ss pm'       => '%Y-%m-%d %I:%M:%S %P',
16    'YYYY-MM-DD HH:MI:SS PM'       => '%Y-%m-%d %I:%M:%S %p',
17    'DD Mon YYYY'                  => '%d %b %Y',
18    'DD-MON-RR'                    => '%d-%b-%y', # default NLS_DATE_FORMAT
19    'DD-MON-RR HH.MI.SSXFF AM'     => '%d-%b-%y %I.%M.%S.%6N %p', # default NLS_TIMESTAMP_FORMAT
20    'DD-MON-RR HH.MI.SSXFF AM TZR' => '%d-%b-%y %I.%M.%S.%6N %p %Z', # default NLS_TIMESTAMP_TZ_FORMAT
21    'Day, DD Month, YYYY'          => '%A, %d %B, %Y',
22    'Day, Month, Year'             => '%A, %B, Year', # this one should throw a warning
23    'Day, Month, Bogus'            => '%A, %B, Bogus', # this one should not throw a warning
24    'YYYY - Q'                     => '%Y - %{quarter}',
25    'DD-MON-RR HH.MI.SSXFF9 AM'    => '%d-%b-%y %I.%M.%S.%9N %p',
26    'DD-MON-RR HH.MI.SSXFF6 AM'    => '%d-%b-%y %I.%M.%S.%6N %p',
27    'DD-MON-RR HH.MI.SSXFF AM'     => '%d-%b-%y %I.%M.%S.%6N %p',
28    'DD-MON-RR HH.MI.SSXFF3 AM'    => '%d-%b-%y %I.%M.%S.%3N %p',
29);
30
31plan tests => scalar(keys %tests);
32
33#########################
34
35# Insert your test code below, the Test::More module is use()ed here so read
36# its man page ( perldoc Test::More ) for help writing this test script.
37
38while (my ($nls, $strf) = each %tests) {
39    is(Convert::NLS_DATE_FORMAT::oracle2posix($nls), $strf, $nls);
40}
41