chronic 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/HISTORY.md +76 -0
- data/LICENSE +21 -0
- data/README.md +165 -0
- data/Rakefile +145 -18
- data/benchmark/benchmark.rb +13 -0
- data/chronic.gemspec +85 -0
- data/lib/chronic/chronic.rb +59 -49
- data/lib/chronic/grabber.rb +2 -2
- data/lib/chronic/handlers.rb +167 -112
- data/lib/{numerizer → chronic/numerizer}/numerizer.rb +17 -23
- data/lib/chronic/ordinal.rb +6 -6
- data/lib/chronic/pointer.rb +3 -3
- data/lib/chronic/repeater.rb +26 -12
- data/lib/chronic/repeaters/repeater_day.rb +17 -12
- data/lib/chronic/repeaters/repeater_day_name.rb +17 -12
- data/lib/chronic/repeaters/repeater_day_portion.rb +15 -14
- data/lib/chronic/repeaters/repeater_fortnight.rb +14 -9
- data/lib/chronic/repeaters/repeater_hour.rb +15 -10
- data/lib/chronic/repeaters/repeater_minute.rb +15 -10
- data/lib/chronic/repeaters/repeater_month.rb +20 -15
- data/lib/chronic/repeaters/repeater_month_name.rb +21 -16
- data/lib/chronic/repeaters/repeater_season.rb +136 -9
- data/lib/chronic/repeaters/repeater_season_name.rb +38 -17
- data/lib/chronic/repeaters/repeater_second.rb +15 -10
- data/lib/chronic/repeaters/repeater_time.rb +53 -43
- data/lib/chronic/repeaters/repeater_week.rb +16 -11
- data/lib/chronic/repeaters/repeater_weekday.rb +77 -0
- data/lib/chronic/repeaters/repeater_weekend.rb +14 -9
- data/lib/chronic/repeaters/repeater_year.rb +19 -13
- data/lib/chronic/scalar.rb +16 -14
- data/lib/chronic/separator.rb +25 -10
- data/lib/chronic/time_zone.rb +4 -3
- data/lib/chronic.rb +21 -19
- data/test/helper.rb +7 -0
- data/test/test_Chronic.rb +17 -18
- data/test/test_DaylightSavings.rb +118 -0
- data/test/test_Handler.rb +37 -38
- data/test/test_Numerizer.rb +8 -5
- data/test/test_RepeaterDayName.rb +15 -16
- data/test/test_RepeaterFortnight.rb +16 -17
- data/test/test_RepeaterHour.rb +18 -19
- data/test/test_RepeaterMinute.rb +34 -0
- data/test/test_RepeaterMonth.rb +16 -17
- data/test/test_RepeaterMonthName.rb +17 -18
- data/test/test_RepeaterTime.rb +20 -22
- data/test/test_RepeaterWeek.rb +16 -17
- data/test/test_RepeaterWeekday.rb +55 -0
- data/test/test_RepeaterWeekend.rb +21 -22
- data/test/test_RepeaterYear.rb +17 -18
- data/test/test_Span.rb +5 -6
- data/test/test_Time.rb +11 -12
- data/test/test_Token.rb +5 -6
- data/test/test_parsing.rb +314 -196
- metadata +74 -49
- data/History.txt +0 -49
- data/README.txt +0 -149
- data/test/suite.rb +0 -9
data/test/test_RepeaterWeek.rb
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'test/unit'
|
|
1
|
+
require File.join(File.dirname(__FILE__), *%w[helper])
|
|
3
2
|
|
|
4
3
|
class TestRepeaterWeek < Test::Unit::TestCase
|
|
5
|
-
|
|
4
|
+
|
|
6
5
|
def setup
|
|
7
6
|
@now = Time.local(2006, 8, 16, 14, 0, 0, 0)
|
|
8
7
|
end
|
|
@@ -10,54 +9,54 @@ class TestRepeaterWeek < Test::Unit::TestCase
|
|
|
10
9
|
def test_next_future
|
|
11
10
|
weeks = Chronic::RepeaterWeek.new(:week)
|
|
12
11
|
weeks.start = @now
|
|
13
|
-
|
|
12
|
+
|
|
14
13
|
next_week = weeks.next(:future)
|
|
15
14
|
assert_equal Time.local(2006, 8, 20), next_week.begin
|
|
16
15
|
assert_equal Time.local(2006, 8, 27), next_week.end
|
|
17
|
-
|
|
16
|
+
|
|
18
17
|
next_next_week = weeks.next(:future)
|
|
19
18
|
assert_equal Time.local(2006, 8, 27), next_next_week.begin
|
|
20
19
|
assert_equal Time.local(2006, 9, 3), next_next_week.end
|
|
21
20
|
end
|
|
22
|
-
|
|
21
|
+
|
|
23
22
|
def test_next_past
|
|
24
23
|
weeks = Chronic::RepeaterWeek.new(:week)
|
|
25
24
|
weeks.start = @now
|
|
26
|
-
|
|
25
|
+
|
|
27
26
|
last_week = weeks.next(:past)
|
|
28
27
|
assert_equal Time.local(2006, 8, 6), last_week.begin
|
|
29
28
|
assert_equal Time.local(2006, 8, 13), last_week.end
|
|
30
|
-
|
|
29
|
+
|
|
31
30
|
last_last_week = weeks.next(:past)
|
|
32
31
|
assert_equal Time.local(2006, 7, 30), last_last_week.begin
|
|
33
32
|
assert_equal Time.local(2006, 8, 6), last_last_week.end
|
|
34
33
|
end
|
|
35
|
-
|
|
34
|
+
|
|
36
35
|
def test_this_future
|
|
37
36
|
weeks = Chronic::RepeaterWeek.new(:week)
|
|
38
37
|
weeks.start = @now
|
|
39
|
-
|
|
38
|
+
|
|
40
39
|
this_week = weeks.this(:future)
|
|
41
40
|
assert_equal Time.local(2006, 8, 16, 15), this_week.begin
|
|
42
41
|
assert_equal Time.local(2006, 8, 20), this_week.end
|
|
43
42
|
end
|
|
44
|
-
|
|
43
|
+
|
|
45
44
|
def test_this_past
|
|
46
45
|
weeks = Chronic::RepeaterWeek.new(:week)
|
|
47
46
|
weeks.start = @now
|
|
48
|
-
|
|
47
|
+
|
|
49
48
|
this_week = weeks.this(:past)
|
|
50
49
|
assert_equal Time.local(2006, 8, 13, 0), this_week.begin
|
|
51
50
|
assert_equal Time.local(2006, 8, 16, 14), this_week.end
|
|
52
51
|
end
|
|
53
|
-
|
|
52
|
+
|
|
54
53
|
def test_offset
|
|
55
54
|
span = Chronic::Span.new(@now, @now + 1)
|
|
56
|
-
|
|
55
|
+
|
|
57
56
|
offset_span = Chronic::RepeaterWeek.new(:week).offset(span, 3, :future)
|
|
58
|
-
|
|
57
|
+
|
|
59
58
|
assert_equal Time.local(2006, 9, 6, 14), offset_span.begin
|
|
60
59
|
assert_equal Time.local(2006, 9, 6, 14, 0, 1), offset_span.end
|
|
61
60
|
end
|
|
62
|
-
|
|
63
|
-
end
|
|
61
|
+
|
|
62
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require File.join(File.dirname(__FILE__), *%w[helper])
|
|
2
|
+
|
|
3
|
+
class TestRepeaterWeekday < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@now = Time.local(2007, 6, 11, 14, 0, 0, 0) # Mon
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def test_next_future
|
|
10
|
+
weekdays = Chronic::RepeaterWeekday.new(:weekday)
|
|
11
|
+
weekdays.start = @now
|
|
12
|
+
|
|
13
|
+
next1_weekday = weekdays.next(:future) # Tues
|
|
14
|
+
assert_equal Time.local(2007, 6, 12), next1_weekday.begin
|
|
15
|
+
assert_equal Time.local(2007, 6, 13), next1_weekday.end
|
|
16
|
+
|
|
17
|
+
next2_weekday = weekdays.next(:future) # Wed
|
|
18
|
+
assert_equal Time.local(2007, 6, 13), next2_weekday.begin
|
|
19
|
+
assert_equal Time.local(2007, 6, 14), next2_weekday.end
|
|
20
|
+
|
|
21
|
+
next3_weekday = weekdays.next(:future) # Thurs
|
|
22
|
+
assert_equal Time.local(2007, 6, 14), next3_weekday.begin
|
|
23
|
+
assert_equal Time.local(2007, 6, 15), next3_weekday.end
|
|
24
|
+
|
|
25
|
+
next4_weekday = weekdays.next(:future) # Fri
|
|
26
|
+
assert_equal Time.local(2007, 6, 15), next4_weekday.begin
|
|
27
|
+
assert_equal Time.local(2007, 6, 16), next4_weekday.end
|
|
28
|
+
|
|
29
|
+
next5_weekday = weekdays.next(:future) # Mon
|
|
30
|
+
assert_equal Time.local(2007, 6, 18), next5_weekday.begin
|
|
31
|
+
assert_equal Time.local(2007, 6, 19), next5_weekday.end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_next_past
|
|
35
|
+
weekdays = Chronic::RepeaterWeekday.new(:weekday)
|
|
36
|
+
weekdays.start = @now
|
|
37
|
+
|
|
38
|
+
last1_weekday = weekdays.next(:past) # Fri
|
|
39
|
+
assert_equal Time.local(2007, 6, 8), last1_weekday.begin
|
|
40
|
+
assert_equal Time.local(2007, 6, 9), last1_weekday.end
|
|
41
|
+
|
|
42
|
+
last2_weekday = weekdays.next(:past) # Thurs
|
|
43
|
+
assert_equal Time.local(2007, 6, 7), last2_weekday.begin
|
|
44
|
+
assert_equal Time.local(2007, 6, 8), last2_weekday.end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_offset
|
|
48
|
+
span = Chronic::Span.new(@now, @now + 1)
|
|
49
|
+
|
|
50
|
+
offset_span = Chronic::RepeaterWeekday.new(:weekday).offset(span, 5, :future)
|
|
51
|
+
|
|
52
|
+
assert_equal Time.local(2007, 6, 18, 14), offset_span.begin
|
|
53
|
+
assert_equal Time.local(2007, 6, 18, 14, 0, 1), offset_span.end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -1,75 +1,74 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'test/unit'
|
|
1
|
+
require File.join(File.dirname(__FILE__), *%w[helper])
|
|
3
2
|
|
|
4
3
|
class TestRepeaterWeekend < Test::Unit::TestCase
|
|
5
|
-
|
|
4
|
+
|
|
6
5
|
def setup
|
|
7
6
|
# Wed Aug 16 14:00:00 2006
|
|
8
7
|
@now = Time.local(2006, 8, 16, 14, 0, 0, 0)
|
|
9
8
|
end
|
|
10
|
-
|
|
9
|
+
|
|
11
10
|
def test_next_future
|
|
12
11
|
weekend = Chronic::RepeaterWeekend.new(:weekend)
|
|
13
12
|
weekend.start = @now
|
|
14
|
-
|
|
13
|
+
|
|
15
14
|
next_weekend = weekend.next(:future)
|
|
16
15
|
assert_equal Time.local(2006, 8, 19), next_weekend.begin
|
|
17
16
|
assert_equal Time.local(2006, 8, 21), next_weekend.end
|
|
18
17
|
end
|
|
19
|
-
|
|
18
|
+
|
|
20
19
|
def test_next_past
|
|
21
20
|
weekend = Chronic::RepeaterWeekend.new(:weekend)
|
|
22
21
|
weekend.start = @now
|
|
23
|
-
|
|
22
|
+
|
|
24
23
|
next_weekend = weekend.next(:past)
|
|
25
24
|
assert_equal Time.local(2006, 8, 12), next_weekend.begin
|
|
26
25
|
assert_equal Time.local(2006, 8, 14), next_weekend.end
|
|
27
26
|
end
|
|
28
|
-
|
|
27
|
+
|
|
29
28
|
def test_this_future
|
|
30
29
|
weekend = Chronic::RepeaterWeekend.new(:weekend)
|
|
31
30
|
weekend.start = @now
|
|
32
|
-
|
|
31
|
+
|
|
33
32
|
next_weekend = weekend.this(:future)
|
|
34
33
|
assert_equal Time.local(2006, 8, 19), next_weekend.begin
|
|
35
34
|
assert_equal Time.local(2006, 8, 21), next_weekend.end
|
|
36
35
|
end
|
|
37
|
-
|
|
36
|
+
|
|
38
37
|
def test_this_past
|
|
39
38
|
weekend = Chronic::RepeaterWeekend.new(:weekend)
|
|
40
39
|
weekend.start = @now
|
|
41
|
-
|
|
40
|
+
|
|
42
41
|
next_weekend = weekend.this(:past)
|
|
43
42
|
assert_equal Time.local(2006, 8, 12), next_weekend.begin
|
|
44
43
|
assert_equal Time.local(2006, 8, 14), next_weekend.end
|
|
45
44
|
end
|
|
46
|
-
|
|
45
|
+
|
|
47
46
|
def test_this_none
|
|
48
47
|
weekend = Chronic::RepeaterWeekend.new(:weekend)
|
|
49
48
|
weekend.start = @now
|
|
50
|
-
|
|
49
|
+
|
|
51
50
|
next_weekend = weekend.this(:future)
|
|
52
51
|
assert_equal Time.local(2006, 8, 19), next_weekend.begin
|
|
53
52
|
assert_equal Time.local(2006, 8, 21), next_weekend.end
|
|
54
53
|
end
|
|
55
|
-
|
|
54
|
+
|
|
56
55
|
def test_offset
|
|
57
56
|
span = Chronic::Span.new(@now, @now + 1)
|
|
58
|
-
|
|
57
|
+
|
|
59
58
|
offset_span = Chronic::RepeaterWeekend.new(:weekend).offset(span, 3, :future)
|
|
60
|
-
|
|
59
|
+
|
|
61
60
|
assert_equal Time.local(2006, 9, 2), offset_span.begin
|
|
62
61
|
assert_equal Time.local(2006, 9, 2, 0, 0, 1), offset_span.end
|
|
63
|
-
|
|
62
|
+
|
|
64
63
|
offset_span = Chronic::RepeaterWeekend.new(:weekend).offset(span, 1, :past)
|
|
65
|
-
|
|
64
|
+
|
|
66
65
|
assert_equal Time.local(2006, 8, 12), offset_span.begin
|
|
67
66
|
assert_equal Time.local(2006, 8, 12, 0, 0, 1), offset_span.end
|
|
68
|
-
|
|
67
|
+
|
|
69
68
|
offset_span = Chronic::RepeaterWeekend.new(:weekend).offset(span, 0, :future)
|
|
70
|
-
|
|
69
|
+
|
|
71
70
|
assert_equal Time.local(2006, 8, 12), offset_span.begin
|
|
72
71
|
assert_equal Time.local(2006, 8, 12, 0, 0, 1), offset_span.end
|
|
73
72
|
end
|
|
74
|
-
|
|
75
|
-
end
|
|
73
|
+
|
|
74
|
+
end
|
data/test/test_RepeaterYear.rb
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'test/unit'
|
|
1
|
+
require File.join(File.dirname(__FILE__), *%w[helper])
|
|
3
2
|
|
|
4
3
|
class TestRepeaterYear < Test::Unit::TestCase
|
|
5
|
-
|
|
4
|
+
|
|
6
5
|
def setup
|
|
7
6
|
@now = Time.local(2006, 8, 16, 14, 0, 0, 0)
|
|
8
7
|
end
|
|
@@ -10,54 +9,54 @@ class TestRepeaterYear < Test::Unit::TestCase
|
|
|
10
9
|
def test_next_future
|
|
11
10
|
years = Chronic::RepeaterYear.new(:year)
|
|
12
11
|
years.start = @now
|
|
13
|
-
|
|
12
|
+
|
|
14
13
|
next_year = years.next(:future)
|
|
15
14
|
assert_equal Time.local(2007, 1, 1), next_year.begin
|
|
16
15
|
assert_equal Time.local(2008, 1, 1), next_year.end
|
|
17
|
-
|
|
16
|
+
|
|
18
17
|
next_next_year = years.next(:future)
|
|
19
18
|
assert_equal Time.local(2008, 1, 1), next_next_year.begin
|
|
20
19
|
assert_equal Time.local(2009, 1, 1), next_next_year.end
|
|
21
20
|
end
|
|
22
|
-
|
|
21
|
+
|
|
23
22
|
def test_next_past
|
|
24
23
|
years = Chronic::RepeaterYear.new(:year)
|
|
25
24
|
years.start = @now
|
|
26
|
-
|
|
25
|
+
|
|
27
26
|
last_year = years.next(:past)
|
|
28
27
|
assert_equal Time.local(2005, 1, 1), last_year.begin
|
|
29
28
|
assert_equal Time.local(2006, 1, 1), last_year.end
|
|
30
|
-
|
|
29
|
+
|
|
31
30
|
last_last_year = years.next(:past)
|
|
32
31
|
assert_equal Time.local(2004, 1, 1), last_last_year.begin
|
|
33
32
|
assert_equal Time.local(2005, 1, 1), last_last_year.end
|
|
34
33
|
end
|
|
35
|
-
|
|
34
|
+
|
|
36
35
|
def test_this
|
|
37
36
|
years = Chronic::RepeaterYear.new(:year)
|
|
38
37
|
years.start = @now
|
|
39
|
-
|
|
38
|
+
|
|
40
39
|
this_year = years.this(:future)
|
|
41
40
|
assert_equal Time.local(2006, 8, 17), this_year.begin
|
|
42
41
|
assert_equal Time.local(2007, 1, 1), this_year.end
|
|
43
|
-
|
|
42
|
+
|
|
44
43
|
this_year = years.this(:past)
|
|
45
44
|
assert_equal Time.local(2006, 1, 1), this_year.begin
|
|
46
45
|
assert_equal Time.local(2006, 8, 16), this_year.end
|
|
47
46
|
end
|
|
48
|
-
|
|
47
|
+
|
|
49
48
|
def test_offset
|
|
50
49
|
span = Chronic::Span.new(@now, @now + 1)
|
|
51
|
-
|
|
50
|
+
|
|
52
51
|
offset_span = Chronic::RepeaterYear.new(:year).offset(span, 3, :future)
|
|
53
|
-
|
|
52
|
+
|
|
54
53
|
assert_equal Time.local(2009, 8, 16, 14), offset_span.begin
|
|
55
54
|
assert_equal Time.local(2009, 8, 16, 14, 0, 1), offset_span.end
|
|
56
|
-
|
|
55
|
+
|
|
57
56
|
offset_span = Chronic::RepeaterYear.new(:year).offset(span, 10, :past)
|
|
58
|
-
|
|
57
|
+
|
|
59
58
|
assert_equal Time.local(1996, 8, 16, 14), offset_span.begin
|
|
60
59
|
assert_equal Time.local(1996, 8, 16, 14, 0, 1), offset_span.end
|
|
61
60
|
end
|
|
62
|
-
|
|
63
|
-
end
|
|
61
|
+
|
|
62
|
+
end
|
data/test/test_Span.rb
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'test/unit'
|
|
1
|
+
require File.join(File.dirname(__FILE__), *%w[helper])
|
|
3
2
|
|
|
4
3
|
class TestSpan < Test::Unit::TestCase
|
|
5
|
-
|
|
4
|
+
|
|
6
5
|
def setup
|
|
7
6
|
# Wed Aug 16 14:00:00 UTC 2006
|
|
8
7
|
@now = Time.local(2006, 8, 16, 14, 0, 0, 0)
|
|
@@ -12,7 +11,7 @@ class TestSpan < Test::Unit::TestCase
|
|
|
12
11
|
span = Chronic::Span.new(Time.local(2006, 8, 16, 0), Time.local(2006, 8, 17, 0))
|
|
13
12
|
assert_equal (60 * 60 * 24), span.width
|
|
14
13
|
end
|
|
15
|
-
|
|
14
|
+
|
|
16
15
|
def test_span_math
|
|
17
16
|
s = Chronic::Span.new(1, 2)
|
|
18
17
|
assert_equal 2, (s + 1).begin
|
|
@@ -20,5 +19,5 @@ class TestSpan < Test::Unit::TestCase
|
|
|
20
19
|
assert_equal 0, (s - 1).begin
|
|
21
20
|
assert_equal 1, (s - 1).end
|
|
22
21
|
end
|
|
23
|
-
|
|
24
|
-
end
|
|
22
|
+
|
|
23
|
+
end
|
data/test/test_Time.rb
CHANGED
|
@@ -1,50 +1,49 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'test/unit'
|
|
1
|
+
require File.join(File.dirname(__FILE__), *%w[helper])
|
|
3
2
|
|
|
4
3
|
class TestTime < Test::Unit::TestCase
|
|
5
|
-
|
|
4
|
+
|
|
6
5
|
def setup
|
|
7
6
|
end
|
|
8
|
-
|
|
7
|
+
|
|
9
8
|
def test_normal
|
|
10
9
|
assert_equal Time.local(2006, 1, 2, 0, 0, 0), Time.construct(2006, 1, 2, 0, 0, 0)
|
|
11
10
|
assert_equal Time.local(2006, 1, 2, 3, 0, 0), Time.construct(2006, 1, 2, 3, 0, 0)
|
|
12
11
|
assert_equal Time.local(2006, 1, 2, 3, 4, 0), Time.construct(2006, 1, 2, 3, 4, 0)
|
|
13
12
|
assert_equal Time.local(2006, 1, 2, 3, 4, 5), Time.construct(2006, 1, 2, 3, 4, 5)
|
|
14
13
|
end
|
|
15
|
-
|
|
14
|
+
|
|
16
15
|
def test_second_overflow
|
|
17
16
|
assert_equal Time.local(2006, 1, 1, 0, 1, 30), Time.construct(2006, 1, 1, 0, 0, 90)
|
|
18
17
|
assert_equal Time.local(2006, 1, 1, 0, 5, 0), Time.construct(2006, 1, 1, 0, 0, 300)
|
|
19
18
|
end
|
|
20
|
-
|
|
19
|
+
|
|
21
20
|
def test_minute_overflow
|
|
22
21
|
assert_equal Time.local(2006, 1, 1, 1, 30), Time.construct(2006, 1, 1, 0, 90)
|
|
23
22
|
assert_equal Time.local(2006, 1, 1, 5), Time.construct(2006, 1, 1, 0, 300)
|
|
24
23
|
end
|
|
25
|
-
|
|
24
|
+
|
|
26
25
|
def test_hour_overflow
|
|
27
26
|
assert_equal Time.local(2006, 1, 2, 12), Time.construct(2006, 1, 1, 36)
|
|
28
27
|
assert_equal Time.local(2006, 1, 7), Time.construct(2006, 1, 1, 144)
|
|
29
28
|
end
|
|
30
|
-
|
|
29
|
+
|
|
31
30
|
def test_day_overflow
|
|
32
31
|
assert_equal Time.local(2006, 2, 1), Time.construct(2006, 1, 32)
|
|
33
32
|
assert_equal Time.local(2006, 3, 5), Time.construct(2006, 2, 33)
|
|
34
33
|
assert_equal Time.local(2004, 3, 4), Time.construct(2004, 2, 33)
|
|
35
34
|
assert_equal Time.local(2000, 3, 5), Time.construct(2000, 2, 33)
|
|
36
|
-
|
|
35
|
+
|
|
37
36
|
assert_nothing_raised do
|
|
38
37
|
Time.construct(2006, 1, 56)
|
|
39
38
|
end
|
|
40
|
-
|
|
39
|
+
|
|
41
40
|
assert_raise(RuntimeError) do
|
|
42
41
|
Time.construct(2006, 1, 57)
|
|
43
42
|
end
|
|
44
43
|
end
|
|
45
|
-
|
|
44
|
+
|
|
46
45
|
def test_month_overflow
|
|
47
46
|
assert_equal Time.local(2006, 1), Time.construct(2005, 13)
|
|
48
47
|
assert_equal Time.local(2005, 12), Time.construct(2000, 72)
|
|
49
48
|
end
|
|
50
|
-
end
|
|
49
|
+
end
|
data/test/test_Token.rb
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
require
|
|
2
|
-
require 'test/unit'
|
|
1
|
+
require File.join(File.dirname(__FILE__), *%w[helper])
|
|
3
2
|
|
|
4
3
|
class TestToken < Test::Unit::TestCase
|
|
5
|
-
|
|
4
|
+
|
|
6
5
|
def setup
|
|
7
6
|
# Wed Aug 16 14:00:00 UTC 2006
|
|
8
7
|
@now = Time.local(2006, 8, 16, 14, 0, 0, 0)
|
|
9
8
|
end
|
|
10
|
-
|
|
9
|
+
|
|
11
10
|
def test_token
|
|
12
11
|
token = Chronic::Token.new('foo')
|
|
13
12
|
assert_equal 0, token.tags.size
|
|
@@ -22,5 +21,5 @@ class TestToken < Test::Unit::TestCase
|
|
|
22
21
|
assert_equal 1, token.tags.size
|
|
23
22
|
assert_equal 'foo', token.word
|
|
24
23
|
end
|
|
25
|
-
|
|
26
|
-
end
|
|
24
|
+
|
|
25
|
+
end
|