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