From f476669ca0f59a861d6c612bc6f4ede46aec9bc3 Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Tue, 12 May 2009 21:00:37 -0400 Subject: [PATCH] port a bunch more tests --- .../test/Horde/Date/Parser/Locale/BaseTest.php | 736 +++++++++++---------- 1 file changed, 385 insertions(+), 351 deletions(-) diff --git a/framework/Date_Parser/test/Horde/Date/Parser/Locale/BaseTest.php b/framework/Date_Parser/test/Horde/Date/Parser/Locale/BaseTest.php index 057658f1d..e4c95bf9d 100644 --- a/framework/Date_Parser/test/Horde/Date/Parser/Locale/BaseTest.php +++ b/framework/Date_Parser/test/Horde/Date/Parser/Locale/BaseTest.php @@ -62,7 +62,7 @@ class Horde_Date_Parser_Locale_BaseTest extends Horde_Test_Case public function testAfternoonYesterday() { - $this->assertEquals('2006-08-15 17:30:00', (string)$this->parser->parse('afternoon yesterday')); + $this->assertEquals('2006-08-15 15:00:00', (string)$this->parser->parse('afternoon yesterday')); } public function test3rdWednesdayInNovember() @@ -75,586 +75,620 @@ class Horde_Date_Parser_Locale_BaseTest extends Horde_Test_Case $this->assertEquals('2006-08-09 12:00:00', (string)$this->parser->parse('4th day last week')); } - /* - def test_parse_guess_dates - # rm_sd - - time = parse_now("may 27") - assert_equal Time.local(2007, 5, 27, 12), time - - time = parse_now("may 28", :context => :past) - assert_equal Time.local(2006, 5, 28, 12), time - - time = parse_now("may 28 5pm", :context => :past) - assert_equal Time.local(2006, 5, 28, 17), time - - time = parse_now("may 28 at 5pm", :context => :past) - assert_equal Time.local(2006, 5, 28, 17), time - - time = parse_now("may 28 at 5:32.19pm", :context => :past) - assert_equal Time.local(2006, 5, 28, 17, 32, 19), time - - # rm_od - - time = parse_now("may 27th") - assert_equal Time.local(2007, 5, 27, 12), time + public function testTwoMonthsAgoThisFriday() + { + $this->assertEquals('2006-06-18 12:00:00', (string)$this->parser->parse('two months ago this friday')); + } - time = parse_now("may 27th", :context => :past) - assert_equal Time.local(2006, 5, 27, 12), time + public function testParseGuessDates_rm_sd() + { + $time = $this->parser->parse("may 27"); + $this->assertEquals(new Horde_Date('2007-05-27 12:00:00'), $time); - time = parse_now("may 27th 5:00 pm", :context => :past) - assert_equal Time.local(2006, 5, 27, 17), time + $time = $this->parser->parse("may 28", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006-05-28 12:00:00'), $time); - time = parse_now("may 27th at 5pm", :context => :past) - assert_equal Time.local(2006, 5, 27, 17), time + $time = $this->parser->parse("may 28 5pm", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006-05-28 17:00:00'), $time); - time = parse_now("may 27th at 5", :ambiguous_time_range => :none) - assert_equal Time.local(2007, 5, 27, 5), time + $time = $this->parser->parse("may 28 at 5pm", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006-05-28 17:00:00'), $time); - # rm_sy + $time = $this->parser->parse("may 28 at 5:32.19pm", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006-05-28 17:32:19'), $time); + } - time = parse_now("June 1979") - assert_equal Time.local(1979, 6, 16, 0), time + public function testParseGuessDates_rm_od() + { + $time = $this->parser->parse("may 27th"); + $this->assertEquals(new Horde_Date('2007-05-27 12:00:00'), $time); - time = parse_now("dec 79") - assert_equal Time.local(1979, 12, 16, 12), time + $time = $this->parser->parse("may 27th", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006-05-27 12:00:00'), $time); - # rm_sd_sy + $time = $this->parser->parse("may 27th 5:00 pm", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006-05-27 17:00:00'), $time); - time = parse_now("jan 3 2010") - assert_equal Time.local(2010, 1, 3, 12), time + $time = $this->parser->parse("may 27th at 5pm", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006-05-27 17:00:00'), $time); - time = parse_now("jan 3 2010 midnight") - assert_equal Time.local(2010, 1, 4, 0), time + $time = $this->parser->parse("may 27th at 5", array('ambiguousTimeRange' => 'none')); + $this->assertEquals(new Horde_Date('2007-05-27 05:00:00'), $time); + } - time = parse_now("jan 3 2010 at midnight") - assert_equal Time.local(2010, 1, 4, 0), time + public function testParseGuessDates_rm_sy() + { + $time = $this->parser->parse("June 1979"); + $this->assertEquals(new Horde_Date('1979-06-16 00:00:00'), $time); - time = parse_now("jan 3 2010 at 4", :ambiguous_time_range => :none) - assert_equal Time.local(2010, 1, 3, 4), time + $time = $this->parser->parse("dec 79"); + $this->assertEquals(new Horde_Date('1979-12-16 12:00:00'), $time); + } - #time = parse_now("January 12, '00") - #assert_equal Time.local(2000, 1, 12, 12), time + public function testParseGuessDates_rm_sd_sy() + { + $time = $this->parser->parse("jan 3 2010"); + $this->assertEquals(new Horde_Date('2010-01-03 12:00:00'), $time); - time = parse_now("may 27 79") - assert_equal Time.local(1979, 5, 27, 12), time + $time = $this->parser->parse("jan 3 2010 midnight"); + $this->assertEquals(new Horde_Date('2010-01-4 00:00:00'), $time); - time = parse_now("may 27 79 4:30") - assert_equal Time.local(1979, 5, 27, 16, 30), time + $time = $this->parser->parse("jan 3 2010 at midnight"); + $this->assertEquals(new Horde_Date('2010-01-04 00:00:00'), $time); - time = parse_now("may 27 79 at 4:30", :ambiguous_time_range => :none) - assert_equal Time.local(1979, 5, 27, 4, 30), time + $time = $this->parser->parse("jan 3 2010 at 4", array('ambiguousTimeRange' => 'none')); + $this->assertEquals(new Horde_Date('2010-01-03 04:00:00'), $time); - # sd_rm_sy + $time = $this->parser->parse("January 12, '00"); + $this->assertEquals(new Horde_Date('2000-01-12 12:00:00'), $time); - time = parse_now("3 jan 2010") - assert_equal Time.local(2010, 1, 3, 12), time + $time = $this->parser->parse("may 27 79"); + $this->assertEquals(new Horde_Date('1979-05-27 12:00:00'), $time); - time = parse_now("3 jan 2010 4pm") - assert_equal Time.local(2010, 1, 3, 16), time + $time = $this->parser->parse("may 27 79 4:30"); + $this->assertEquals(new Horde_Date('1979-05-27 16:30:00'), $time); - # sm_sd_sy + $time = $this->parser->parse("may 27 79 at 4:30", array('ambiguousTimeRange' => 'none')); + $this->assertEquals(new Horde_Date('1979-05-27 04:30:00'), $time); + } - time = parse_now("5/27/1979") - assert_equal Time.local(1979, 5, 27, 12), time + public function testParseGuessDates_sd_rm_sy() + { + $time = $this->parser->parse("3 jan 2010"); + $this->assertEquals(new Horde_Date('2010-01-03 12:00:00'), $time); - time = parse_now("5/27/1979 4am") - assert_equal Time.local(1979, 5, 27, 4), time + $time = $this->parser->parse("3 jan 2010 4pm"); + $this->assertEquals(new Horde_Date('2010-01-03 16:00:00'), $time); + } - # sd_sm_sy + public function testParseGuessDates_sm_sd_sy() + { + $time = $this->parser->parse("5/27/1979"); + $this->assertEquals(new Horde_Date('1979-05-27 12:00:00'), $time); - time = parse_now("27/5/1979") - assert_equal Time.local(1979, 5, 27, 12), time + $time = $this->parser->parse("5/27/1979 4am"); + $this->assertEquals(new Horde_Date('1979-05-27 04:00:00'), $time); + } - time = parse_now("27/5/1979 @ 0700") - assert_equal Time.local(1979, 5, 27, 7), time + public function testParseGuessDates_sd_sm_sy() + { + /* + $time = $this->parser->parse("27/5/1979"); + $this->assertEquals(new Horde_Date('1979, 5, 27, 12'), $time); - # sm_sy + $time = $this->parser->parse("27/5/1979 @ 0700"); + $this->assertEquals(new Horde_Date('1979, 5, 27, 7'), $time); + */ + } - time = parse_now("05/06") - assert_equal Time.local(2006, 5, 16, 12), time + public function testParseGuessDates_sm_sy() + { + /* + $time = $this->parser->parse("05/06"); + $this->assertEquals(new Horde_Date('2006, 5, 16, 12'), $time); - time = parse_now("12/06") - assert_equal Time.local(2006, 12, 16, 12), time + $time = $this->parser->parse("12/06"); + $this->assertEquals(new Horde_Date('2006, 12, 16, 12'), $time); - time = parse_now("13/06") + $time = $this->parser->parse("13/06"); assert_equal nil, time + */ + } - # sy_sm_sd - - time = parse_now("2000-1-1") - assert_equal Time.local(2000, 1, 1, 12), time - - time = parse_now("2006-08-20") - assert_equal Time.local(2006, 8, 20, 12), time + public function testParseGuessDates_sy_sm_sd() + { + /* + $time = $this->parser->parse("2000-1-1"); + $this->assertEquals(new Horde_Date('2000, 1, 1, 12'), $time); - time = parse_now("2006-08-20 7pm") - assert_equal Time.local(2006, 8, 20, 19), time + $time = $this->parser->parse("2006-08-20"); + $this->assertEquals(new Horde_Date('2006, 8, 20, 12'), $time); - time = parse_now("2006-08-20 03:00") - assert_equal Time.local(2006, 8, 20, 3), time + $time = $this->parser->parse("2006-08-20 7pm"); + $this->assertEquals(new Horde_Date('2006, 8, 20, 19'), $time); - time = parse_now("2006-08-20 03:30:30") - assert_equal Time.local(2006, 8, 20, 3, 30, 30), time + $time = $this->parser->parse("2006-08-20 03:00"); + $this->assertEquals(new Horde_Date('2006, 8, 20, 3'), $time); - time = parse_now("2006-08-20 15:30:30") - assert_equal Time.local(2006, 8, 20, 15, 30, 30), time + $time = $this->parser->parse("2006-08-20 03:30:30"); + $this->assertEquals(new Horde_Date('2006, 8, 20, 3, 30, 30'), $time); - time = parse_now("2006-08-20 15:30.30") - assert_equal Time.local(2006, 8, 20, 15, 30, 30), time + $time = $this->parser->parse("2006-08-20 15:30:30"); + $this->assertEquals(new Horde_Date('2006, 8, 20, 15, 30, 30'), $time); - # rdn_rm_rd_rt_rtz_ry + $time = $this->parser->parse("2006-08-20 15:30.30"); + $this->assertEquals(new Horde_Date('2006, 8, 20, 15, 30, 30'), $time); + */ + } - time = parse_now("Mon Apr 02 17:00:00 PDT 2007") - assert_equal Time.local(2007, 4, 2, 17), time + public function testParseGuessDates_rdn_rm_rd_rt_rtz_ry() + { + /* + $time = $this->parser->parse("Mon Apr 02 17:00:00 PDT 2007"); + $this->assertEquals(new Horde_Date('2007, 4, 2, 17'), $time); now = Time.now - time = parse_now(now.to_s) + $time = $this->parser->parse(now.to_s) assert_equal now.to_s, time.to_s + */ + } - # rm_sd_rt - - #time = parse_now("jan 5 13:00") - #assert_equal Time.local(2007, 1, 5, 13), time + public function testParseGuessDates_rm_sd_rt() + { + /* + $time = $this->parser->parse("jan 5 13:00"); + $this->assertEquals(new Horde_Date('2007, 1, 5, 13'), $time); + */ + } - # due to limitations of the Time class, these don't work + public function testParseGuessDatesOverflow() + { + /* + # due to limitations of the Time class, these don't work - time = parse_now("may 40") + $time = $this->parser->parse("may 40"); assert_equal nil, time - time = parse_now("may 27 40") + $time = $this->parser->parse("may 27 40"); assert_equal nil, time - time = parse_now("1800-08-20") + $time = $this->parser->parse("1800-08-20"); assert_equal nil, time - end - - def test_foo - Chronic.parse('two months ago this friday') - end + */ + } - def test_parse_guess_r - time = parse_now("friday") - assert_equal Time.local(2006, 8, 18, 12), time + public function testParseGuessR() + { + /* + $time = $this->parser->parse("friday"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 12'), $time); - time = parse_now("tue") - assert_equal Time.local(2006, 8, 22, 12), time + $time = $this->parser->parse("tue"); + $this->assertEquals(new Horde_Date('2006, 8, 22, 12'), $time); - time = parse_now("5") - assert_equal Time.local(2006, 8, 16, 17), time + $time = $this->parser->parse("5"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 17'), $time); time = Chronic.parse("5", :now => Time.local(2006, 8, 16, 3, 0, 0, 0), :ambiguous_time_range => :none) - assert_equal Time.local(2006, 8, 16, 5), time + $this->assertEquals(new Horde_Date('2006, 8, 16, 5'), $time); - time = parse_now("13:00") - assert_equal Time.local(2006, 8, 17, 13), time + $time = $this->parser->parse("13:00"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 13'), $time); - time = parse_now("13:45") - assert_equal Time.local(2006, 8, 17, 13, 45), time + $time = $this->parser->parse("13:45"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 13, 45'), $time); - time = parse_now("november") - assert_equal Time.local(2006, 11, 16), time - end + $time = $this->parser->parse("november"); + $this->assertEquals(new Horde_Date('2006, 11, 16'), $time); + */ + } - def test_parse_guess_rr - time = parse_now("friday 13:00") - assert_equal Time.local(2006, 8, 18, 13), time + public function testParseGuessRR() + { + /* + $time = $this->parser->parse("friday 13:00"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 13'), $time); - time = parse_now("monday 4:00") - assert_equal Time.local(2006, 8, 21, 16), time + $time = $this->parser->parse("monday 4:00"); + $this->assertEquals(new Horde_Date('2006, 8, 21, 16'), $time); - time = parse_now("sat 4:00", :ambiguous_time_range => :none) - assert_equal Time.local(2006, 8, 19, 4), time + $time = $this->parser->parse("sat 4:00", :ambiguous_time_range => :none) + $this->assertEquals(new Horde_Date('2006, 8, 19, 4'), $time); - time = parse_now("sunday 4:20", :ambiguous_time_range => :none) - assert_equal Time.local(2006, 8, 20, 4, 20), time + $time = $this->parser->parse("sunday 4:20", :ambiguous_time_range => :none) + $this->assertEquals(new Horde_Date('2006, 8, 20, 4, 20'), $time); - time = parse_now("4 pm") - assert_equal Time.local(2006, 8, 16, 16), time + $time = $this->parser->parse("4 pm"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 16'), $time); - time = parse_now("4 am", :ambiguous_time_range => :none) - assert_equal Time.local(2006, 8, 16, 4), time + $time = $this->parser->parse("4 am", :ambiguous_time_range => :none) + $this->assertEquals(new Horde_Date('2006, 8, 16, 4'), $time); - time = parse_now("12 pm") - assert_equal Time.local(2006, 8, 16, 12), time + $time = $this->parser->parse("12 pm"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 12'), $time); - time = parse_now("12:01 pm") - assert_equal Time.local(2006, 8, 16, 12, 1), time + $time = $this->parser->parse("12:01 pm"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 12, 1'), $time); - time = parse_now("12:01 am") - assert_equal Time.local(2006, 8, 16, 0, 1), time + $time = $this->parser->parse("12:01 am"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 0, 1'), $time); - time = parse_now("12 am") - assert_equal Time.local(2006, 8, 16), time + $time = $this->parser->parse("12 am"); + $this->assertEquals(new Horde_Date('2006, 8, 16'), $time); - time = parse_now("4:00 in the morning") - assert_equal Time.local(2006, 8, 16, 4), time + $time = $this->parser->parse("4:00 in the morning"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 4'), $time); - time = parse_now("november 4") - assert_equal Time.local(2006, 11, 4, 12), time + $time = $this->parser->parse("november 4"); + $this->assertEquals(new Horde_Date('2006, 11, 4, 12'), $time); - time = parse_now("aug 24") - assert_equal Time.local(2006, 8, 24, 12), time - end + $time = $this->parser->parse("aug 24"); + $this->assertEquals(new Horde_Date('2006, 8, 24, 12'), $time); + */ + } - def test_parse_guess_rrr - time = parse_now("friday 1 pm") - assert_equal Time.local(2006, 8, 18, 13), time + public function testParseGuessRRR() + { + /* + $time = $this->parser->parse("friday 1 pm"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 13'), $time); - time = parse_now("friday 11 at night") - assert_equal Time.local(2006, 8, 18, 23), time + $time = $this->parser->parse("friday 11 at night"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 23'), $time); - time = parse_now("friday 11 in the evening") - assert_equal Time.local(2006, 8, 18, 23), time + $time = $this->parser->parse("friday 11 in the evening"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 23'), $time); - time = parse_now("sunday 6am") - assert_equal Time.local(2006, 8, 20, 6), time + $time = $this->parser->parse("sunday 6am"); + $this->assertEquals(new Horde_Date('2006, 8, 20, 6'), $time); - time = parse_now("friday evening at 7") - assert_equal Time.local(2006, 8, 18, 19), time - end + $time = $this->parser->parse("friday evening at 7"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 19'), $time); + */ + } + /* def test_parse_guess_gr # year - time = parse_now("this year") - assert_equal Time.local(2006, 10, 24, 12, 30), time + $time = $this->parser->parse("this year"); + $this->assertEquals(new Horde_Date('2006, 10, 24, 12, 30'), $time); - time = parse_now("this year", :context => :past) - assert_equal Time.local(2006, 4, 24, 12, 30), time + $time = $this->parser->parse("this year", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006, 4, 24, 12, 30'), $time); # month - time = parse_now("this month") - assert_equal Time.local(2006, 8, 24, 12), time + $time = $this->parser->parse("this month"); + $this->assertEquals(new Horde_Date('2006, 8, 24, 12'), $time); - time = parse_now("this month", :context => :past) - assert_equal Time.local(2006, 8, 8, 12), time + $time = $this->parser->parse("this month", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006, 8, 8, 12'), $time); time = Chronic.parse("next month", :now => Time.local(2006, 11, 15)) - assert_equal Time.local(2006, 12, 16, 12), time + $this->assertEquals(new Horde_Date('2006, 12, 16, 12'), $time); # month name - time = parse_now("last november") - assert_equal Time.local(2005, 11, 16), time + $time = $this->parser->parse("last november"); + $this->assertEquals(new Horde_Date('2005, 11, 16'), $time); # fortnight - time = parse_now("this fortnight") - assert_equal Time.local(2006, 8, 21, 19, 30), time + $time = $this->parser->parse("this fortnight"); + $this->assertEquals(new Horde_Date('2006, 8, 21, 19, 30'), $time); - time = parse_now("this fortnight", :context => :past) - assert_equal Time.local(2006, 8, 14, 19), time + $time = $this->parser->parse("this fortnight", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006, 8, 14, 19'), $time); # week - time = parse_now("this week") - assert_equal Time.local(2006, 8, 18, 7, 30), time + $time = $this->parser->parse("this week"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 7, 30'), $time); - time = parse_now("this week", :context => :past) - assert_equal Time.local(2006, 8, 14, 19), time + $time = $this->parser->parse("this week", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006, 8, 14, 19'), $time); # weekend - time = parse_now("this weekend") - assert_equal Time.local(2006, 8, 20), time + $time = $this->parser->parse("this weekend"); + $this->assertEquals(new Horde_Date('2006, 8, 20'), $time); - time = parse_now("this weekend", :context => :past) - assert_equal Time.local(2006, 8, 13), time + $time = $this->parser->parse("this weekend", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006, 8, 13'), $time); - time = parse_now("last weekend") - assert_equal Time.local(2006, 8, 13), time + $time = $this->parser->parse("last weekend"); + $this->assertEquals(new Horde_Date('2006, 8, 13'), $time); # day - time = parse_now("this day") - assert_equal Time.local(2006, 8, 16, 19, 30), time + $time = $this->parser->parse("this day"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 19, 30'), $time); - time = parse_now("this day", :context => :past) - assert_equal Time.local(2006, 8, 16, 7), time + $time = $this->parser->parse("this day", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006, 8, 16, 7'), $time); - time = parse_now("today") - assert_equal Time.local(2006, 8, 16, 19, 30), time + $time = $this->parser->parse("today"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 19, 30'), $time); - time = parse_now("yesterday") - assert_equal Time.local(2006, 8, 15, 12), time + $time = $this->parser->parse("yesterday"); + $this->assertEquals(new Horde_Date('2006, 8, 15, 12'), $time); - time = parse_now("tomorrow") - assert_equal Time.local(2006, 8, 17, 12), time + $time = $this->parser->parse("tomorrow"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 12'), $time); # day name - time = parse_now("this tuesday") - assert_equal Time.local(2006, 8, 22, 12), time + $time = $this->parser->parse("this tuesday"); + $this->assertEquals(new Horde_Date('2006, 8, 22, 12'), $time); - time = parse_now("next tuesday") - assert_equal Time.local(2006, 8, 22, 12), time + $time = $this->parser->parse("next tuesday"); + $this->assertEquals(new Horde_Date('2006, 8, 22, 12'), $time); - time = parse_now("last tuesday") - assert_equal Time.local(2006, 8, 15, 12), time + $time = $this->parser->parse("last tuesday"); + $this->assertEquals(new Horde_Date('2006, 8, 15, 12'), $time); - time = parse_now("this wed") - assert_equal Time.local(2006, 8, 23, 12), time + $time = $this->parser->parse("this wed"); + $this->assertEquals(new Horde_Date('2006, 8, 23, 12'), $time); - time = parse_now("next wed") - assert_equal Time.local(2006, 8, 23, 12), time + $time = $this->parser->parse("next wed"); + $this->assertEquals(new Horde_Date('2006, 8, 23, 12'), $time); - time = parse_now("last wed") - assert_equal Time.local(2006, 8, 9, 12), time + $time = $this->parser->parse("last wed"); + $this->assertEquals(new Horde_Date('2006, 8, 9, 12'), $time); # day portion - time = parse_now("this morning") - assert_equal Time.local(2006, 8, 16, 9), time + $time = $this->parser->parse("this morning"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 9'), $time); - time = parse_now("tonight") - assert_equal Time.local(2006, 8, 16, 22), time + $time = $this->parser->parse("tonight"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 22'), $time); # minute - time = parse_now("next minute") - assert_equal Time.local(2006, 8, 16, 14, 1, 30), time + $time = $this->parser->parse("next minute"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 14, 1, 30'), $time); # second - time = parse_now("this second") - assert_equal Time.local(2006, 8, 16, 14), time + $time = $this->parser->parse("this second"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 14'), $time); - time = parse_now("this second", :context => :past) - assert_equal Time.local(2006, 8, 16, 14), time + $time = $this->parser->parse("this second", array('context' => 'past')); + $this->assertEquals(new Horde_Date('2006, 8, 16, 14'), $time); - time = parse_now("next second") - assert_equal Time.local(2006, 8, 16, 14, 0, 1), time + $time = $this->parser->parse("next second"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 14, 0, 1'), $time); - time = parse_now("last second") - assert_equal Time.local(2006, 8, 16, 13, 59, 59), time + $time = $this->parser->parse("last second"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 13, 59, 59'), $time); end def test_parse_guess_grr - time = parse_now("yesterday at 4:00") - assert_equal Time.local(2006, 8, 15, 16), time + $time = $this->parser->parse("yesterday at 4:00"); + $this->assertEquals(new Horde_Date('2006, 8, 15, 16'), $time); - time = parse_now("today at 9:00") - assert_equal Time.local(2006, 8, 16, 9), time + $time = $this->parser->parse("today at 9:00"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 9'), $time); - time = parse_now("today at 2100") - assert_equal Time.local(2006, 8, 16, 21), time + $time = $this->parser->parse("today at 2100"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 21'), $time); - time = parse_now("this day at 0900") - assert_equal Time.local(2006, 8, 16, 9), time + $time = $this->parser->parse("this day at 0900"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 9'), $time); - time = parse_now("tomorrow at 0900") - assert_equal Time.local(2006, 8, 17, 9), time + $time = $this->parser->parse("tomorrow at 0900"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 9'), $time); - time = parse_now("yesterday at 4:00", :ambiguous_time_range => :none) - assert_equal Time.local(2006, 8, 15, 4), time + $time = $this->parser->parse("yesterday at 4:00", :ambiguous_time_range => :none) + $this->assertEquals(new Horde_Date('2006, 8, 15, 4'), $time); - time = parse_now("last friday at 4:00") - assert_equal Time.local(2006, 8, 11, 16), time + $time = $this->parser->parse("last friday at 4:00"); + $this->assertEquals(new Horde_Date('2006, 8, 11, 16'), $time); - time = parse_now("next wed 4:00") - assert_equal Time.local(2006, 8, 23, 16), time + $time = $this->parser->parse("next wed 4:00"); + $this->assertEquals(new Horde_Date('2006, 8, 23, 16'), $time); - time = parse_now("yesterday afternoon") - assert_equal Time.local(2006, 8, 15, 15), time + $time = $this->parser->parse("yesterday afternoon"); + $this->assertEquals(new Horde_Date('2006, 8, 15, 15'), $time); - time = parse_now("last week tuesday") - assert_equal Time.local(2006, 8, 8, 12), time + $time = $this->parser->parse("last week tuesday"); + $this->assertEquals(new Horde_Date('2006, 8, 8, 12'), $time); - time = parse_now("tonight at 7") - assert_equal Time.local(2006, 8, 16, 19), time + $time = $this->parser->parse("tonight at 7"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 19'), $time); - time = parse_now("tonight 7") - assert_equal Time.local(2006, 8, 16, 19), time + $time = $this->parser->parse("tonight 7"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 19'), $time); - time = parse_now("7 tonight") - assert_equal Time.local(2006, 8, 16, 19), time + $time = $this->parser->parse("7 tonight"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 19'), $time); end def test_parse_guess_grrr - time = parse_now("today at 6:00pm") - assert_equal Time.local(2006, 8, 16, 18), time + $time = $this->parser->parse("today at 6:00pm"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 18'), $time); - time = parse_now("today at 6:00am") - assert_equal Time.local(2006, 8, 16, 6), time + $time = $this->parser->parse("today at 6:00am"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 6'), $time); - time = parse_now("this day 1800") - assert_equal Time.local(2006, 8, 16, 18), time + $time = $this->parser->parse("this day 1800"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 18'), $time); - time = parse_now("yesterday at 4:00pm") - assert_equal Time.local(2006, 8, 15, 16), time + $time = $this->parser->parse("yesterday at 4:00pm"); + $this->assertEquals(new Horde_Date('2006, 8, 15, 16'), $time); - time = parse_now("tomorrow evening at 7") - assert_equal Time.local(2006, 8, 17, 19), time + $time = $this->parser->parse("tomorrow evening at 7"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 19'), $time); - time = parse_now("tomorrow morning at 5:30") - assert_equal Time.local(2006, 8, 17, 5, 30), time + $time = $this->parser->parse("tomorrow morning at 5:30"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 5, 30'), $time); - time = parse_now("next monday at 12:01 am") - assert_equal Time.local(2006, 8, 21, 00, 1), time + $time = $this->parser->parse("next monday at 12:01 am"); + $this->assertEquals(new Horde_Date('2006, 8, 21, 00, 1'), $time); - time = parse_now("next monday at 12:01 pm") - assert_equal Time.local(2006, 8, 21, 12, 1), time + $time = $this->parser->parse("next monday at 12:01 pm"); + $this->assertEquals(new Horde_Date('2006, 8, 21, 12, 1'), $time); end def test_parse_guess_rgr - time = parse_now("afternoon yesterday") - assert_equal Time.local(2006, 8, 15, 15), time + $time = $this->parser->parse("afternoon yesterday"); + $this->assertEquals(new Horde_Date('2006, 8, 15, 15'), $time); - time = parse_now("tuesday last week") - assert_equal Time.local(2006, 8, 8, 12), time + $time = $this->parser->parse("tuesday last week"); + $this->assertEquals(new Horde_Date('2006, 8, 8, 12'), $time); end def test_parse_guess_s_r_p # past - time = parse_now("3 years ago") - assert_equal Time.local(2003, 8, 16, 14), time + $time = $this->parser->parse("3 years ago"); + $this->assertEquals(new Horde_Date('2003, 8, 16, 14'), $time); - time = parse_now("1 month ago") - assert_equal Time.local(2006, 7, 16, 14), time + $time = $this->parser->parse("1 month ago"); + $this->assertEquals(new Horde_Date('2006, 7, 16, 14'), $time); - time = parse_now("1 fortnight ago") - assert_equal Time.local(2006, 8, 2, 14), time + $time = $this->parser->parse("1 fortnight ago"); + $this->assertEquals(new Horde_Date('2006, 8, 2, 14'), $time); - time = parse_now("2 fortnights ago") - assert_equal Time.local(2006, 7, 19, 14), time + $time = $this->parser->parse("2 fortnights ago"); + $this->assertEquals(new Horde_Date('2006, 7, 19, 14'), $time); - time = parse_now("3 weeks ago") - assert_equal Time.local(2006, 7, 26, 14), time + $time = $this->parser->parse("3 weeks ago"); + $this->assertEquals(new Horde_Date('2006, 7, 26, 14'), $time); - time = parse_now("2 weekends ago") - assert_equal Time.local(2006, 8, 5), time + $time = $this->parser->parse("2 weekends ago"); + $this->assertEquals(new Horde_Date('2006, 8, 5'), $time); - time = parse_now("3 days ago") - assert_equal Time.local(2006, 8, 13, 14), time + $time = $this->parser->parse("3 days ago"); + $this->assertEquals(new Horde_Date('2006, 8, 13, 14'), $time); - #time = parse_now("1 monday ago") - #assert_equal Time.local(2006, 8, 14, 12), time + #time = parse_now("1 monday ago"); + #assert_equal Time.local(2006, 8, 14, 12'), $time); - time = parse_now("5 mornings ago") - assert_equal Time.local(2006, 8, 12, 9), time + $time = $this->parser->parse("5 mornings ago"); + $this->assertEquals(new Horde_Date('2006, 8, 12, 9'), $time); - time = parse_now("7 hours ago") - assert_equal Time.local(2006, 8, 16, 7), time + $time = $this->parser->parse("7 hours ago"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 7'), $time); - time = parse_now("3 minutes ago") - assert_equal Time.local(2006, 8, 16, 13, 57), time + $time = $this->parser->parse("3 minutes ago"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 13, 57'), $time); - time = parse_now("20 seconds before now") - assert_equal Time.local(2006, 8, 16, 13, 59, 40), time + $time = $this->parser->parse("20 seconds before now"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 13, 59, 40'), $time); # future - time = parse_now("3 years from now") - assert_equal Time.local(2009, 8, 16, 14, 0, 0), time + $time = $this->parser->parse("3 years from now"); + $this->assertEquals(new Horde_Date('2009, 8, 16, 14, 0, 0'), $time); - time = parse_now("6 months hence") - assert_equal Time.local(2007, 2, 16, 14), time + $time = $this->parser->parse("6 months hence"); + $this->assertEquals(new Horde_Date('2007, 2, 16, 14'), $time); - time = parse_now("3 fortnights hence") - assert_equal Time.local(2006, 9, 27, 14), time + $time = $this->parser->parse("3 fortnights hence"); + $this->assertEquals(new Horde_Date('2006, 9, 27, 14'), $time); - time = parse_now("1 week from now") - assert_equal Time.local(2006, 8, 23, 14, 0, 0), time + $time = $this->parser->parse("1 week from now"); + $this->assertEquals(new Horde_Date('2006, 8, 23, 14, 0, 0'), $time); - time = parse_now("1 weekend from now") - assert_equal Time.local(2006, 8, 19), time + $time = $this->parser->parse("1 weekend from now"); + $this->assertEquals(new Horde_Date('2006, 8, 19'), $time); - time = parse_now("2 weekends from now") - assert_equal Time.local(2006, 8, 26), time + $time = $this->parser->parse("2 weekends from now"); + $this->assertEquals(new Horde_Date('2006, 8, 26'), $time); - time = parse_now("1 day hence") - assert_equal Time.local(2006, 8, 17, 14), time + $time = $this->parser->parse("1 day hence"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 14'), $time); - time = parse_now("5 mornings hence") - assert_equal Time.local(2006, 8, 21, 9), time + $time = $this->parser->parse("5 mornings hence"); + $this->assertEquals(new Horde_Date('2006, 8, 21, 9'), $time); - time = parse_now("1 hour from now") - assert_equal Time.local(2006, 8, 16, 15), time + $time = $this->parser->parse("1 hour from now"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 15'), $time); - time = parse_now("20 minutes hence") - assert_equal Time.local(2006, 8, 16, 14, 20), time + $time = $this->parser->parse("20 minutes hence"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 14, 20'), $time); - time = parse_now("20 seconds from now") - assert_equal Time.local(2006, 8, 16, 14, 0, 20), time + $time = $this->parser->parse("20 seconds from now"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 14, 0, 20'), $time); time = Chronic.parse("2 months ago", :now => Time.parse("2007-03-07 23:30")) - assert_equal Time.local(2007, 1, 7, 23, 30), time + $this->assertEquals(new Horde_Date('2007, 1, 7, 23, 30'), $time); end def test_parse_guess_p_s_r - time = parse_now("in 3 hours") - assert_equal Time.local(2006, 8, 16, 17), time + $time = $this->parser->parse("in 3 hours"); + $this->assertEquals(new Horde_Date('2006, 8, 16, 17'), $time); end def test_parse_guess_s_r_p_a # past - time = parse_now("3 years ago tomorrow") - assert_equal Time.local(2003, 8, 17, 12), time + $time = $this->parser->parse("3 years ago tomorrow"); + $this->assertEquals(new Horde_Date('2003, 8, 17, 12'), $time); - time = parse_now("3 years ago this friday") - assert_equal Time.local(2003, 8, 18, 12), time + $time = $this->parser->parse("3 years ago this friday"); + $this->assertEquals(new Horde_Date('2003, 8, 18, 12'), $time); - time = parse_now("3 months ago saturday at 5:00 pm") - assert_equal Time.local(2006, 5, 19, 17), time + $time = $this->parser->parse("3 months ago saturday at 5:00 pm"); + $this->assertEquals(new Horde_Date('2006, 5, 19, 17'), $time); - time = parse_now("2 days from this second") - assert_equal Time.local(2006, 8, 18, 14), time + $time = $this->parser->parse("2 days from this second"); + $this->assertEquals(new Horde_Date('2006, 8, 18, 14'), $time); - time = parse_now("7 hours before tomorrow at midnight") - assert_equal Time.local(2006, 8, 17, 17), time + $time = $this->parser->parse("7 hours before tomorrow at midnight"); + $this->assertEquals(new Horde_Date('2006, 8, 17, 17'), $time); # future end def test_parse_guess_o_r_s_r - time = parse_now("3rd wednesday in november") - assert_equal Time.local(2006, 11, 15, 12), time + $time = $this->parser->parse("3rd wednesday in november"); + $this->assertEquals(new Horde_Date('2006, 11, 15, 12'), $time); - time = parse_now("10th wednesday in november") + $time = $this->parser->parse("10th wednesday in november"); assert_equal nil, time - # time = parse_now("3rd wednesday in 2007") - # assert_equal Time.local(2007, 1, 20, 12), time + # time = parse_now("3rd wednesday in 2007"); + # assert_equal Time.local(2007, 1, 20, 12'), $time); end def test_parse_guess_o_r_g_r - time = parse_now("3rd month next year") - assert_equal Time.local(2007, 3, 16, 12, 30), time + $time = $this->parser->parse("3rd month next year"); + $this->assertEquals(new Horde_Date('2007, 3, 16, 12, 30'), $time); - time = parse_now("3rd thursday this september") - assert_equal Time.local(2006, 9, 21, 12), time + $time = $this->parser->parse("3rd thursday this september"); + $this->assertEquals(new Horde_Date('2006, 9, 21, 12'), $time); - time = parse_now("4th day last week") - assert_equal Time.local(2006, 8, 9, 12), time + $time = $this->parser->parse("4th day last week"); + $this->assertEquals(new Horde_Date('2006, 8, 9, 12'), $time); end def test_parse_guess_nonsense - time = parse_now("some stupid nonsense") + $time = $this->parser->parse("some stupid nonsense"); assert_equal nil, time end def test_parse_span span = parse_now("friday", :guess => false) - assert_equal Time.local(2006, 8, 18), span.begin - assert_equal Time.local(2006, 8, 19), span.end + $this->assertEquals(new Horde_Date('2006, 8, 18), span.begin + $this->assertEquals(new Horde_Date('2006, 8, 19), span.end span = parse_now("november", :guess => false) - assert_equal Time.local(2006, 11), span.begin - assert_equal Time.local(2006, 12), span.end + $this->assertEquals(new Horde_Date('2006, 11), span.begin + $this->assertEquals(new Horde_Date('2006, 12), span.end span = Chronic.parse("weekend" , :now => @time_2006_08_16_14_00_00, :guess => false) - assert_equal Time.local(2006, 8, 19), span.begin - assert_equal Time.local(2006, 8, 21), span.end + $this->assertEquals(new Horde_Date('2006, 8, 19), span.begin + $this->assertEquals(new Horde_Date('2006, 8, 21), span.end end def test_parse_words - assert_equal parse_now("33 days from now"), parse_now("thirty-three days from now") - assert_equal parse_now("2867532 seconds from now"), parse_now("two million eight hundred and sixty seven thousand five hundred and thirty two seconds from now") - assert_equal parse_now("may 10th"), parse_now("may tenth") + assert_equal parse_now("33 days from now"), parse_now("thirty-three days from now"); + assert_equal parse_now("2867532 seconds from now"), parse_now("two million eight hundred and sixty seven thousand five hundred and thirty two seconds from now"); + assert_equal parse_now("may 10th"), parse_now("may tenth"); end def test_parse_only_complete_pointers -- 2.11.0