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.
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,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  =begin
3
- Copyright (C) 2011-2012 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.
@@ -124,6 +124,17 @@ module Test::TM
124
124
  period_0203_0206 = When::TM::Period.new(instant[2], instant[5])
125
125
  period_0201_0206 = When::TM::Period.new(instant[0], instant[5])
126
126
 
127
+ extent_0201_0202 = When::EX::Extent.new(period_0201_0202)
128
+ extent_0202_0203 = When::EX::Extent.new(period_0202_0203)
129
+ extent_0203_0204 = When::EX::Extent.new(period_0203_0204)
130
+ extent_0204_0205 = When::EX::Extent.new(period_0204_0205)
131
+ extent_0205_0206 = When::EX::Extent.new(period_0205_0206)
132
+
133
+ extent_0202_0204 = When::EX::Extent.new(period_0202_0204)
134
+ extent_0204_0206 = When::EX::Extent.new(period_0204_0206)
135
+ extent_0203_0206 = When::EX::Extent.new(period_0203_0206)
136
+ extent_0201_0206 = When::EX::Extent.new(period_0201_0206)
137
+
127
138
  sample = ['P1D', 'P0D', 'P0D', 'P0D', 'P1D', 'P2D']
128
139
  instant.each do |i|
129
140
  assert_equal(sample.shift, period_0202_0204.distance(i).to_s)
@@ -139,6 +150,22 @@ module Test::TM
139
150
  assert_equal(sample[0], sample[1].distance(sample[2]).to_s)
140
151
  assert_equal(sample[0], sample[2].distance(sample[1]).to_s)
141
152
  end
153
+
154
+ sample = ['P1D', 'P0D', 'P0D', 'P0D', 'P1D', 'P2D']
155
+ instant.each do |i|
156
+ assert_equal(sample.shift, extent_0202_0204.distance(i).to_s)
157
+ end
158
+
159
+ [['P2D', extent_0201_0202, extent_0204_0206],
160
+ ['P0D', extent_0201_0202, extent_0202_0204],
161
+ ['P0D', extent_0202_0203, extent_0202_0204],
162
+ ['P0D', extent_0203_0204, extent_0202_0204],
163
+ ['P0D', extent_0204_0205, extent_0202_0204],
164
+ ['P0D', extent_0203_0206, extent_0202_0204],
165
+ ['P1D', extent_0205_0206, extent_0202_0204]].each do |sample|
166
+ assert_equal(sample[0], sample[1].distance(sample[2]).to_s)
167
+ assert_equal(sample[0], sample[2].distance(sample[1]).to_s)
168
+ end
142
169
  end
143
170
 
144
171
  def test__relative_position
@@ -283,46 +310,6 @@ module Test::TM
283
310
  assert_equal(sample[1], period[sample[0]])
284
311
  end
285
312
  end
286
-
287
- def test__julian_gregorian_change
288
- epoch = When.when?('CE1582.10.3') ^ When.Duration('P1D')
289
- sample = [
290
- "CE1582.10.03",
291
- "CE1582.10.04",
292
- "CE1582.10.15",
293
- "CE1582.10.16"
294
- ]
295
- 4.times do
296
- assert_equal(sample.shift, epoch.next.to_s)
297
- end
298
-
299
- sample = [
300
- "CE1582.10.16",
301
- "CE1582.10.15",
302
- "CE1582.10.04",
303
- "CE1582.10.03"
304
- ]
305
- epoch = When.when?('CE1582.10.16') ^ -When.Duration('P1D')
306
- 4.times do
307
- assert_equal(sample.shift, epoch.next.to_s)
308
- end
309
-
310
- assert_equal(
311
- [["October 1582",
312
- ["-", 1, 2, 3, 4, 15, 16],
313
- [17, 18, 19, 20, 21, 22, 23],
314
- [24, 25, 26, 27, 28, 29, 30],
315
- [31, "-", "-", "-", "-", "-", "-"]]],
316
- When.when?('CE1582.10').month_included('SU') {|date, type|
317
- case type
318
- when When::YEAR,
319
- When::MONTH ; date.strftime("%B %Y")
320
- when When::WEEK ; nil
321
- when When::DAY ; date[0]
322
- else ; '-'
323
- end
324
- })
325
- end
326
313
  end
327
314
 
328
315
  class IntervalLength < Test::Unit::TestCase
@@ -337,29 +324,5 @@ module Test::TM
337
324
  assert_equal(sample[1..5], [interval.value, interval.factor, interval.radix, interval.unit, interval.to_s])
338
325
  end
339
326
  end
