/** * Test the creation methods. */ function test_full_format() { $parser = new ISO8601StringParser('2005-05-23T15:25:10-04:00'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), 23); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), -4); $this->assertEqual($parser->offsetMinute(), 0); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('2005-05-03 15:25:10-04:30'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), 3); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), -4); $this->assertEqual($parser->offsetMinute(), -30); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('20050523152510-0400'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), 23); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), -4); $this->assertEqual($parser->offsetMinute(), 0); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('20050523152510'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), 23); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('2005-05-03 15:25:10Z'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), 3); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), 0); $this->assertEqual($parser->offsetMinute(), 0); $this->assertEqual($parser->offsetSecond(), 0); $parser = new ISO8601StringParser('2006-11-12 18:00:00'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2006); $this->assertEqual($parser->month(), 11); $this->assertEqual($parser->day(), 12); $this->assertEqual($parser->hour(), 18); $this->assertEqual($parser->minute(), 0); $this->assertEqual($parser->second(), 0); $this->assertEqual($parser->offsetHour(), 0); $this->assertEqual($parser->offsetMinute(), 0); $this->assertEqual($parser->offsetSecond(), 0); $parser = new ISO8601StringParser('2005-05-03'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), 3); $this->assertEqual($parser->hour(), NULL); $this->assertEqual($parser->minute(), NULL); $this->assertEqual($parser->second(), NULL); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('20050503'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), 3); $this->assertEqual($parser->hour(), NULL); $this->assertEqual($parser->minute(), NULL); $this->assertEqual($parser->second(), NULL); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('2005-05'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), NULL); $this->assertEqual($parser->hour(), NULL); $this->assertEqual($parser->minute(), NULL); $this->assertEqual($parser->second(), NULL); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('200505'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), 5); $this->assertEqual($parser->day(), NULL); $this->assertEqual($parser->hour(), NULL); $this->assertEqual($parser->minute(), NULL); $this->assertEqual($parser->second(), NULL); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601StringParser('2005'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), 2005); $this->assertEqual($parser->month(), NULL); $this->assertEqual($parser->day(), NULL); $this->assertEqual($parser->hour(), NULL); $this->assertEqual($parser->minute(), NULL); $this->assertEqual($parser->second(), NULL); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601TimeStringParser('15:25:10Z'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), NULL); $this->assertEqual($parser->month(), NULL); $this->assertEqual($parser->day(), NULL); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), 0); $this->assertEqual($parser->offsetMinute(), 0); $this->assertEqual($parser->offsetSecond(), 0); $parser = new ISO8601TimeStringParser('15:25:10'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), NULL); $this->assertEqual($parser->month(), NULL); $this->assertEqual($parser->day(), NULL); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601TimeStringParser('T152510'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), NULL); $this->assertEqual($parser->month(), NULL); $this->assertEqual($parser->day(), NULL); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); $parser = new ISO8601TimeStringParser('T152510.375'); $this->assertTrue($parser->canHandle()); $this->assertEqual($parser->year(), NULL); $this->assertEqual($parser->month(), NULL); $this->assertEqual($parser->day(), NULL); $this->assertEqual($parser->hour(), 15); $this->assertEqual($parser->minute(), 25); $this->assertEqual($parser->second(), 10.375); $this->assertEqual($parser->offsetHour(), NULL); $this->assertEqual($parser->offsetMinute(), NULL); $this->assertEqual($parser->offsetSecond(), NULL); }