*/
class Horde_Date_Repeater_DayNameTest extends PHPUnit_Framework_TestCase
{
- def setup
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
- def test_match
- token = Chronic::Token.new('saturday')
- repeater = Chronic::Repeater.scan_for_day_names(token)
- assert_equal Chronic::RepeaterDayName, repeater.class
- assert_equal :saturday, repeater.type
-
- token = Chronic::Token.new('sunday')
- repeater = Chronic::Repeater.scan_for_day_names(token)
- assert_equal Chronic::RepeaterDayName, repeater.class
- assert_equal :sunday, repeater.type
- end
-
- def test_next_future
- mondays = Chronic::RepeaterDayName.new(:monday)
- mondays.start = @now
-
- span = mondays.next(:future)
-
- assert_equal Time.local(2006, 8, 21), span.begin
- assert_equal Time.local(2006, 8, 22), span.end
-
- span = mondays.next(:future)
-
- assert_equal Time.local(2006, 8, 28), span.begin
- assert_equal Time.local(2006, 8, 29), span.end
- end
-
- def test_next_past
- mondays = Chronic::RepeaterDayName.new(:monday)
- mondays.start = @now
-
- span = mondays.next(:past)
-
- assert_equal Time.local(2006, 8, 14), span.begin
- assert_equal Time.local(2006, 8, 15), span.end
-
- span = mondays.next(:past)
-
- assert_equal Time.local(2006, 8, 7), span.begin
- assert_equal Time.local(2006, 8, 8), span.end
- end
-
-end
\ No newline at end of file
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+
+ public function testNextFuture()
+ {
+ $mondays = new Horde_Date_Repeater_DayName('monday');
+ $mondays->now = $this->now;
+
+ $span = $mondays->next('future');
+ $this->assertEquals('2006-08-21', $span->begin->format('Y-m-d'));
+ $this->assertEquals('2006-08-22', $span->end->format('Y-m-d'));
+
+ $span = $mondays->next('future');
+ $this->assertEquals('2006-08-28', $span->begin->format('Y-m-d'));
+ $this->assertEquals('2006-08-29', $span->end->format('Y-m-d'));
+ }
+
+ public function testNextPast()
+ {
+ $mondays = new Horde_Date_Repeater_DayName('monday');
+ $mondays->now = $this->now;
+
+ $span = $mondays->next('past');
+ $this->assertEquals('2006-08-14', $span->begin->format('Y-m-d'));
+ $this->assertEquals('2006-08-15', $span->end->format('Y-m-d'));
+
+ $span = $mondays->next('past');
+ $this->assertEquals('2006-08-07', $span->begin->format('Y-m-d'));
+ $this->assertEquals('2006-08-08', $span->end->format('Y-m-d'));
+ }
+
+}
*/
class Horde_Date_Repeater_DayTest extends PHPUnit_Framework_TestCase
{
- public function testNext()
+ public function testNextFuture()
{
$repeater = new Horde_Date_Repeater_Day();
$repeater->now = new Horde_Date('2009-01-01');
$this->assertEquals('(2009-01-02 00:00:00..2009-01-03 00:00:00)', (string)$repeater->next('future'));
+ }
+
+ public function testNextPast()
+ {
+ $repeater = new Horde_Date_Repeater_Day();
+ $repeater->now = new Horde_Date('2009-01-01');
$this->assertEquals('(2008-12-31 00:00:00..2009-01-01 00:00:00)', (string)$repeater->next('past'));
}
*/
class Horde_Date_Repeater_HourTest extends PHPUnit_Framework_TestCase
{
- def setup
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
- def test_next_future
- hours = Chronic::RepeaterHour.new(:hour)
- hours.start = @now
-
- next_hour = hours.next(:future)
- assert_equal Time.local(2006, 8, 16, 15), next_hour.begin
- assert_equal Time.local(2006, 8, 16, 16), next_hour.end
-
- next_next_hour = hours.next(:future)
- assert_equal Time.local(2006, 8, 16, 16), next_next_hour.begin
- assert_equal Time.local(2006, 8, 16, 17), next_next_hour.end
- end
-
- def test_next_past
- hours = Chronic::RepeaterHour.new(:hour)
- hours.start = @now
-
- past_hour = hours.next(:past)
- assert_equal Time.local(2006, 8, 16, 13), past_hour.begin
- assert_equal Time.local(2006, 8, 16, 14), past_hour.end
-
- past_past_hour = hours.next(:past)
- assert_equal Time.local(2006, 8, 16, 12), past_past_hour.begin
- assert_equal Time.local(2006, 8, 16, 13), past_past_hour.end
- end
-
- def test_this
- @now = Time.local(2006, 8, 16, 14, 30)
-
- hours = Chronic::RepeaterHour.new(:hour)
- hours.start = @now
-
- this_hour = hours.this(:future)
- assert_equal Time.local(2006, 8, 16, 14, 31), this_hour.begin
- assert_equal Time.local(2006, 8, 16, 15), this_hour.end
-
- this_hour = hours.this(:past)
- assert_equal Time.local(2006, 8, 16, 14), this_hour.begin
- assert_equal Time.local(2006, 8, 16, 14, 30), this_hour.end
- end
-
- def test_offset
- span = Chronic::Span.new(@now, @now + 1)
-
- offset_span = Chronic::RepeaterHour.new(:hour).offset(span, 3, :future)
-
- assert_equal Time.local(2006, 8, 16, 17), offset_span.begin
- assert_equal Time.local(2006, 8, 16, 17, 0, 1), offset_span.end
-
- offset_span = Chronic::RepeaterHour.new(:hour).offset(span, 24, :past)
-
- assert_equal Time.local(2006, 8, 15, 14), offset_span.begin
- assert_equal Time.local(2006, 8, 15, 14, 0, 1), offset_span.end
- end
-
-end
\ No newline at end of file
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+
+ public function testNextFuture()
+ {
+ $hours = new Horde_Date_Repeater_Hour();
+ $hours->now = $this->now;
+
+ $nextHour = $hours->next('future');
+ $this->assertEquals('2006-08-16 15:00:00', (string)$nextHour->begin);
+ $this->assertEquals('2006-08-16 16:00:00', (string)$nextHour->end);
+
+ $nextNextHour = $hours->next('future');
+ $this->assertEquals('2006-08-16 16:00:00', (string)$nextNextHour->begin);
+ $this->assertEquals('2006-08-16 17:00:00', (string)$nextNextHour->end);
+ }
+
+ public function testNextPast()
+ {
+ $hours = new Horde_Date_Repeater_Hour();
+ $hours->now = $this->now;
+
+ $pastHour = $hours->next('past');
+ $this->assertEquals('2006-08-16 13:00:00', (string)$pastHour->begin);
+ $this->assertEquals('2006-08-16 14:00:00', (string)$pastHour->end);
+
+ $pastPastHour = $hours->next('past');
+ $this->assertEquals('2006-08-16 12:00:00', (string)$pastPastHour->begin);
+ $this->assertEquals('2006-08-16 13:00:00', (string)$pastPastHour->end);
+ }
+
+ public function testThis()
+ {
+ $hours = new Horde_Date_Repeater_Hour();
+ $hours->now = new Horde_Date('2006-08-16 14:30:00');
+
+ $thisHour = $hours->this('future');
+ $this->assertEquals('2006-08-16 14:31:00', (string)$thisHour->begin);
+ $this->assertEquals('2006-08-16 15:00:00', (string)$thisHour->end);
+
+ $thisHour = $hours->this('past');
+ $this->assertEquals('2006-08-16 14:00:00', (string)$thisHour->begin);
+ $this->assertEquals('2006-08-16 14:30:00', (string)$thisHour->end);
+ }
+
+ public function testOffset()
+ {
+ $span = new Horde_Date_Span($this->now, $this->now->add(1));
+ $hours = new Horde_Date_Repeater_Hour();
+
+ $offsetSpan = $hours->offset($span, 3, 'future');
+ $this->assertEquals('2006-08-16 16:00:00', (string)$offsetSpan->begin);
+ $this->assertEquals('2006-08-16 17:00:00', (string)$offsetSpan->end);
+
+ $offsetSpan = $hours->offset($span, 24, 'past');
+ $this->assertEquals('2006-08-15 14:00:00', (string)$offsetSpan->begin);
+ $this->assertEquals('2006-08-15 14:00:01', (string)$offsetSpan->end);
+ }
+
+}
*/
class Horde_Date_Repeater_MonthNameTest extends PHPUnit_Framework_TestCase
{
- def setup
- # Wed Aug 16 14:00:00 2006
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+ /*
def test_next
# future
assert_equal Time.local(2006, 4, 1), this_april.begin
assert_equal Time.local(2006, 5, 1), this_april.end
end
+ */
-end
\ No newline at end of file
+}
*/
class Horde_Date_Repeater_MonthTest extends PHPUnit_Framework_TestCase
{
- def setup
- # Wed Aug 16 14:00:00 2006
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+ /*
def test_offset_by
# future
assert_equal Time.local(2006, 7, 16, 14), offset_span.begin
assert_equal Time.local(2006, 7, 16, 14, 1), offset_span.end
end
+ */
-end
\ No newline at end of file
+}
*/
class Horde_Date_Repeater_TimeTest extends PHPUnit_Framework_TestCase
{
- def setup
- # Wed Aug 16 14:00:00 2006
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+ /*
def test_next_future
t = Chronic::RepeaterTime.new('4:00')
t.start = @now
t1 = Chronic::RepeaterTime.new('400')
assert_equal 14_400, t1.type.time
end
+ */
-
-end
\ No newline at end of file
+}
*/
class Horde_Date_Repeater_WeekTest extends PHPUnit_Framework_TestCase
{
- def setup
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+ /*
def test_next_future
weeks = Chronic::RepeaterWeek.new(:week)
weeks.start = @now
assert_equal Time.local(2006, 9, 6, 14), offset_span.begin
assert_equal Time.local(2006, 9, 6, 14, 0, 1), offset_span.end
end
+ */
-end
\ No newline at end of file
+}
*/
class Horde_Date_Repeater_WeekendTest extends PHPUnit_Framework_TestCase
{
- def setup
- # Wed Aug 16 14:00:00 2006
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+ /*
def test_next_future
weekend = Chronic::RepeaterWeekend.new(:weekend)
weekend.start = @now
assert_equal Time.local(2006, 8, 12), offset_span.begin
assert_equal Time.local(2006, 8, 12, 0, 0, 1), offset_span.end
end
+ */
-end
\ No newline at end of file
+}
*/
class Horde_Date_Repeater_YearTest extends PHPUnit_Framework_TestCase
{
- def setup
- @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
- end
-
- def test_next_future
- years = Chronic::RepeaterYear.new(:year)
- years.start = @now
-
- next_year = years.next(:future)
- assert_equal Time.local(2007, 1, 1), next_year.begin
- assert_equal Time.local(2008, 1, 1), next_year.end
-
- next_next_year = years.next(:future)
- assert_equal Time.local(2008, 1, 1), next_next_year.begin
- assert_equal Time.local(2009, 1, 1), next_next_year.end
- end
-
- def test_next_past
- years = Chronic::RepeaterYear.new(:year)
- years.start = @now
-
- last_year = years.next(:past)
- assert_equal Time.local(2005, 1, 1), last_year.begin
- assert_equal Time.local(2006, 1, 1), last_year.end
-
- last_last_year = years.next(:past)
- assert_equal Time.local(2004, 1, 1), last_last_year.begin
- assert_equal Time.local(2005, 1, 1), last_last_year.end
- end
-
- def test_this
- years = Chronic::RepeaterYear.new(:year)
- years.start = @now
-
- this_year = years.this(:future)
- assert_equal Time.local(2006, 8, 17), this_year.begin
- assert_equal Time.local(2007, 1, 1), this_year.end
-
- this_year = years.this(:past)
- assert_equal Time.local(2006, 1, 1), this_year.begin
- assert_equal Time.local(2006, 8, 16), this_year.end
- end
-
- def test_offset
- span = Chronic::Span.new(@now, @now + 1)
-
- offset_span = Chronic::RepeaterYear.new(:year).offset(span, 3, :future)
-
- assert_equal Time.local(2009, 8, 16, 14), offset_span.begin
- assert_equal Time.local(2009, 8, 16, 14, 0, 1), offset_span.end
-
- offset_span = Chronic::RepeaterYear.new(:year).offset(span, 10, :past)
-
- assert_equal Time.local(1996, 8, 16, 14), offset_span.begin
- assert_equal Time.local(1996, 8, 16, 14, 0, 1), offset_span.end
- end
-
-end
\ No newline at end of file
+ public function setUp()
+ {
+ $this->now = new Horde_Date('2006-08-16 14:00:00');
+ }
+
+ public function testNextFuture()
+ {
+ $years = new Horde_Date_Repeater_Year();
+ $years->now = $this->now;
+
+ $nextYear = $years->next('future');
+ $this->assertEquals('2007-01-01', $nextYear->begin->format('Y-m-d'));
+ $this->assertEquals('2008-01-01', $nextYear->end->format('Y-m-d'));
+
+ $nextNextYear = $years->next('future');
+ $this->assertEquals('2008-01-01', $nextNextYear->begin->format('Y-m-d'));
+ $this->assertEquals('2009-01-01', $nextNextYear->end->format('Y-m-d'));
+ }
+
+ public function testNextPast()
+ {
+ $years = new Horde_Date_Repeater_Year();
+ $years->now = $this->now;
+
+ $lastYear = $years->next('past');
+ $this->assertEquals('2005-01-01', $lastYear->begin->format('Y-m-d'));
+ $this->assertEquals('2006-01-01', $lastYear->end->format('Y-m-d'));
+
+ $lastLastYear = $years->last('future');
+ $this->assertEquals('2004-01-01', $lastLastYear->begin->format('Y-m-d'));
+ $this->assertEquals('2005-01-01', $lastLastYear->end->format('Y-m-d'));
+ }
+
+ public function testThis()
+ {
+ $years = new Horde_Date_Repeater_Year();
+ $years->now = $this->now;
+
+ $thisYear = $years->this('future');
+ $this->assertEquals('2006-08-17', $thisYear->begin->format('Y-m-d'));
+ $this->assertEquals('2007-01-01', $thisYear->end->format('Y-m-d'));
+
+ $thisYear = $years->this('past');
+ $this->assertEquals('2006-01-01', $thisYear->begin->format('Y-m-d'));
+ $this->assertEquals('2006-08-16', $thisYear->end->format('Y-m-d'));
+ }
+
+ public function testOffset()
+ {
+ $span = new Horde_Date_Span($this->now, $this->now->add(1));
+ $years = new Horde_Date_Repeater_Year();
+
+ $offsetSpan = $years->offset($span, 3, 'future');
+ $this->assertEquals('2009-08-16 14:00:00', (string)$offsetSpan->begin);
+ $this->assertEquals('2009-08-16 14:00:01', (string)$offsetSpan->end);
+
+ $offsetSpan = $years->offset($span, 10, 'past');
+ $this->assertEquals('1996-08-16 14:00:00', (string)$offsetSpan->begin);
+ $this->assertEquals('1996-08-16 14:00:01', (string)$offsetSpan->end);
+ }
+
+}