340
-
341
- def test__julian_gregorian_change
342
- epoch = When.when?('CE1582.10.03') ^ When.Duration('1D')
343
- sample = [
344
- "CE1582.10.03",
345
- "CE1582.10.04",
346
- "CE1582.10.15",
347
- "CE1582.10.16"
348
- ]
349
- 4.times do
350
- assert_equal(sample.shift, epoch.next.to_s)
351
- end
352
-
353
- sample = [
354
- "CE1582.10.16",
355
- "CE1582.10.15",
356
- "CE1582.10.04",
357
- "CE1582.10.03"
358
- ]
359
- epoch = When.when?('CE1582.10.16') ^ -When.Duration('1D')
360
- 4.times do
361
- assert_equal(sample.shift, epoch.next.to_s)
362
- end
363
- end
364
327
  end
365
328
  end
@@ -19,7 +19,9 @@ module Test::TM
19
19
  end
20
20
 
21
21
  class Position < Test::Unit::TestCase
22
- def test_nothing
22
+ def test__forward
23
+ pos = When::TM::Position.new('2013-11-12')
24
+ assert_equal(2456609, pos.to_i)
23
25
  end
24
26
  end
25
27
 
@@ -200,7 +202,52 @@ LIST
200
202
  end
201
203
  end
202
204
 
205
+ def test__trans
206
+ ic = When.Resource("examples/NewYork.ics")
207
+ tz = When::V::Timezone["America/New_York"]
208
+
209
+ sample = %w(1997-04-06T00:00:00-05:00 1997-04-06T01:00:00-05:00
210
+ 1997-04-06T03:00:00-04:00 1997-04-06T04:00:00-04:00
211
+ 1997-04-05T23:00:00-05:00 1997-04-06T00:00:00-05:00
212
+ 1997-04-06T01:00:00-05:00 1997-04-06T03:00:00-04:00
213
+ 1997-10-26T00:00:00-04:00 1997-10-26T01:00:00-04:00
214
+ 1997-10-26T01:00:00-05:00 1997-10-26T02:00:00-05:00
215
+ 1997-10-26T01:00:00-04:00 1997-10-26T01:00:00-05:00
216
+ 1997-10-26T02:00:00-05:00 1997-10-26T03:00:00-05:00)
217
+
218
+ %w(1997-04-06T00:00:00-05:00 1997-04-06T00:00:00-04:00
219
+ 1997-10-26T00:00:00-04:00 1997-10-26T00:00:00-05:00).each do |time|
220
+ date = When.when?(time)
221
+ 4.times do
222
+ assert_equal(sample.shift, (tz ^ date).to_s)
223
+ date += When::Duration('PT1H')
224
+ end
225
+ end
226
+ end
227
+
203
228
  if Object.const_defined?(:TZInfo)
229
+ def test__trans_tzinfo
230
+ tz = When::Parts::Timezone["America/New_York"]
231
+
232
+ sample = %w(1997-04-06T00:00:00-05:00 1997-04-06T01:00:00-05:00
233
+ 1997-04-06T03:00:00-04:00 1997-04-06T04:00:00-04:00
234
+ 1997-04-05T23:00:00-05:00 1997-04-06T00:00:00-05:00
235
+ 1997-04-06T01:00:00-05:00 1997-04-06T03:00:00-04:00
236
+ 1997-10-26T00:00:00-04:00 1997-10-26T01:00:00-04:00
237
+ 1997-10-26T01:00:00-05:00 1997-10-26T02:00:00-05:00
238
+ 1997-10-26T01:00:00-04:00 1997-10-26T01:00:00-05:00
239
+ 1997-10-26T02:00:00-05:00 1997-10-26T03:00:00-05:00)
240
+
241
+ %w(1997-04-06T00:00:00-05:00 1997-04-06T00:00:00-04:00
242
+ 1997-10-26T00:00:00-04:00 1997-10-26T00:00:00-05:00).each do |time|
243
+ date = When.when?(time)
244
+ 4.times do
245
+ assert_equal(sample.shift, (tz ^ date).to_s)
246
+ date += When::Duration('PT1H')
247
+ end
248
+ end
249
+ end
250
+
204
251
  def test__plus_tzinfo
205
252
  obj4 = When.when?("1997-10-26T00:00:00", {:clock=>When::Parts::Timezone["America/New_York"]})
