when_exe 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|