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.
Files changed (93) hide show
  1. data/LICENSE.ja.txt +25 -25
  2. data/LICENSE.txt +31 -31
  3. data/bin/locales.rb +2 -1
  4. data/bin/when.rb.config +1 -1
  5. data/lib/when_exe.rb +70 -48
  6. data/lib/when_exe/basictypes.rb +99 -65
  7. data/lib/when_exe/calendartypes.rb +40 -178
  8. data/lib/when_exe/coordinates.rb +156 -62
  9. data/lib/when_exe/core/compatibility.rb +10 -0
  10. data/lib/when_exe/core/extension.rb +40 -0
  11. data/lib/when_exe/ephemeris.rb +112 -50
  12. data/lib/when_exe/icalendar.rb +125 -91
  13. data/lib/when_exe/inspect.rb +100 -48
  14. data/lib/when_exe/locales/ar.rb +48 -48
  15. data/lib/when_exe/locales/bg.rb +1 -1
  16. data/lib/when_exe/locales/bs.rb +4 -2
  17. data/lib/when_exe/locales/ca.rb +1 -1
  18. data/lib/when_exe/locales/en_CA.rb +3 -4
  19. data/lib/when_exe/locales/en_IE.rb +88 -0
  20. data/lib/when_exe/locales/en_US.rb +87 -0
  21. data/lib/when_exe/locales/es_CR.rb +84 -0
  22. data/lib/when_exe/locales/es_EC.rb +85 -0
  23. data/lib/when_exe/locales/es_PA.rb +85 -0
  24. data/lib/when_exe/locales/fr.rb +39 -39
  25. data/lib/when_exe/locales/hu.rb +15 -14
  26. data/lib/when_exe/locales/it.rb +1 -1
  27. data/lib/when_exe/locales/ja.rb +2 -2
  28. data/lib/when_exe/locales/locales.rb +7 -0
  29. data/lib/when_exe/locales/lt.rb +21 -19
  30. data/lib/when_exe/locales/ms.rb +84 -0
  31. data/lib/when_exe/locales/nl.rb +2 -2
  32. data/lib/when_exe/locales/ru.rb +1 -1
  33. data/lib/when_exe/locales/uk.rb +1 -1
  34. data/lib/when_exe/locales/ur.rb +84 -0
  35. data/lib/when_exe/mini_application.rb +44 -43
  36. data/lib/when_exe/parts/enumerator.rb +3 -3
  37. data/lib/when_exe/parts/geometric_complex.rb +6 -1
  38. data/lib/when_exe/parts/locale.rb +49 -18
  39. data/lib/when_exe/parts/method_cash.rb +61 -0
  40. data/lib/when_exe/parts/resource.rb +221 -106
  41. data/lib/when_exe/parts/timezone.rb +70 -33
  42. data/lib/when_exe/region/bahai.rb +2 -2
  43. data/lib/when_exe/region/balinese.rb +40 -43
  44. data/lib/when_exe/region/chinese.rb +93 -33
  45. data/lib/when_exe/region/chinese_calendar.rb +117 -1
  46. data/lib/when_exe/region/chinese_epoch.rb +65 -10
  47. data/lib/when_exe/region/christian.rb +97 -2
  48. data/lib/when_exe/region/ephemeric_notes.rb +353 -0
  49. data/lib/when_exe/region/french.rb +1 -1
  50. data/lib/when_exe/region/geologicalage.rb +171 -171
  51. data/lib/when_exe/region/indian.rb +18 -14
  52. data/lib/when_exe/region/iranian.rb +1 -1
  53. data/lib/when_exe/region/japanese.rb +49 -12
  54. data/lib/when_exe/region/japanese_notes.rb +838 -507
  55. data/lib/when_exe/region/japanese_residues.rb +724 -662
  56. data/lib/when_exe/region/javanese.rb +7 -7
  57. data/lib/when_exe/region/mayan.rb +19 -17
  58. data/lib/when_exe/region/nihon_shoki.rb +3 -3
  59. data/lib/when_exe/region/residue.rb +29 -28
  60. data/lib/when_exe/region/shire.rb +2 -2
  61. data/lib/when_exe/region/tibetan.rb +87 -5
  62. data/lib/when_exe/region/world.rb +1 -1
  63. data/lib/when_exe/timestandard.rb +85 -7
  64. data/lib/when_exe/tmobjects.rb +32 -4
  65. data/lib/when_exe/tmposition.rb +104 -55
  66. data/lib/when_exe/tmreference.rb +157 -60
  67. data/lib/when_exe/version.rb +2 -2
  68. data/test/examples/JapanHolidays.ics +3 -3
  69. data/test/examples/JapanHolidaysRFC6350.ics +499 -0
  70. data/test/examples/Residue.m17n +3 -2
  71. data/test/examples/Spatial.m17n +3 -3
  72. data/test/examples/USA-DST.ics +27 -27
  73. data/test/examples/today.rb +1 -1
  74. data/test/test.rb +4 -2
  75. data/test/test/basictypes.rb +40 -15
  76. data/test/test/coordinates.rb +9 -4
  77. data/test/test/icalendar.rb +24 -14
  78. data/test/test/inspect.rb +5 -3
  79. data/test/test/parts.rb +11 -2
  80. data/test/test/region/chinese.rb +4 -4
  81. data/test/test/region/civil.rb +124 -0
  82. data/test/test/region/geologicalage.rb +5 -2
  83. data/test/test/region/indian.rb +2 -0
  84. data/test/test/region/japanese.rb +156 -1
  85. data/test/test/region/jewish.rb +3 -3
  86. data/test/test/region/m17n.rb +9 -9
  87. data/test/test/region/mayan.rb +122 -5
  88. data/test/test/region/residue.rb +1 -1
  89. data/test/test/tmobjects.rb +27 -64
  90. data/test/test/tmposition.rb +48 -1
  91. data/test/test/tmreference.rb +66 -4
  92. data/when_exe.gemspec +1 -1
  93. metadata +15 -6