206
253
  [["PT59M","1997-10-26T00:59:00-04:00"],
@@ -73,7 +73,7 @@ module Test::TM
73
73
  [['BCE11.2.21', 'BCE11(-010).02.21', 1717457],
74
74
  ['CE-10.2.21', 'BCE11(-010).02.21', 1717457],
75
75
  ['-10.2.21', '-00010-02-21', 1717459],
76
- ['CE1.1.1', 'CE01.01.01', 1721424]
76
+ ['CE1.1.1', 'Common::CE01.01.01', 1721424]
77
77
  ].each do |sample|
78
78
  date = When::when?(sample.shift)
79
79
  assert_equal(sample, [date.to_s, date.to_i])
@@ -85,10 +85,72 @@ module Test::TM
85
85
  def test__era_trans
86
86
  common =When.Resource('_e:Common::CE')
87
87
  obj1 = When.when?("20100929T144512.33+0900^^Gregorian")
88
- assert_equal("CE2010.09.29T14:45:12.33+09:00", (common ^ obj1).to_s)
89
- assert_equal("CE2010.09.29T14:45:12.33Z", (common ^ Time.utc(2010,9,29,14,45,12,330000)).to_s)
88
+ assert_equal("Common::CE2010.09.29T14:45:12.33+09:00", (common ^ obj1).to_s)
89
+ assert_equal("Common::CE2010.09.29T14:45:12.33Z", (common ^ Time.utc(2010,9,29,14,45,12,330000)).to_s)
90
90
  if ::Object.const_defined?(:Date) && Date.respond_to?(:civil)
91
- assert_equal("CE2010.09.29T14:45:12.00Z", (common ^ DateTime.new(2010,9,29,14,45,12)).to_s)
91
+ assert_equal("Common::CE2010.09.29T14:45:12.00Z", (common ^ DateTime.new(2010,9,29,14,45,12)).to_s)
92
+ end
93
+ end
94
+
95
+ def test__julian_gregorian_change
96
+ epoch = When.when?('CE1582.10.03') ^ When.Duration('1D')
97
+ sample = [
98
+ "Common::CE1582.10.03",
99
+ "Common::CE1582.10.04",
100
+ "Common::CE1582.10.15",
101
+ "Common::CE1582.10.16"
102
+ ]
103
+ 4.times do
104
+ assert_equal(sample.shift, epoch.next.to_s)
105
+ end
106
+
107
+ sample = [
108
+ "Common::CE1582.10.16",
109
+ "Common::CE1582.10.15",
110
+ "Common::CE1582.10.04",
111
+ "Common::CE1582.10.03"
112
+ ]
113
+ epoch = When.when?('CE1582.10.16') ^ -When.Duration('P1D')
114
+ 4.times do
115
+ assert_equal(sample.shift, epoch.next.to_s)
116
+ end
117
+
118
+ assert_equal(
119
+ [["October 1582",
120
+ ["-", 1, 2, 3, 4, 15, 16],
121
+ [17, 18, 19, 20, 21, 22, 23],
122
+ [24, 25, 26, 27, 28, 29, 30],
123
+ [31, "-", "-", "-", "-", "-", "-"]]],
124
+ When.when?('CE1582.10').month_included('SU') {|date, type|
125
+ case type
126
+ when When::YEAR,
127
+ When::MONTH ; date.strftime("%B %Y")
128
+ when When::WEEK ; nil
129
+ when When::DAY ; date[0]
130
+ else ; '-'
131
+ end
132
+ })
133
+
134
+ epoch = When.when?('Common?Reform=1752.09.14::CE1752.09.01') ^ When.Duration('1D')
135
+ sample = [
136
+ "Common?Reform=1752.09.14::CE1752.09.01",
137
+ "Common?Reform=1752.09.14::CE1752.09.02",
138
+ "Common?Reform=1752.09.14::CE1752.09.14",
139
+ "Common?Reform=1752.09.14::CE1752.09.15"
140
+ ]
141
+ 4.times do
142
+ assert_equal(sample.shift, epoch.next.to_s)
143
+ end
144
+
145
+ sample = [
146
+ "Common?Reform=1752.09.14::CE1752.09.15",
147
+ "Common?Reform=1752.09.14::CE1752.09.14",
148
+ "Common?Reform=1752.09.14::CE1752.09.02",
149
+ "Common?Reform=1752.09.14::CE1752.09.01"
150
+ ]
151
+ epoch = When.when?('Common?Reform=1752.09.14::CE1752.09.15') ^ -When.Duration('1D')
152
+ 4.times do
153
+ assert_equal(sample.shift, epoch.next.to_s)
92
154
  end
93
155
  end
94
156
  end
data/when_exe.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ["suchowan@box.email.ne.jp"]
10
10
  s.homepage = "http://www.asahi-net.or.jp/~dd6t-sg/"
11
11
  s.summary = %q{A multicultural and multilingualized calendar library based on ISO 8601, ISO 19108 and RFC 5545}
12
- s.description = %q{This library supports ISO 8601, ISO 19108 and RFC 5545. This version is a beta version and in the evaluation stage. So, its APIs may be changed in future. Please see also the differences of ticket files from http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.1beta.zip to http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.2beta.zip.}
12
+ s.description = %q{This library supports ISO 8601, ISO 19108, RFC 5545 and RFC6350. This version is a beta version and in the evaluation stage. So, its APIs may be changed in future.}
13
13
 
14
14
  s.rubyforge_project = "when_exe"
15
15
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: when_exe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-08 00:00:00.000000000Z
12
+ date: 2014-02-06 00:00:00.000000000Z
13
13
  dependencies: []
14
- description: This library supports ISO 8601, ISO 19108 and RFC 5545. This version
15
- is a beta version and in the evaluation stage. So, its APIs may be changed in future.
16
- Please see also the differences of ticket files from http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.1beta.zip
17
- to http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.2beta.zip.
14
+ description: This library supports ISO 8601, ISO 19108, RFC 5545 and RFC6350. This
15
+ version is a beta version and in the evaluation stage. So, its APIs may be changed
16
+ in future.
18
17
  email:
19
18
  - suchowan@box.email.ne.jp
20
19
  executables:
@@ -63,15 +62,20 @@ files:
63
62
  - lib/when_exe/locales/en_AU.rb
64
63
  - lib/when_exe/locales/en_CA.rb
65
64
  - lib/when_exe/locales/en_GB.rb
65
+ - lib/when_exe/locales/en_IE.rb
66
66
  - lib/when_exe/locales/en_IN.rb
67
67
  - lib/when_exe/locales/en_NZ.rb
68
+ - lib/when_exe/locales/en_US.rb
68
69
  - lib/when_exe/locales/eo.rb
69
70
  - lib/when_exe/locales/es.rb
70
71
  - lib/when_exe/locales/es_419.rb
71
72
  - lib/when_exe/locales/es_AR.rb
72
73
  - lib/when_exe/locales/es_CL.rb
73
74
  - lib/when_exe/locales/es_CO.rb
75
+ - lib/when_exe/locales/es_CR.rb
76
+ - lib/when_exe/locales/es_EC.rb
74
77
  - lib/when_exe/locales/es_MX.rb
78
+ - lib/when_exe/locales/es_PA.rb
75
79
  - lib/when_exe/locales/es_PE.rb
76
80
  - lib/when_exe/locales/es_VE.rb
77
81
  - lib/when_exe/locales/et.rb
@@ -101,6 +105,7 @@ files:
101
105
  - lib/when_exe/locales/lv.rb
102
106
  - lib/when_exe/locales/mk.rb
103
107
  - lib/when_exe/locales/mn.rb
108
+ - lib/when_exe/locales/ms.rb
104
109
  - lib/when_exe/locales/nb.rb
105
110
  - lib/when_exe/locales/ne.rb
106
111
  - lib/when_exe/locales/nl.rb
@@ -121,6 +126,7 @@ files:
121
126
  - lib/when_exe/locales/tl.rb
122
127
  - lib/when_exe/locales/tr.rb
123
128
  - lib/when_exe/locales/uk.rb
129
+ - lib/when_exe/locales/ur.rb
124
130
  - lib/when_exe/locales/uz.rb
125
131
  - lib/when_exe/locales/vi.rb
126
132
  - lib/when_exe/locales/wo.rb
@@ -140,6 +146,7 @@ files:
140
146
  - lib/when_exe/region/chinese_calendar.rb
141
147
  - lib/when_exe/region/chinese_epoch.rb
142
148
  - lib/when_exe/region/christian.rb
149
+ - lib/when_exe/region/ephemeric_notes.rb
143
150
  - lib/when_exe/region/far_east.rb
144
151
  - lib/when_exe/region/french.rb
145
152
  - lib/when_exe/region/geologicalage.rb
@@ -177,6 +184,7 @@ files:
177
184
  - lib/when_exe/version.rb
178
185
  - link_to_online_documents
179
186
  - test/examples/JapanHolidays.ics
187
+ - test/examples/JapanHolidaysRFC6350.ics
180
188
  - test/examples/Millennium.ics
181
189
  - test/examples/NewYork.ics
182
190
  - test/examples/Residue.m17n
@@ -198,6 +206,7 @@ files:
198
206
  - test/test/inspect.rb
199
207
  - test/test/parts.rb
200
208
  - test/test/region/chinese.rb
209
+ - test/test/region/civil.rb
201
210
  - test/test/region/french.rb
202
211
  - test/test/region/geologicalage.rb
203
212
  - test/test/region/indian.rb