From 6dd4e4616dcd9034c169f460dafed0a87091fec9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Barrois?= Date: Fri, 7 May 2010 19:56:36 +0200 Subject: [PATCH] Fix UTs for make_datetime MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit PHP can't make a difference between two DateTime with different values... Signed-off-by: Raphaël Barrois --- ut/dateparsertest.php | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/ut/dateparsertest.php b/ut/dateparsertest.php index 19fca15..224122c 100644 --- a/ut/dateparsertest.php +++ b/ut/dateparsertest.php @@ -23,20 +23,44 @@ require_once dirname(__FILE__) . '/../include/test.inc.php'; class DateParserTest extends PlTestCase { + protected function assertSameDate($d1, $d2) + { + $this->assertTrue($d1 instanceof DateTime); + $this->assertTrue($d2 instanceof DateTime); + $this->assertEquals($d1->format('c'), $d2->format('c')); + } + + protected function assertNotSameDate($d1, $d2) + { + $this->assertTrue($d1 instanceof DateTime); + $this->assertTrue($d2 instanceof DateTime); + $this->assertNotEquals($d1->format('c'), $d2->format('c')); + } + public function testNumeric() { - $this->assertEquals(make_datetime('12000101'), new DateTime('1200-01-01')); - $this->assertEquals(make_datetime('20100101'), new DateTime('2010-01-01')); - $this->assertEquals(make_datetime('20100101124213'), new DateTime('2010-01-01 12:42:13')); - $this->assertEquals(make_datetime('1273232546'), new DateTime('2010-05-07 13:42:26')); - $this->assertEquals(make_datetime(1273232546), new DateTime('2010-05-07 13:42:42')); + $this->assertSameDate(make_datetime('12000101'), new DateTime('1200-01-01')); + $this->assertSameDate(make_datetime('20100101'), new DateTime('2010-01-01')); + $this->assertSameDate(make_datetime('20100101124213'), new DateTime('2010-01-01 12:42:13')); + $this->assertSameDate(make_datetime('1273232546'), new DateTime('@1273232546')); + $this->assertSameDate(make_datetime(1273232546), new DateTime('@1273232546')); + + $this->assertNotSameDate(make_datetime('12000101'), new DateTime('1200-01-02')); + $this->assertNotSameDate(make_datetime('20100101'), new DateTime('2010-01-02')); + $this->assertNotSameDate(make_datetime('20100101124213'), new DateTime('2010-01-01 12:42:14')); + $this->assertNotSameDate(make_datetime('1273232546'), new DateTime('@1273232547')); + $this->assertNotSameDate(make_datetime(1273232546), new DateTime('@1273232547')); } public function testText() { - $this->assertEquals(make_datetime('2010-01-01'), new DateTime('2010-01-01')); - $this->assertEquals(make_datetime('1600-01-01'), new DateTime('1600-01-01')); - $this->assertEquals(make_datetime('2010-01-01 08:09:10'), new DateTime('2010-01-01 08:09:10')); + $this->assertSameDate(make_datetime('2010-01-01'), new DateTime('2010-01-01')); + $this->assertSameDate(make_datetime('1600-01-01'), new DateTime('1600-01-01')); + $this->assertSameDate(make_datetime('2010-01-01 08:09:10'), new DateTime('2010-01-01 08:09:10')); + + $this->assertNotSameDate(make_datetime('2010-01-01'), new DateTime('2010-01-02')); + $this->assertNotSameDate(make_datetime('1600-01-01'), new DateTime('1600-01-02')); + $this->assertNotSameDate(make_datetime('2010-01-01 08:09:10'), new DateTime('2010-01-01 08:09:11')); } } -- 2.1.4