when_exe 0.3.2 → 0.3.3
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/LICENSE.ja.txt +25 -25
- data/LICENSE.txt +31 -31
- data/bin/locales.rb +2 -1
- data/bin/when.rb.config +1 -1
- data/lib/when_exe.rb +70 -48
- data/lib/when_exe/basictypes.rb +99 -65
- data/lib/when_exe/calendartypes.rb +40 -178
- data/lib/when_exe/coordinates.rb +156 -62
- data/lib/when_exe/core/compatibility.rb +10 -0
- data/lib/when_exe/core/extension.rb +40 -0
- data/lib/when_exe/ephemeris.rb +112 -50
- data/lib/when_exe/icalendar.rb +125 -91
- data/lib/when_exe/inspect.rb +100 -48
- data/lib/when_exe/locales/ar.rb +48 -48
- data/lib/when_exe/locales/bg.rb +1 -1
- data/lib/when_exe/locales/bs.rb +4 -2
- data/lib/when_exe/locales/ca.rb +1 -1
- data/lib/when_exe/locales/en_CA.rb +3 -4
- data/lib/when_exe/locales/en_IE.rb +88 -0
- data/lib/when_exe/locales/en_US.rb +87 -0
- data/lib/when_exe/locales/es_CR.rb +84 -0
- data/lib/when_exe/locales/es_EC.rb +85 -0
- data/lib/when_exe/locales/es_PA.rb +85 -0
- data/lib/when_exe/locales/fr.rb +39 -39
- data/lib/when_exe/locales/hu.rb +15 -14
- data/lib/when_exe/locales/it.rb +1 -1
- data/lib/when_exe/locales/ja.rb +2 -2
- data/lib/when_exe/locales/locales.rb +7 -0
- data/lib/when_exe/locales/lt.rb +21 -19
- data/lib/when_exe/locales/ms.rb +84 -0
- data/lib/when_exe/locales/nl.rb +2 -2
- data/lib/when_exe/locales/ru.rb +1 -1
- data/lib/when_exe/locales/uk.rb +1 -1
- data/lib/when_exe/locales/ur.rb +84 -0
- data/lib/when_exe/mini_application.rb +44 -43
- data/lib/when_exe/parts/enumerator.rb +3 -3
- data/lib/when_exe/parts/geometric_complex.rb +6 -1
- data/lib/when_exe/parts/locale.rb +49 -18
- data/lib/when_exe/parts/method_cash.rb +61 -0
- data/lib/when_exe/parts/resource.rb +221 -106
- data/lib/when_exe/parts/timezone.rb +70 -33
- data/lib/when_exe/region/bahai.rb +2 -2
- data/lib/when_exe/region/balinese.rb +40 -43
- data/lib/when_exe/region/chinese.rb +93 -33
- data/lib/when_exe/region/chinese_calendar.rb +117 -1
- data/lib/when_exe/region/chinese_epoch.rb +65 -10
- data/lib/when_exe/region/christian.rb +97 -2
- data/lib/when_exe/region/ephemeric_notes.rb +353 -0
- data/lib/when_exe/region/french.rb +1 -1
- data/lib/when_exe/region/geologicalage.rb +171 -171
- data/lib/when_exe/region/indian.rb +18 -14
- data/lib/when_exe/region/iranian.rb +1 -1
- data/lib/when_exe/region/japanese.rb +49 -12
- data/lib/when_exe/region/japanese_notes.rb +838 -507
- data/lib/when_exe/region/japanese_residues.rb +724 -662
- data/lib/when_exe/region/javanese.rb +7 -7
- data/lib/when_exe/region/mayan.rb +19 -17
- data/lib/when_exe/region/nihon_shoki.rb +3 -3
- data/lib/when_exe/region/residue.rb +29 -28
- data/lib/when_exe/region/shire.rb +2 -2
- data/lib/when_exe/region/tibetan.rb +87 -5
- data/lib/when_exe/region/world.rb +1 -1
- data/lib/when_exe/timestandard.rb +85 -7
- data/lib/when_exe/tmobjects.rb +32 -4
- data/lib/when_exe/tmposition.rb +104 -55
- data/lib/when_exe/tmreference.rb +157 -60
- data/lib/when_exe/version.rb +2 -2
- data/test/examples/JapanHolidays.ics +3 -3
- data/test/examples/JapanHolidaysRFC6350.ics +499 -0
- data/test/examples/Residue.m17n +3 -2
- data/test/examples/Spatial.m17n +3 -3
- data/test/examples/USA-DST.ics +27 -27
- data/test/examples/today.rb +1 -1
- data/test/test.rb +4 -2
- data/test/test/basictypes.rb +40 -15
- data/test/test/coordinates.rb +9 -4
- data/test/test/icalendar.rb +24 -14
- data/test/test/inspect.rb +5 -3
- data/test/test/parts.rb +11 -2
- data/test/test/region/chinese.rb +4 -4
- data/test/test/region/civil.rb +124 -0
- data/test/test/region/geologicalage.rb +5 -2
- data/test/test/region/indian.rb +2 -0
- data/test/test/region/japanese.rb +156 -1
- data/test/test/region/jewish.rb +3 -3
- data/test/test/region/m17n.rb +9 -9
- data/test/test/region/mayan.rb +122 -5
- data/test/test/region/residue.rb +1 -1
- data/test/test/tmobjects.rb +27 -64
- data/test/test/tmposition.rb +48 -1
- data/test/test/tmreference.rb +66 -4
- data/when_exe.gemspec +1 -1
- metadata +15 -6
data/test/examples/Residue.m17n
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
BEGIN:B:M17N
|
|
2
|
-
# Copyright (C)
|
|
2
|
+
# Copyright (C) 20112-13 Takashi SUGA
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
@@ -23,7 +23,8 @@ BEGIN:B:M17N
|
|
|
23
23
|
REMAINDER:5
|
|
24
24
|
END:CO:RESIDUE
|
|
25
25
|
BEGIN:CO:RESIDUE
|
|
26
|
-
LABEL:
|
|
26
|
+
LABEL;ALTID=1;LANGUAGE=en:Sunday
|
|
27
|
+
LABEL;ALTID=1;LANGUAGE=ja:日曜日
|
|
27
28
|
REMAINDER:6
|
|
28
29
|
END:CO:RESIDUE
|
|
29
30
|
END:CO:RESIDUE
|
data/test/examples/Spatial.m17n
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
BEGIN:B:M17N
|
|
2
|
-
# Copyright (C) 2011 Takashi SUGA
|
|
2
|
+
# Copyright (C) 2011-2013 Takashi SUGA
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
6
|
-
NAMESPACE:[
|
|
7
|
-
|
|
6
|
+
NAMESPACE:[ja=http://ja.wikipedia.org/wiki/]
|
|
7
|
+
NAMESPACE;ALTID=1;PREFIX=en:http://en.wikipedia.org/wiki/
|
|
8
8
|
LOCALE:[=en:, ja=ja:, alias]
|
|
9
9
|
NAMES:[Locations]
|
|
10
10
|
|
data/test/examples/USA-DST.ics
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
1
|
BEGIN:VCALENDAR
|
|
2
|
-
# Copyright (C) 2011 Takashi SUGA
|
|
2
|
+
# Copyright (C) 2011-2013 Takashi SUGA
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
6
6
|
VERSION:2.0
|
|
7
7
|
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
|
|
8
8
|
BEGIN:VTIMEZONE
|
|
9
|
-
TZID:America/#{C}
|
|
9
|
+
TZID:America/#{C:Chicago}
|
|
10
10
|
LAST-MODIFIED:20050809T050000Z
|
|
11
11
|
BEGIN:DAYLIGHT
|
|
12
12
|
DTSTART:19670430T020000
|
|
13
|
-
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1SU;UNTIL=19730429T#{SZ}0000Z
|
|
14
|
-
TZOFFSETFROM:-#{S}00
|
|
15
|
-
TZOFFSETTO:-#{D}00
|
|
16
|
-
TZNAME:#{Z}DT
|
|
13
|
+
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1SU;UNTIL=19730429T#{SZ:08}0000Z
|
|
14
|
+
TZOFFSETFROM:-#{S:06}00
|
|
15
|
+
TZOFFSETTO:-#{D:05}00
|
|
16
|
+
TZNAME:#{Z:C}DT
|
|
17
17
|
END:DAYLIGHT
|
|
18
18
|
BEGIN:STANDARD
|
|
19
19
|
DTSTART:19671029T020000
|
|
20
|
-
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU;UNTIL=20061029T#{DZ}0000Z
|
|
21
|
-
TZOFFSETFROM:-#{D}00
|
|
22
|
-
TZOFFSETTO:-#{S}00
|
|
23
|
-
TZNAME:#{Z}ST
|
|
20
|
+
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU;UNTIL=20061029T#{DZ:07}0000Z
|
|
21
|
+
TZOFFSETFROM:-#{D:05}00
|
|
22
|
+
TZOFFSETTO:-#{S:06}00
|
|
23
|
+
TZNAME:#{Z:C}ST
|
|
24
24
|
END:STANDARD
|
|
25
25
|
BEGIN:DAYLIGHT
|
|
26
26
|
DTSTART:19740106T020000
|
|
27
27
|
RDATE:19750223T020000
|
|
28
|
-
TZOFFSETFROM:-#{S}00
|
|
29
|
-
TZOFFSETTO:-#{D}00
|
|
30
|
-
TZNAME:#{Z}DT
|
|
28
|
+
TZOFFSETFROM:-#{S:06}00
|
|
29
|
+
TZOFFSETTO:-#{D:05}00
|
|
30
|
+
TZNAME:#{Z:C}DT
|
|
31
31
|
END:DAYLIGHT
|
|
32
32
|
BEGIN:DAYLIGHT
|
|
33
33
|
DTSTART:19760425T020000
|
|
34
|
-
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1SU;UNTIL=19860427T#{SZ}0000Z
|
|
35
|
-
TZOFFSETFROM:-#{S}00
|
|
36
|
-
TZOFFSETTO:-#{D}00
|
|
37
|
-
TZNAME:#{Z}DT
|
|
34
|
+
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1SU;UNTIL=19860427T#{SZ:08}0000Z
|
|
35
|
+
TZOFFSETFROM:-#{S:06}00
|
|
36
|
+
TZOFFSETTO:-#{D:05}00
|
|
37
|
+
TZNAME:#{Z:C}DT
|
|
38
38
|
END:DAYLIGHT
|
|
39
39
|
BEGIN:DAYLIGHT
|
|
40
40
|
DTSTART:19870405T020000
|
|
41
|
-
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU;UNTIL=20060402T#{SZ}0000Z
|
|
42
|
-
TZOFFSETFROM:-#{S}00
|
|
43
|
-
TZOFFSETTO:-#{D}00
|
|
44
|
-
TZNAME:#{Z}DT
|
|
41
|
+
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU;UNTIL=20060402T#{SZ:08}0000Z
|
|
42
|
+
TZOFFSETFROM:-#{S:06}00
|
|
43
|
+
TZOFFSETTO:-#{D:05}00
|
|
44
|
+
TZNAME:#{Z:C}DT
|
|
45
45
|
END:DAYLIGHT
|
|
46
46
|
BEGIN:DAYLIGHT
|
|
47
47
|
DTSTART:20070311T020000
|
|
48
48
|
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
|
|
49
|
-
TZOFFSETFROM:-#{S}00
|
|
50
|
-
TZOFFSETTO:-#{D}00
|
|
51
|
-
TZNAME:#{Z}DT
|
|
49
|
+
TZOFFSETFROM:-#{S:06}00
|
|
50
|
+
TZOFFSETTO:-#{D:05}00
|
|
51
|
+
TZNAME:#{Z:C}DT
|
|
52
52
|
END:DAYLIGHT
|
|
53
53
|
BEGIN:STANDARD
|
|
54
54
|
DTSTART:20071104T020000
|
|
55
55
|
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
|
|
56
|
-
TZOFFSETFROM:-#{D}00
|
|
57
|
-
TZOFFSETTO:-#{S}00
|
|
58
|
-
TZNAME:#{Z}ST
|
|
56
|
+
TZOFFSETFROM:-#{D:05}00
|
|
57
|
+
TZOFFSETTO:-#{S:06}00
|
|
58
|
+
TZNAME:#{Z:C}ST
|
|
59
59
|
END:STANDARD
|
|
60
60
|
END:VTIMEZONE
|
|
61
61
|
END:VCALENDAR
|
data/test/examples/today.rb
CHANGED
|
@@ -18,7 +18,7 @@ date = today
|
|
|
18
18
|
pp [date.to_s, date.strftime('%D'), date.frame.iri, date.to_time.to_s]
|
|
19
19
|
puts
|
|
20
20
|
|
|
21
|
-
['Julian', 'ChineseLuniSolar?
|
|
21
|
+
['Julian', 'ChineseLuniSolar?time_basis=+09&intercalary_span=3', 'TabularIslamic', 'Jewish', 'LongCount'].each do |calendar|
|
|
22
22
|
date = Calendar(calendar) ^ today
|
|
23
23
|
pp [date.to_s, date.frame.iri]
|
|
24
24
|
end
|
data/test/test.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
=begin
|
|
4
|
-
Copyright (C) 2011-
|
|
4
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
5
5
|
|
|
6
6
|
You may use and/or modify this file according to the license
|
|
7
7
|
described in the LICENSE.txt file included in this archive.
|
|
@@ -40,9 +40,10 @@ require './test/tmreference'
|
|
|
40
40
|
require './test/tmposition'
|
|
41
41
|
require './test/calendartypes'
|
|
42
42
|
require './test/inspect'
|
|
43
|
-
require './test/googlecalendar'
|
|
43
|
+
#require './test/googlecalendar'
|
|
44
44
|
require './test/region/m17n'
|
|
45
45
|
require './test/region/residue'
|
|
46
|
+
require './test/region/civil'
|
|
46
47
|
require './test/region/japanese'
|
|
47
48
|
require './test/region/chinese'
|
|
48
49
|
require './test/region/tibetan'
|
|
@@ -52,3 +53,4 @@ require './test/region/iran'
|
|
|
52
53
|
require './test/region/mayan'
|
|
53
54
|
require './test/region/jewish'
|
|
54
55
|
require './test/region/french'
|
|
56
|
+
require './test/region/geologicalage'
|
data/test/test/basictypes.rb
CHANGED
|
@@ -36,17 +36,39 @@ module Test
|
|
|
36
36
|
["--04-12", [ 0, "1985-04-12"]], # 3 d) 上位省略表記 ある年の特定の月日 拡張形式
|
|
37
37
|
["--04", [-1, "1985-04" ]], # 3 e) 上位省略表記 ある年の特定の月 基本形式
|
|
38
38
|
["---12", [ 0, "1985-04-12"]], # 3 f) 上位省略表記 ある月の特定の日 基本形式
|
|
39
|
-
["+
|
|
40
|
-
["+
|
|
41
|
-
["+
|
|
42
|
-
["+
|
|
43
|
-
["+
|
|
39
|
+
["+019850412", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
|
40
|
+
["+01985-04-12", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
|
41
|
+
["+01985-04", [-1, "1985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
|
42
|
+
["+01985", [-2, "1985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
|
43
|
+
["+019", [-4, "1900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
|
44
44
|
].each do |sample|
|
|
45
45
|
date = When.when?(sample[0], {:abbr=>[1985,4,12]})
|
|
46
46
|
assert_equal(sample[1], [date.precision, date.to_s])
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
def test__x0301_5_2_1_4
|
|
51
|
+
[ # 5.2.1.4 暦日付 拡大表記(Abbr 指定なし)
|
|
52
|
+
["-019850412", [ 0, "-01985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
|
53
|
+
["+019850412", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
|
54
|
+
["-01985-04-12", [ 0, "-01985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
|
55
|
+
["+01985-04-12", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
|
56
|
+
["-01985-04", [-1, "-01985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
|
57
|
+
["+01985-04", [-1, "1985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
|
|
58
|
+
["-01985", [-2, "-01985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
|
59
|
+
["+01985", [-2, "1985" ]], # 4 c) 拡大表記 特定の年 基本形式
|
|
60
|
+
["-0190", [-2, "-00190" ]], # 4 d) 拡大表記 特定の年 基本形式
|
|
61
|
+
["+0190", [-2, "0190" ]], # 4 d) 拡大表記 特定の年 基本形式
|
|
62
|
+
["-019", [-4, "-01900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
|
63
|
+
["+019", [-4, "1900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
|
64
|
+
["-119", [-4, "-11900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
|
65
|
+
["+119", [-4, "+11900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
|
|
66
|
+
].each do |sample|
|
|
67
|
+
date = When.when?(sample[0])
|
|
68
|
+
assert_equal(sample[1], [date.precision, date.to_s])
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
50
72
|
def test__x0301_5_2_2
|
|
51
73
|
[ # 5.2.2 年間通算日
|
|
52
74
|
["1985102", [ 0, "1985-04-12"]], # 1 完全表記 基本形式
|
|
@@ -54,8 +76,8 @@ module Test
|
|
|
54
76
|
["85102", [ 0, "1985-04-12"]], # 2 a) 上位省略表記 ある百年代の特定の年日 基本形式
|
|
55
77
|
["85-102", [ 0, "1985-04-12"]], # 2 a) 上位省略表記 ある百年代の特定の年日 拡張形式
|
|
56
78
|
["-102", [ 0, "1985-04-12"]], # 2 b) 上位省略表記 ある年の特定の日 基本形式
|
|
57
|
-
["+
|
|
58
|
-
["+
|
|
79
|
+
["+01985102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 基本形式
|
|
80
|
+
["+01985-102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 拡張形式
|
|
59
81
|
].each do |sample|
|
|
60
82
|
date = When.when?(sample[0], {:abbr=>[1985,4,12]})
|
|
61
83
|
assert_equal(sample[1], [date.precision, date.to_s])
|
|
@@ -80,10 +102,10 @@ module Test
|
|
|
80
102
|
["-W15-5", [ 0, "1985-04-12"]], # 3 e) 上位省略表記 ある年の週日 拡張形式
|
|
81
103
|
["-W15", [ 0, "1985-04-08...1985-04-15"]], # 3 f) 上位省略表記 ある年の週 基本形式
|
|
82
104
|
["-W-5", [ 0, "1985-04-12"]], # 3 g) 上位省略表記 ある週の日 基本形式
|
|
83
|
-
["+
|
|
84
|
-
["+
|
|
85
|
-
["+
|
|
86
|
-
["+
|
|
105
|
+
["+01985W155", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
|
|
106
|
+
["+01985-W15-5", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
|
|
107
|
+
["+01985W15", [ 0, "1985-04-08...1985-04-15"]], # 4 b) 拡大表記 特定の週 基本形式
|
|
108
|
+
["+01985-W15", [ 0, "1985-04-08...1985-04-15"]], # 4 c) 拡大表記 特定の週 拡張形式
|
|
87
109
|
].each do |sample|
|
|
88
110
|
date = When.when?(sample[0], {:abbr=>[1985,15,5]})
|
|
89
111
|
assert_equal(sample[1], [date.precision, date.to_s])
|
|
@@ -339,9 +361,9 @@ LOCALE
|
|
|
339
361
|
end
|
|
340
362
|
|
|
341
363
|
def test__label
|
|
342
|
-
assert_equal("Getsuyou", Term2.label)
|
|
343
|
-
assert_equal(
|
|
344
|
-
assert_equal("Monday", Term3.label)
|
|
364
|
+
assert_equal("Getsuyou", Term2.label.to_s)
|
|
365
|
+
assert_equal(When::BasicTypes::M17n, Term2.label.class)
|
|
366
|
+
assert_equal("Monday", Term3.label.to_s)
|
|
345
367
|
end
|
|
346
368
|
end
|
|
347
369
|
|
|
@@ -354,7 +376,10 @@ LOCALE
|
|
|
354
376
|
|
|
355
377
|
module RS
|
|
356
378
|
class Identifier < Unit::TestCase
|
|
357
|
-
def
|
|
379
|
+
def test__forward
|
|
380
|
+
name = When.Residue('Monday').label
|
|
381
|
+
monday = When::RS::Identifier.new(name)
|
|
382
|
+
assert_equal("月曜日", monday / 'ja')
|
|
358
383
|
end
|
|
359
384
|
end
|
|
360
385
|
end
|
data/test/test/coordinates.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
=begin
|
|
3
|
-
Copyright (C) 2011-
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
4
|
|
|
5
5
|
You may use and/or modify this file according to the license
|
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
|
@@ -52,7 +52,7 @@ module Test::Coordinates
|
|
|
52
52
|
assert_equal(sample[1], (r6 & date3).to_s)
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
kanshi = When.Resource("_co:Residue?divisor=60&
|
|
55
|
+
kanshi = When.Resource("_co:Residue?divisor=60&year=4&day=11")
|
|
56
56
|
date = When.when?("19820606T021540+0900^^Julian")
|
|
57
57
|
assert_equal("1982-07-27T02:15:40+09:00", (date & kanshi.to('day')).to_s)
|
|
58
58
|
assert_equal("1985-06-06T02:15:40+09:00", (date & kanshi.to('year')[1]).to_s)
|
|
@@ -133,7 +133,7 @@ module Test::Coordinates
|
|
|
133
133
|
|
|
134
134
|
assert_equal(2426467, (date2+When::Duration('P30Y')).to_i)
|
|
135
135
|
sample = [
|
|
136
|
-
["
|
|
136
|
+
["ModernJapanese64(1931).05.05", false],
|
|
137
137
|
["S06(1931).05.05", true]
|
|
138
138
|
]
|
|
139
139
|
((date2+When::Duration('P30Y')).scan(When.Resource('ModernJapanese', '_e:'))).each do |d|
|
|
@@ -344,10 +344,15 @@ module Test::Coordinates
|
|
|
344
344
|
end
|
|
345
345
|
|
|
346
346
|
def test__reference
|
|
347
|
-
location = When.Resource("_co:Spatial?label=Kyoto&long=136&lat=30&ref=http
|
|
347
|
+
location = When.Resource("_co:Spatial?label=Kyoto&long=136&lat=30&ref=(http://)")
|
|
348
348
|
assert_equal("http://", location.ref)
|
|
349
349
|
end
|
|
350
350
|
|
|
351
|
+
def test__surface_radius
|
|
352
|
+
location = When.Resource("_co:Spatial?label=Kyoto&long=136&lat=30&ref=(http://)")
|
|
353
|
+
assert_equal(6378.14, location.surface_radius)
|
|
354
|
+
end
|
|
355
|
+
|
|
351
356
|
def test__spatial_m17n
|
|
352
357
|
['_co:IndianCities', 'examples/Spatial.m17n'].each do |iri|
|
|
353
358
|
samples = IndianCities.dup
|
data/test/test/icalendar.rb
CHANGED
|
@@ -81,6 +81,18 @@ module Test:V
|
|
|
81
81
|
assert_equal(["2010-05-04T+09:00", 0], [date.to_s, date.precision])
|
|
82
82
|
assert_equal([true,false], [d0504,d0505].map {|v| event.include?(v)})
|
|
83
83
|
end
|
|
84
|
+
|
|
85
|
+
def test__rfc_update
|
|
86
|
+
sample = ["Children's_Day_(Japan)", 'Children"s_Day_(Japan)', "Children's_Day_(Japan)"]
|
|
87
|
+
When::TM::Clock.local_time = When.Clock("+0900")
|
|
88
|
+
["JapanHolidays.ics", "JapanHolidays.ics?Escape=^'", "JapanHolidaysRFC6350.ics"].each do |ics|
|
|
89
|
+
cal = When.Resource('examples/' + ics)
|
|
90
|
+
cal = cal.intersection({'summary'=>/Children['"]s_Day_\(Japan\)/})
|
|
91
|
+
cal.each(When.when?('20100101')...When.when?('20110101')) do |date|
|
|
92
|
+
assert_equal(sample.shift, date.events[0].summary / 'en')
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
84
96
|
end
|
|
85
97
|
|
|
86
98
|
class Event < Test::Unit::TestCase
|
|
@@ -149,7 +161,7 @@ module Test:V
|
|
|
149
161
|
end
|
|
150
162
|
|
|
151
163
|
def test__ignored_invalid_date
|
|
152
|
-
When.Resource("examples/USA-DST.ics
|
|
164
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
153
165
|
assert_equal("2007-03-30T09:00:00-04:00", When.when?('TZID=America/New_York:2007-03-30T09:00:00').to_s)
|
|
154
166
|
sample = [
|
|
155
167
|
"2007-01-15T09:00:00-05:00",
|
|
@@ -190,7 +202,7 @@ module Test:V
|
|
|
190
202
|
end
|
|
191
203
|
|
|
192
204
|
def test__multiple_BYxxx_rule # See RFC 5545 [Page 45]
|
|
193
|
-
When.Resource("examples/USA-DST.ics
|
|
205
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
194
206
|
|
|
195
207
|
sample = [
|
|
196
208
|
"1997-04-13T01:30:00-04:00",
|
|
@@ -489,7 +501,7 @@ module Test:V
|
|
|
489
501
|
|
|
490
502
|
class TimezoneProperty < Test::Unit::TestCase
|
|
491
503
|
def test__tz_change
|
|
492
|
-
ic = When.Resource("examples/USA-DST.ics
|
|
504
|
+
ic = When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
493
505
|
tz = When::V::Timezone["America/New_York"]
|
|
494
506
|
gc = When.Resource('_c:Gregorian')
|
|
495
507
|
[
|
|
@@ -582,7 +594,7 @@ module Test:V
|
|
|
582
594
|
end
|
|
583
595
|
|
|
584
596
|
def test__tzname
|
|
585
|
-
ic = When.Resource("examples/USA-DST.ics
|
|
597
|
+
ic = When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
586
598
|
date = When.when?('20110126T250000EST')
|
|
587
599
|
assert_equal(["2011-01-27T01:00:00-05:00", "Thu Jan 27 01:00:00 -0500 2011", "EST"],
|
|
588
600
|
[date.to_s, date.strftime('%+'), date.clk_time.frame.tzname[0]])
|
|
@@ -607,16 +619,14 @@ module Test:V
|
|
|
607
619
|
|
|
608
620
|
class Timezone < Test::Unit::TestCase
|
|
609
621
|
def test__neighbor_event_date
|
|
610
|
-
When.Resource("examples/USA-DST.ics
|
|
622
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
611
623
|
tz = When::V::Timezone["America/New_York"]
|
|
612
|
-
|
|
613
|
-
assert_equal("1997-
|
|
614
|
-
assert_equal("1997-10-26T02:00:00-04:00", tz._neighbor_event_date(When.when?("19971010")).to_s)
|
|
615
|
-
eval('class When::V::Timezone ; private :_neighbor_event_date ; end')
|
|
624
|
+
assert_equal("1997-04-06T02:00:00-05:00", tz.send(:_neighbor_event_date, When.when?("19970510").universal_time).to_s)
|
|
625
|
+
assert_equal("1997-10-26T02:00:00-04:00", tz.send(:_neighbor_event_date, When.when?("19971010").universal_time).to_s)
|
|
616
626
|
end
|
|
617
627
|
|
|
618
628
|
def test__current_period
|
|
619
|
-
When.Resource("examples/USA-DST.ics
|
|
629
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
620
630
|
tz = When::V::Timezone["America/New_York"]
|
|
621
631
|
assert_equal("1997-04-06T02:00:00-05:00...1997-10-26T02:00:00-04:00", tz.current_period(When.when?("19970510")).to_s)
|
|
622
632
|
assert_equal("1997-04-06T02:00:00-05:00...1997-10-26T02:00:00-04:00", tz.current_period(When.when?("19971010")).to_s)
|
|
@@ -634,7 +644,7 @@ module Test:V
|
|
|
634
644
|
class Event
|
|
635
645
|
|
|
636
646
|
def test__each_1
|
|
637
|
-
When.Resource("examples/USA-DST.ics
|
|
647
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
638
648
|
cal = When.Resource("examples/Test.ics")
|
|
639
649
|
|
|
640
650
|
event1 = When.Resource("examples/Test.ics::event1-ID")
|
|
@@ -667,7 +677,7 @@ module Test:V
|
|
|
667
677
|
end
|
|
668
678
|
|
|
669
679
|
def test__each_2
|
|
670
|
-
When.Resource("examples/USA-DST.ics
|
|
680
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
671
681
|
cal = When.Resource("examples/Test.ics")
|
|
672
682
|
|
|
673
683
|
event2 = cal["event2-ID"]
|
|
@@ -690,7 +700,7 @@ module Test:V
|
|
|
690
700
|
end
|
|
691
701
|
|
|
692
702
|
def test__each_3
|
|
693
|
-
When.Resource("examples/USA-DST.ics
|
|
703
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
694
704
|
cal = When.Resource("examples/Test.ics")
|
|
695
705
|
|
|
696
706
|
event3 = cal["event3-ID"]
|
|
@@ -760,7 +770,7 @@ module Test:V
|
|
|
760
770
|
end
|
|
761
771
|
|
|
762
772
|
def test__each_4
|
|
763
|
-
When.Resource("examples/USA-DST.ics
|
|
773
|
+
When.Resource("examples/USA-DST.ics?C=New_York&Z=E&D=04&DZ=06&S=05&SZ=07")
|
|
764
774
|
cal = When.Resource("examples/Test.ics")
|
|
765
775
|
|
|
766
776
|
event4 = cal["event4-ID"]
|
data/test/test/inspect.rb
CHANGED
|
@@ -19,8 +19,10 @@ module Test
|
|
|
19
19
|
assert_equal(["月曜です 1%", "It is Monday 1%"],
|
|
20
20
|
['ja_JP', 'en_US'].map {|c| (form % [term1, term2, When::Coordinates::Pair.new(1,-2)]).translate(c)})
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
assert_equal("
|
|
22
|
+
pair11 = When::Coordinates::Pair.new(1,1)
|
|
23
|
+
assert_equal("2:", "%d:" % pair11)
|
|
24
|
+
assert_equal("2=", "%d=" % pair11)
|
|
25
|
+
assert_equal("1=", When.m17n("%d:") % pair11)
|
|
24
26
|
|
|
25
27
|
date = When.when?('2011-02-28T12:34:56+09:00')
|
|
26
28
|
assert_equal(["February", {""=>"February", "ja"=>"2月"}], [date.name(-1).to_s, date.name(-1).names])
|
|
@@ -70,7 +72,7 @@ module Test
|
|
|
70
72
|
end
|
|
71
73
|
|
|
72
74
|
def test__coordinates
|
|
73
|
-
date = When.when?('2012.3=16T12:34:56', {:frame=>When::CalendarTypes::ChineseLuniSolar.new({'
|
|
75
|
+
date = When.when?('2012.3=16T12:34:56', {:frame=>When::CalendarTypes::ChineseLuniSolar.new({'time_basis'=>'+09:00'})})
|
|
74
76
|
assert_equal(2012, date.year )
|
|
75
77
|
assert_equal(When::Coordinates::Pair.new(3,1), date.month)
|
|
76
78
|
assert_equal( 16, date.day )
|
data/test/test/parts.rb
CHANGED
|
@@ -124,14 +124,23 @@ LOCALE
|
|
|
124
124
|
|
|
125
125
|
def test__prefix
|
|
126
126
|
date = When.when?('0594-09=12^Japanese')
|
|
127
|
-
assert_equal(["閏長月",
|
|
127
|
+
assert_equal(["閏長月", When::BasicTypes::M17n], [date.name('Month').label.to_s, date.name('Month').label.class])
|
|
128
128
|
assert_equal(["閏長月", String], [date.name('Month').to_s, date.name('Month').to_s.class])
|
|
129
129
|
assert_equal("閏長月", date.name('Month').translate('日本語'))
|
|
130
130
|
assert_equal("Intercalary 9th Month", date.name('Month').translate('en_US'))
|
|
131
131
|
end
|
|
132
|
+
|
|
133
|
+
def test__split
|
|
134
|
+
assert_equal(['' ], When::Parts::Locale._split(''))
|
|
135
|
+
assert_equal(['3.14' ], When::Parts::Locale._split('3.14'))
|
|
136
|
+
assert_equal(['3.14', ''], When::Parts::Locale._split('3.14,'))
|
|
137
|
+
assert_equal(['', '3.14'], When::Parts::Locale._split(',3.14'))
|
|
138
|
+
assert_equal(['3.14', ' "3.14,159"'], When::Parts::Locale._split('3.14, "3.14,159"'))
|
|
139
|
+
assert_equal(['3.14', ' "3.14\\"159"'], When::Parts::Locale._split('3.14, "3.14\\"159"'))
|
|
140
|
+
end
|
|
132
141
|
end
|
|
133
142
|
|
|
134
|
-
class
|
|
143
|
+
class Resource < Test::Unit::TestCase
|
|
135
144
|
def test_nothing
|
|
136
145
|
end
|
|
137
146
|
end
|