@@ -1,5 +1,5 @@
1
1
  BEGIN:B:M17N
2
- # Copyright (C) 2011 Takashi SUGA
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:[Sunday,日曜日]
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
@@ -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:[en=http://en.wikipedia.org/wiki/,
7
- ja=http://ja.wikipedia.org/wiki/]
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
 
@@ -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
@@ -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?timezone=9&intercalary_span=3', 'TabularIslamic', 'Jewish', 'LongCount'].each do |calendar|
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-2013 Takashi SUGA
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'
@@ -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
- ["+0019850412", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
40
- ["+001985-04-12", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
41
- ["+001985-04", [-1, "1985-04" ]], # 4 b) 拡大表記 特定の月 基本形式
42
- ["+001985", [-2, "1985" ]], # 4 c) 拡大表記 特定の年 基本形式
43
- ["+0019", [-4, "1900" ]], # 4 d) 拡大表記 特定の百年代 基本形式
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
- ["+001985102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 基本形式
58
- ["+001985-102", [ 0, "1985-04-12"]], # 3 a) 拡大表記 特定の日 拡張形式
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
- ["+001985W155", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 基本形式
84
- ["+001985-W15-5", [ 0, "1985-04-12"]], # 4 a) 拡大表記 特定の日 拡張形式
85
- ["+001985W15", [ 0, "1985-04-08...1985-04-15"]], # 4 b) 拡大表記 特定の週 基本形式
86
- ["+001985-W15",[ 0, "1985-04-08...1985-04-15"]], # 4 c) 拡大表記 特定の週 拡張形式
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(String, Term2.label.class)
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 test_nothing
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
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2013 Takashi SUGA
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&YEAR=4&DAY=11")
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
- ["Japan64(1931).05.05", false],
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%3A%2F%2f")
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
@@ -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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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
- eval('class When::V::Timezone ; public :_neighbor_event_date ; end')
613
- assert_equal("1997-04-06T02:00:00-05:00", tz._neighbor_event_date(When.when?("19970510")).to_s)
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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?!C=New_York&!Z=E&!D=04&!DZ=06&!S=05&!SZ=07")
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
- assert_equal("2:", "%d:" % When::Coordinates::Pair.new(1,1))
23
- assert_equal("1=", When.m17n("%d:") % When::Coordinates::Pair.new(1,1))
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({'timezone'=>9})})
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(["閏長月", String], [date.name('Month').label, date.name('Month').label.class])
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 IRI < Test::Unit::TestCase
143
+ class Resource < Test::Unit::TestCase
135
144
  def test_nothing
136
145
  end
137
146
  end