diff options
| author | Ondřej Surý <ondrej@sury.org> | 2012-01-11 15:43:42 +0100 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2012-01-11 15:43:42 +0100 |
| commit | 8f1428d29ef91d74b4d272af171675f2971eb15b (patch) | |
| tree | a1f4f4d7dc5bfe8096806dd5c5266634e19fa07a /ext/date/tests/bug54851.phpt | |
| parent | c6e4182351e0173fe58de141e143aac2eacf5efe (diff) | |
| download | php-upstream/5.3.9.tar.gz | |
Imported Upstream version 5.3.9upstream/5.3.9
Diffstat (limited to 'ext/date/tests/bug54851.phpt')
| -rw-r--r-- | ext/date/tests/bug54851.phpt | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/ext/date/tests/bug54851.phpt b/ext/date/tests/bug54851.phpt new file mode 100644 index 000000000..84d18ba5a --- /dev/null +++ b/ext/date/tests/bug54851.phpt @@ -0,0 +1,57 @@ +--TEST-- +Bug #54851 (DateTime::createFromFormat() doesn't interpret "D") +--INI-- +date.timezone=UTC +--FILE-- +<?php +$date = new DateTime("2011-05-17T22:14:12"); +$date2 = DateTime::createFromFormat("D H i s", $date->format("D"). ' 0 00 00'); +echo $date->format("r"), "\n"; +echo $date2->format("r"), "\n"; +var_dump($date->format("D") == $date2->format("D")); + +// Verify that our implementation works regardless of position +$datePre = DateTime::createFromFormat("!D d M Y", "Fri 17 may 2011"); +$datePost = DateTime::createFromFormat("!d M Y D", "17 may 2011 Fri"); +echo $datePre->format("r"), "\n"; +echo $datePost->format("r"), "\n"; +var_dump($datePre->format("Y-m-d") == $datePost->format("Y-m-d")); + +// Verify that our implementation is the same as for the constructor and +// strtotime +$date1 = new DateTime("Tuesday"); +$date2 = DateTime::createFromFormat("D H i s", "Tuesday 0 00 00"); +echo $date1->format('r'), "\n"; +echo $date2->format('r'), "\n"; +var_dump($date1->format('D') == $date2->format('D')); + +// - when the day is not the same as the day on the original date: +$date1 = DateTime::createFromFormat("!D d M Y", "Fri 19 November 2011"); +$date2 = new DateTime("Fri 19 November 2011"); +echo $date1->format('r'), "\n"; +echo $date2->format('r'), "\n"; +var_dump($date1->format('Y-m-d') == $date2->format('Y-m-d')); + +// - when the day *is* the same as the day on the original date: +$date1 = DateTime::createFromFormat("!D d M Y", "Sat 19 November 2011"); +$date2 = new DateTime("Sat 19 November 2011"); +echo $date1->format('r'), "\n"; +echo $date2->format('r'), "\n"; +var_dump($date1->format('Y-m-d') == $date2->format('Y-m-d')); +?> +--EXPECTF-- +Tue, 17 May 2011 22:14:12 +0000 +Tue, %d %s %d 00:00:00 +0000 +bool(true) +Fri, 20 May 2011 00:00:00 +0000 +Fri, 20 May 2011 00:00:00 +0000 +bool(true) +Tue, %d %s %d 00:00:00 +0000 +Tue, %d %s %d 00:00:00 +0000 +bool(true) +Fri, 25 Nov 2011 00:00:00 +0000 +Fri, 25 Nov 2011 00:00:00 +0000 +bool(true) +Sat, 19 Nov 2011 00:00:00 +0000 +Sat, 19 Nov 2011 00:00:00 +0000 +bool(true) |
