summaryrefslogtreecommitdiff
path: root/tests/unit/I18N/core/DateFormatTest.php
diff options
context:
space:
mode:
authorknut <>2006-02-02 22:40:22 +0000
committerknut <>2006-02-02 22:40:22 +0000
commit926465223486b1c705b8414a203c0a72abef760f (patch)
treebab60e142a4733798c5e770af6418c65f09ba3af /tests/unit/I18N/core/DateFormatTest.php
parent19519f250ef08d19f0ef923552e177dd0f1c2474 (diff)
ported two more unit tests
Diffstat (limited to 'tests/unit/I18N/core/DateFormatTest.php')
-rw-r--r--tests/unit/I18N/core/DateFormatTest.php95
1 files changed, 95 insertions, 0 deletions
diff --git a/tests/unit/I18N/core/DateFormatTest.php b/tests/unit/I18N/core/DateFormatTest.php
new file mode 100644
index 00000000..3f5c9449
--- /dev/null
+++ b/tests/unit/I18N/core/DateFormatTest.php
@@ -0,0 +1,95 @@
+<?php
+require_once dirname(__FILE__).'/../../phpunit2.php';
+
+Prado::using('System.I18N.core.DateFormat');
+
+/**
+ * @package System.I18N.core
+ */
+class DateFormatTest extends PHPUnit2_Framework_TestCase {
+
+ public function testStandardPatterns() {
+ $dateFormatter = new DateFormat();
+
+ $time = @mktime(9, 9, 9, 9, 1, 2004);
+ $zone = @date('T', $time);
+ //var_dump(date('c',$time));
+ //for ShortDatePattern "M/d/yy"
+ $this->assertEquals('9/1/04', $dateFormatter->format($time, 'd'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'d'))));
+
+ //for LongDatePattern "MMMM d, yyyy"
+ $wants = 'September 1, 2004';
+ $this->assertEquals($wants, $dateFormatter->format($time, 'D'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'D'))));
+
+ //for Full date and time "MMMM d, yyyy h:mm a"
+ $wants = 'September 1, 2004 9:09 AM';
+ $this->assertEquals($wants, $dateFormatter->format($time, 'f'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'f'))));
+
+ //for FullDateTimePattern "MMMM d, yyyy h:mm:ss a z"
+ $wants = 'September 1, 2004 9:09:09 AM '.$zone;
+ $this->assertEquals($wants, $dateFormatter->format($time, 'F'));
+
+ //for General "M/d/yy h:mm a"
+ $wants = '9/1/04 9:09 AM';
+ $this->assertEquals($wants, $dateFormatter->format($time, 'g'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'g'))));
+
+ //for General "M/d/yy h:mm:ss a z"
+ $wants = '9/1/04 9:09:09 AM '.$zone;
+ $this->assertEquals($wants, $dateFormatter->format($time, 'G'));
+
+ //for MonthDayPattern "MMMM dd" (invariant)
+ $wants = 'September 01';
+ $this->assertEquals($wants, $dateFormatter->format($time, 'm'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'m'))));
+
+ //for RFC1123Pattern "EEE, dd MMM yyyy HH:mm:ss" (invariant)
+ $wants = 'Wed, 01 Sep 2004 09:09:09';
+ $this->assertEquals($wants, $dateFormatter->format($time, 'r'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'r'))));
+
+ //for SortableDateTimePattern "yyyy-MM-ddTHH:mm:ss" (invariant)
+ $wants = '2004-09-01T09:09:09';
+ $this->assertEquals($wants, $dateFormatter->format($time, 's'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'s'))));
+
+ //for ShortTimePattern "H:mm a"
+ $wants = '9:09 AM';
+ $this->assertEquals($wants, $dateFormatter->format($time, 't'));
+ //(date('c',strtotime($dateFormatter->format($time,'t'))));
+
+ //for LongTimePattern "H:mm:ss a z"
+ $wants = '9:09:09 AM '.$zone;
+ $this->assertEquals($wants, $dateFormatter->format($time, 'T'));
+
+ //for UniversalSortableDateTimePattern "yyyy-MM-dd HH:mm:ss z"
+ //(invariant)
+ $wants = '2004-09-01 09:09:09 '.$zone;
+ $this->assertEquals($wants, $dateFormatter->format($time, 'u'));
+
+ //for Full date and time "EEEE dd MMMM yyyy HH:mm:ss" (invariant)
+ $wants = 'Wednesday 01 September 2004 09:09:09';
+ $this->assertEquals($wants, $dateFormatter->format($time, 'U'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'U'))));
+
+ //for YearMonthPattern "yyyy MMMM" (invariant)
+ $wants = '2004 September';
+ $this->assertEquals($wants, $dateFormatter->format($time, 'y'));
+ //var_dump(date('c',strtotime($dateFormatter->format($time,'y'))));
+ }
+
+ public function testCustomPatterns() {
+ $dateFormatter = new DateFormat();
+
+ $time = @mktime(9, 9, 9, 9, 1, 2004);
+
+ $pattern = "'Hello' EEEE, 'it should be' MMM yyyy HH:mm:ss!!!";
+ $wants = 'Hello Wednesday, it should be Sep 2004 09:09:09!!!';
+ $this->assertEquals($wants, $dateFormatter->format($time, $pattern));
+ }
+}
+
+?> \ No newline at end of file