when_exe 0.3.4 → 0.3.5
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/bin/locales.rb +2 -2
- data/bin/when.rb +2 -2
- data/lib/when_exe.rb +161 -55
- data/lib/when_exe/basictypes.rb +34 -26
- data/lib/when_exe/calendarnote.rb +654 -0
- data/lib/when_exe/calendartypes.rb +49 -474
- data/lib/when_exe/coordinates.rb +141 -34
- data/lib/when_exe/core/compatibility.rb +22 -2
- data/lib/when_exe/core/extension.rb +47 -3
- data/lib/when_exe/ephemeris.rb +82 -109
- data/lib/when_exe/googlecalendar.rb +1 -1
- data/lib/when_exe/icalendar.rb +26 -14
- data/lib/when_exe/inspect.rb +82 -68
- data/lib/when_exe/locales/af.rb +1 -1
- data/lib/when_exe/locales/ar.rb +1 -1
- data/lib/when_exe/locales/az.rb +1 -1
- data/lib/when_exe/locales/bg.rb +1 -1
- data/lib/when_exe/locales/bn.rb +1 -1
- data/lib/when_exe/locales/bs.rb +1 -1
- data/lib/when_exe/locales/ca.rb +1 -1
- data/lib/when_exe/locales/cs.rb +1 -1
- data/lib/when_exe/locales/cy.rb +1 -1
- data/lib/when_exe/locales/da.rb +1 -1
- data/lib/when_exe/locales/de.rb +1 -1
- data/lib/when_exe/locales/de_AT.rb +1 -1
- data/lib/when_exe/locales/de_CH.rb +1 -1
- data/lib/when_exe/locales/el.rb +1 -1
- data/lib/when_exe/locales/en.rb +1 -1
- data/lib/when_exe/locales/en_AU.rb +1 -1
- data/lib/when_exe/locales/en_CA.rb +1 -1
- data/lib/when_exe/locales/en_GB.rb +1 -1
- data/lib/when_exe/locales/en_IE.rb +1 -1
- data/lib/when_exe/locales/en_IN.rb +1 -1
- data/lib/when_exe/locales/en_NZ.rb +1 -1
- data/lib/when_exe/locales/en_US.rb +1 -1
- data/lib/when_exe/locales/eo.rb +1 -1
- data/lib/when_exe/locales/es.rb +1 -1
- data/lib/when_exe/locales/es_419.rb +1 -1
- data/lib/when_exe/locales/es_AR.rb +1 -1
- data/lib/when_exe/locales/es_CL.rb +1 -1
- data/lib/when_exe/locales/es_CO.rb +1 -1
- data/lib/when_exe/locales/es_CR.rb +1 -1
- data/lib/when_exe/locales/es_EC.rb +1 -1
- data/lib/when_exe/locales/es_MX.rb +1 -1
- data/lib/when_exe/locales/es_PA.rb +1 -1
- data/lib/when_exe/locales/es_PE.rb +1 -1
- data/lib/when_exe/locales/es_VE.rb +1 -1
- data/lib/when_exe/locales/et.rb +1 -1
- data/lib/when_exe/locales/eu.rb +1 -1
- data/lib/when_exe/locales/fa.rb +1 -1
- data/lib/when_exe/locales/fi.rb +1 -1
- data/lib/when_exe/locales/fr.rb +1 -1
- data/lib/when_exe/locales/fr_CA.rb +1 -1
- data/lib/when_exe/locales/fr_CH.rb +1 -1
- data/lib/when_exe/locales/gl.rb +1 -1
- data/lib/when_exe/locales/he.rb +1 -1
- data/lib/when_exe/locales/hi.rb +1 -1
- data/lib/when_exe/locales/hi_IN.rb +1 -1
- data/lib/when_exe/locales/hr.rb +1 -1
- data/lib/when_exe/locales/hu.rb +1 -1
- data/lib/when_exe/locales/id.rb +1 -1
- data/lib/when_exe/locales/is.rb +1 -1
- data/lib/when_exe/locales/it.rb +1 -1
- data/lib/when_exe/locales/it_CH.rb +1 -1
- data/lib/when_exe/locales/ja.rb +1 -1
- data/lib/when_exe/locales/kn.rb +1 -1
- data/lib/when_exe/locales/ko.rb +1 -1
- data/lib/when_exe/locales/lo.rb +1 -1
- data/lib/when_exe/locales/locales.rb +1 -1
- data/lib/when_exe/locales/lt.rb +1 -1
- data/lib/when_exe/locales/lv.rb +1 -1
- data/lib/when_exe/locales/mk.rb +1 -1
- data/lib/when_exe/locales/mn.rb +1 -1
- data/lib/when_exe/locales/ms.rb +1 -1
- data/lib/when_exe/locales/nb.rb +1 -1
- data/lib/when_exe/locales/ne.rb +1 -1
- data/lib/when_exe/locales/nl.rb +1 -1
- data/lib/when_exe/locales/nn.rb +1 -1
- data/lib/when_exe/locales/or.rb +1 -1
- data/lib/when_exe/locales/pl.rb +1 -1
- data/lib/when_exe/locales/pt.rb +1 -1
- data/lib/when_exe/locales/pt_BR.rb +1 -1
- data/lib/when_exe/locales/rm.rb +1 -1
- data/lib/when_exe/locales/ro.rb +1 -1
- data/lib/when_exe/locales/ru.rb +1 -1
- data/lib/when_exe/locales/sk.rb +1 -1
- data/lib/when_exe/locales/sl.rb +1 -1
- data/lib/when_exe/locales/sr.rb +1 -1
- data/lib/when_exe/locales/sv.rb +1 -1
- data/lib/when_exe/locales/sw.rb +1 -1
- data/lib/when_exe/locales/th.rb +1 -1
- data/lib/when_exe/locales/tl.rb +1 -1
- data/lib/when_exe/locales/tr.rb +1 -1
- data/lib/when_exe/locales/uk.rb +1 -1
- data/lib/when_exe/locales/ur.rb +1 -1
- data/lib/when_exe/locales/uz.rb +1 -1
- data/lib/when_exe/locales/vi.rb +1 -1
- data/lib/when_exe/locales/wo.rb +1 -1
- data/lib/when_exe/locales/zh_CN.rb +1 -1
- data/lib/when_exe/locales/zh_HK.rb +1 -1
- data/lib/when_exe/locales/zh_TW.rb +1 -1
- data/lib/when_exe/mini_application.rb +6 -2
- data/lib/when_exe/parts/enumerator.rb +13 -8
- data/lib/when_exe/parts/geometric_complex.rb +3 -5
- data/lib/when_exe/parts/locale.rb +185 -28
- data/lib/when_exe/parts/method_cash.rb +20 -10
- data/lib/when_exe/parts/resource.rb +154 -76
- data/lib/when_exe/parts/timezone.rb +11 -6
- data/lib/when_exe/region/bahai.rb +2 -2
- data/lib/when_exe/region/balinese.rb +296 -296
- data/lib/when_exe/region/chinese.rb +564 -564
- data/lib/when_exe/region/chinese_calendar.rb +5 -1
- data/lib/when_exe/region/chinese_epoch.rb +47 -102
- data/lib/when_exe/region/chinese_twin.rb +798 -0
- data/lib/when_exe/region/christian.rb +314 -338
- data/lib/when_exe/region/coptic.rb +88 -0
- data/lib/when_exe/region/ephemeric_notes.rb +322 -307
- data/lib/when_exe/region/french.rb +2 -2
- data/lib/when_exe/region/indian.rb +361 -272
- data/lib/when_exe/region/iranian.rb +2 -2
- data/lib/when_exe/region/islamic.rb +3 -3
- data/lib/when_exe/region/japanese.rb +1 -1
- data/lib/when_exe/region/japanese_notes.rb +165 -103
- data/lib/when_exe/region/japanese_residues.rb +56 -55
- data/lib/when_exe/region/japanese_twin.rb +228 -0
- data/lib/when_exe/region/javanese.rb +2 -2
- data/lib/when_exe/region/jewish.rb +2 -2
- data/lib/when_exe/region/korean.rb +4 -4
- data/lib/when_exe/region/m17n.rb +19 -19
- data/lib/when_exe/region/martian.rb +21 -9
- data/lib/when_exe/region/mayan.rb +19 -11
- data/lib/when_exe/region/moon.rb +7 -7
- data/lib/when_exe/region/nihon_shoki.rb +7 -7
- data/lib/when_exe/region/roman.rb +100 -100
- data/lib/when_exe/region/shire.rb +130 -147
- data/lib/when_exe/region/thai.rb +2 -2
- data/lib/when_exe/region/tibetan.rb +2 -2
- data/lib/when_exe/region/vietnamese.rb +383 -114
- data/lib/when_exe/region/world.rb +112 -129
- data/lib/when_exe/timestandard.rb +12 -1
- data/lib/when_exe/tmposition.rb +28 -14
- data/lib/when_exe/tmreference.rb +96 -93
- data/lib/when_exe/version.rb +1 -1
- data/test/examples/Terms.m17n +2 -2
- data/test/examples/sample.json +16 -0
- data/test/examples/sample.xml +1 -1
- data/test/test.rb +4 -0
- data/test/test/basictypes.rb +2 -2
- data/test/test/calendarnote.rb +69 -0
- data/test/test/calendartypes.rb +41 -1
- data/test/test/coordinates.rb +12 -1
- data/test/test/ephemeris.rb +13 -66
- data/test/test/icalendar.rb +3 -3
- data/test/test/inspect.rb +1 -1
- data/test/test/parts.rb +7 -4
- data/test/test/region/chinese.rb +45 -0
- data/test/test/region/coptic.rb +27 -0
- data/test/test/region/indian.rb +1 -1
- data/test/test/region/japanese.rb +4 -4
- data/test/test/region/jewish.rb +1 -1
- data/test/test/region/m17n.rb +7 -5
- data/test/test/region/residue.rb +2 -2
- data/test/test/region/vietnamese.rb +102 -0
- data/test/test/timestandard.rb +81 -0
- data/test/test/tmposition.rb +1 -1
- data/test/test/tmreference.rb +1 -1
- data/when_exe.gemspec +2 -2
- metadata +16 -7
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
=begin
|
|
3
|
+
Copyright (C) 2014 Takashi SUGA
|
|
4
|
+
|
|
5
|
+
You may use and/or modify this file according to the license
|
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
|
7
|
+
=end
|
|
8
|
+
|
|
9
|
+
module Test
|
|
10
|
+
|
|
11
|
+
class Coptic < Test::Unit::TestCase
|
|
12
|
+
def test__coptic
|
|
13
|
+
julian = When.Calendar('Julian')
|
|
14
|
+
gregorian = When.Calendar('Gregorian')
|
|
15
|
+
ethiopian = When.Calendar('Coptic?Epoch=8Y')
|
|
16
|
+
egyptian = When.Calendar('Coptic?Epoch=284Y')
|
|
17
|
+
|
|
18
|
+
[['2010-8-29', %w(2010-08-29 2010-09-11 2003-01-01 1727-01-01)],
|
|
19
|
+
['2011-8-30', %w(2011-08-30 2011-09-12 2004-01-01 1728-01-01)],
|
|
20
|
+
['2012-8-29', %w(2012-08-29 2012-09-11 2005-01-01 1729-01-01)],
|
|
21
|
+
['2013-8-29', %w(2013-08-29 2013-09-11 2006-01-01 1730-01-01)]].each do |sample|
|
|
22
|
+
date = When.when?(sample[0], :frame=>julian)
|
|
23
|
+
assert_equal(sample[1], [date.to_s, (gregorian ^ date).to_s, (ethiopian ^ date).to_s, (egyptian ^ date).to_s])
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/test/test/region/indian.rb
CHANGED
|
@@ -50,7 +50,7 @@ module Test
|
|
|
50
50
|
cc = When.Calendar('HinduSolar?type=SBS')
|
|
51
51
|
date = When.when?('1913-01-01', {:frame=>cc})
|
|
52
52
|
assert_equal([2448361, "1913-01-01", "1991-04-14"], [date.to_i, date.to_s, date.to_date.to_s])
|
|
53
|
-
date = When::
|
|
53
|
+
date = When::CalendarNote::HinduNote::Dates.new(date)
|
|
54
54
|
assert_equal(2448361, date.to_i)
|
|
55
55
|
end
|
|
56
56
|
end
|
|
@@ -155,15 +155,15 @@ module Test
|
|
|
155
155
|
long = dates.cal4note.s_terms.position(date)
|
|
156
156
|
notes = date.notes(:indices => When::DAY,
|
|
157
157
|
:notes => (13<<9|1<<48|1<<71),
|
|
158
|
-
:locale => 'ja').
|
|
158
|
+
:locale => 'ja').simplify[:value].compact
|
|
159
159
|
result << [date.to_m17n/'ja', notes]
|
|
160
160
|
end
|
|
161
161
|
end
|
|
162
162
|
end
|
|
163
163
|
assert_equal(sample.shift, result)
|
|
164
|
-
When::
|
|
164
|
+
When::CalendarNote::JapaneseNote::SolarTerms.send(:patch=, {})
|
|
165
165
|
end
|
|
166
|
-
When::
|
|
166
|
+
When::CalendarNote::JapaneseNote::SolarTerms.send(:patch=, nil)
|
|
167
167
|
end
|
|
168
168
|
|
|
169
169
|
def test__lunar_phases
|
|
@@ -194,7 +194,7 @@ module Test
|
|
|
194
194
|
%w(平成26.11.22 平成26.11.29 平成26.12.06 平成26.12.14),
|
|
195
195
|
%w(平成26.12.22 平成26.12.29)
|
|
196
196
|
].each do |month|
|
|
197
|
-
assert_equal([true], month.map {|date| When.when?(date).
|
|
197
|
+
assert_equal([true], month.map {|date| When.when?(date).is?('月相')}.uniq)
|
|
198
198
|
end
|
|
199
199
|
end
|
|
200
200
|
=begin
|
data/test/test/region/jewish.rb
CHANGED
data/test/test/region/m17n.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Test
|
|
|
11
11
|
class M17n < Test::Unit::TestCase
|
|
12
12
|
|
|
13
13
|
First = [
|
|
14
|
-
["CalendarTerms", "CalendarTerms", "
|
|
14
|
+
["CalendarTerms", "CalendarTerms", ""],
|
|
15
15
|
["Month", "月", "http://ja.wikipedia.org/wiki/%E6%9C%88_(%E6%9A%A6)"],
|
|
16
16
|
["Month", "月", "http://ja.wikipedia.org/wiki/%E6%9C%88_(%E6%9A%A6)"],
|
|
17
17
|
["January", "1月", "http://ja.wikipedia.org/wiki/1%E6%9C%88"]
|
|
@@ -132,20 +132,22 @@ module Test
|
|
|
132
132
|
|
|
133
133
|
['1985-1-1',
|
|
134
134
|
{:calendar=>["_c:Gregorian"], :sdn=>2446067, :cal_date=>[1985, 1, 1],
|
|
135
|
-
:notes=>[[{:note=>"Month", :value=>"January"}],[]]}],
|
|
135
|
+
:notes=>[[{:note=>"Month", :value=>"January"}],[{:note=>"Week", :value=>"Tuesday(1)"}]]}],
|
|
136
136
|
|
|
137
137
|
['明治7.5.7',
|
|
138
138
|
{:calendar=>["_e:Japanese::明治",1867], :sdn=>2405651, :cal_date=>[7, 5, 7],
|
|
139
139
|
:notes=>[[{:note=>"干支", :value=>"甲戌(10)", :position=>"共通"}],
|
|
140
140
|
[{:note=>"月名", :value=>"May", :position=>"月建"}],
|
|
141
|
-
[{:note=>"
|
|
141
|
+
[{:note=>"七曜", :value=>"Thursday(3)", :position=>"共通"},
|
|
142
|
+
{:note=>"干支", :value=>"甲子(00)", :position=>"共通"},
|
|
142
143
|
{:note=>"六曜", :value=>"赤口", :position=>"民間"}]]}],
|
|
143
144
|
|
|
144
145
|
['明治17.5.7',
|
|
145
146
|
{:calendar=>["_e:Japanese::明治",1867], :sdn=>2409304, :cal_date=>[17, 5, 7],
|
|
146
147
|
:notes=>[[{:note=>"干支", :value=>"甲申(20)", :position=>"共通"}],
|
|
147
148
|
[{:note=>"月名", :value=>"May", :position=>"月建"}],
|
|
148
|
-
[{:note=>"
|
|
149
|
+
[{:note=>"七曜", :value=>"Wednesday(2)", :position=>"共通"},
|
|
150
|
+
{:note=>"干支", :value=>"丁巳(53)", :position=>"共通"},
|
|
149
151
|
{:note=>"六曜", :value=>"先負", :position=>"民間"}]]}],
|
|
150
152
|
|
|
151
153
|
['CE-2010.06.08T12:00:00+09:00',
|
|
@@ -166,7 +168,7 @@ module Test
|
|
|
166
168
|
|
|
167
169
|
].each do |sample|
|
|
168
170
|
date, verify = sample
|
|
169
|
-
list = When.when?(date).to_h({:
|
|
171
|
+
list = When.when?(date).to_h({:method=>:to_m17n, :prefix=>true})
|
|
170
172
|
[:calendar, :cal_date, :sdn, :clk_time].each do |key|
|
|
171
173
|
assert_equal(verify[key], list[key])
|
|
172
174
|
end
|
data/test/test/region/residue.rb
CHANGED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
=begin
|
|
3
|
+
Copyright (C) 2014 Takashi SUGA
|
|
4
|
+
|
|
5
|
+
You may use and/or modify this file according to the license
|
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
|
7
|
+
=end
|
|
8
|
+
|
|
9
|
+
module Test
|
|
10
|
+
|
|
11
|
+
class Vietnamese < Test::Unit::TestCase
|
|
12
|
+
|
|
13
|
+
Sample1 = [%w(紹明2.1.1 1139-02-08 紹明02(1139).01.01),
|
|
14
|
+
%w(ベトナム?LY=VSL::李朝::紹明2.1.1 1138-02-19 ベトナム?LY=VSL::李朝::紹明02(1138).01.01),
|
|
15
|
+
%w(嗣徳2.8.1 1849-09-17 ベトナム::阮朝::嗣徳02(1849).08.01),
|
|
16
|
+
%w(ベトナム?LY=VSL&DN=LDNK::阮朝::嗣徳2.8.1 1849-09-16 ベトナム?LY=VSL&DN=LDNK::阮朝::嗣徳02(1849).08.01),
|
|
17
|
+
%w(ベトナム::後期黎朝::福泰2.7.1 1644-08-02 ベトナム::後期黎朝::福泰02(1644).07.01),
|
|
18
|
+
%w(ベトナム::広南::阮福瀾10.7.1 1644-08-03 ベトナム::広南::阮福瀾10(1644).07.01),
|
|
19
|
+
%w(ベトナム::後期黎朝::慶徳4.9.1 1652-10-02 ベトナム::後期黎朝::慶徳04(1652).09.01),
|
|
20
|
+
%w(ベトナム::広南::阮福瀕4.9.1 1652-10-03 ベトナム::広南::阮福瀕04(1652).09.01),
|
|
21
|
+
%w(ベトナム::阮朝::建福1.1.31 1884-02-26 ベトナム::阮朝::建福01(1884).01.31)]
|
|
22
|
+
|
|
23
|
+
Sample2 = [%w(1659-01- 1659-01-23),
|
|
24
|
+
%w(1659-01= 1659-02-21),
|
|
25
|
+
%w(1659-02- 1659-03-23),
|
|
26
|
+
%w(1659-03- 1659-04-21),
|
|
27
|
+
%w(1659-04- 1659-05-21),
|
|
28
|
+
%w(1659-05- 1659-06-20),
|
|
29
|
+
%w(1659-06- 1659-07-19),
|
|
30
|
+
%w(1659-07- 1659-08-18),
|
|
31
|
+
%w(1659-08- 1659-09-16),
|
|
32
|
+
%w(1659-09- 1659-10-16),
|
|
33
|
+
%w(1659-10- 1659-11-14),
|
|
34
|
+
%w(1659-11- 1659-12-14),
|
|
35
|
+
%w(1659-12- 1660-01-12),
|
|
36
|
+
%w(1660-01- 1660-02-11),
|
|
37
|
+
%w(1660-02- 1660-03-11),
|
|
38
|
+
%w(1660-03- 1660-04-10),
|
|
39
|
+
%w(1660-04- 1660-05-09),
|
|
40
|
+
%w(1660-05- 1660-06-08),
|
|
41
|
+
%w(1660-06- 1660-07-07),
|
|
42
|
+
%w(1660-07- 1660-08-06),
|
|
43
|
+
%w(1660-08- 1660-09-05),
|
|
44
|
+
%w(1660-09- 1660-10-04),
|
|
45
|
+
%w(1660-10- 1660-11-03),
|
|
46
|
+
%w(1660-11- 1660-12-02),
|
|
47
|
+
%w(1660-12- 1661-01-01),
|
|
48
|
+
|
|
49
|
+
%w(1659-01- 1659-01-23),
|
|
50
|
+
%w(1659-01= 1659-02-22),
|
|
51
|
+
%w(1659-02- 1659-03-23),
|
|
52
|
+
%w(1659-03- 1659-04-21),
|
|
53
|
+
%w(1659-04- 1659-05-21),
|
|
54
|
+
%w(1659-05- 1659-06-20),
|
|
55
|
+
%w(1659-06- 1659-07-19),
|
|
56
|
+
%w(1659-07- 1659-08-18),
|
|
57
|
+
%w(1659-08- 1659-09-16),
|
|
58
|
+
%w(1659-09- 1659-10-16),
|
|
59
|
+
%w(1659-10- 1659-11-15), # 1659-11-14 ではない
|
|
60
|
+
%w(1659-11- 1659-12-14),
|
|
61
|
+
%w(1659-12- 1660-01-12),
|
|
62
|
+
%w(1660-01- 1660-02-11),
|
|
63
|
+
%w(1660-02- 1660-03-11),
|
|
64
|
+
%w(1660-03- 1660-04-10),
|
|
65
|
+
%w(1660-04- 1660-05-09),
|
|
66
|
+
%w(1660-05- 1660-06-08),
|
|
67
|
+
%w(1660-06- 1660-07-07),
|
|
68
|
+
%w(1660-07- 1660-08-06),
|
|
69
|
+
%w(1660-08- 1660-09-05),
|
|
70
|
+
%w(1660-09- 1660-10-04),
|
|
71
|
+
%w(1660-10- 1660-11-03),
|
|
72
|
+
%w(1660-11- 1660-12-03), # 1660-12-02 ではない
|
|
73
|
+
%w(1660-12- 1661-01-01)]
|
|
74
|
+
|
|
75
|
+
def test_vietnamese_era
|
|
76
|
+
|
|
77
|
+
When.CalendarEra('Vietnamese')
|
|
78
|
+
When.CalendarEra('Vietnamese?LY=VSL')
|
|
79
|
+
When.CalendarEra('Vietnamese?LY=VSL&DN=LDNK')
|
|
80
|
+
|
|
81
|
+
Sample1.each do |sample|
|
|
82
|
+
date = When.when?(sample[0])
|
|
83
|
+
assert_equal(sample[1..2], [date.to_date.to_s, date.to_s])
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def test_vietnamese_date
|
|
88
|
+
|
|
89
|
+
When.CalendarEra('Vietnamese')
|
|
90
|
+
|
|
91
|
+
sample = Sample2
|
|
92
|
+
[1544, 1631].each do |epoch|
|
|
93
|
+
calendar = When.Calendar('Vietnamese' + epoch.to_s)
|
|
94
|
+
date = When.TemporalPosition(1659, 1, :frame=>calendar)
|
|
95
|
+
25.times do
|
|
96
|
+
assert_equal(sample.shift, [date.to_s, date.to_date.to_s])
|
|
97
|
+
date = date.next
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
=begin
|
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
|
4
|
+
|
|
5
|
+
You may use and/or modify this file according to the license
|
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
|
7
|
+
=end
|
|
8
|
+
|
|
9
|
+
module Test::TimeStandard
|
|
10
|
+
|
|
11
|
+
class UniversalTime < Test::Unit::TestCase
|
|
12
|
+
def view(time)
|
|
13
|
+
return time unless time.instance_of?(When::Coordinates::LeapSeconds)
|
|
14
|
+
return [time.trunk, time.branch, time.second]
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test__delta_t
|
|
18
|
+
date = When.when?('2009-01-01T00:00:00Z')
|
|
19
|
+
assert_equal("2008-12-31T23:59:01Z", (date - When::TM::IntervalLength.new(60, 'second')).to_s)
|
|
20
|
+
assert_equal("2008-12-31T23:59:00Z", (date - When::Duration('PT60S')).to_s)
|
|
21
|
+
|
|
22
|
+
date = When::TM::JulianDate.dynamical_time((2500000-(When::TM::JulianDate::JD19700101-0.5))*675)
|
|
23
|
+
assert_equal(2500000.0, +date)
|
|
24
|
+
assert_equal(true, +date > date.to_f)
|
|
25
|
+
|
|
26
|
+
date = When::TM::JulianDate.universal_time((2500000-(When::TM::JulianDate::JD19700101-0.5))*675)
|
|
27
|
+
assert_equal(2500000.0, date.to_f)
|
|
28
|
+
assert_equal(true, +date > date.to_f)
|
|
29
|
+
|
|
30
|
+
assert_equal((40 + 377.0/2048), When::TimeStandard.delta_t(When.when?('1970-01-01T').to_f))
|
|
31
|
+
|
|
32
|
+
date = When.when?('2008-10-31T23:59:60Z')
|
|
33
|
+
assert_equal([[2008, 11, 1], [0, 0, 0, 0]], [date.cal_date, date.clk_time.clk_time])
|
|
34
|
+
|
|
35
|
+
pair = When::Coordinates::Pair.new(1,1)
|
|
36
|
+
assert_equal([-1, -1, 1], [0.9, 1, 1.1].map {|v| v<=>pair})
|
|
37
|
+
|
|
38
|
+
time = When.Resource('_t:UniversalTime')
|
|
39
|
+
date0 = When.when?('2008-12-31T23:59:58Z') ^ When.Duration('1s') # Duration('PT1S')
|
|
40
|
+
[
|
|
41
|
+
"2008-12-31T23:59:58Z",
|
|
42
|
+
"2008-12-31T23:59:59Z",
|
|
43
|
+
"2008-12-31T23:59:60Z",
|
|
44
|
+
"2009-01-01T00:00:00Z",
|
|
45
|
+
"2009-01-01T00:00:01Z"
|
|
46
|
+
].each do |sample|
|
|
47
|
+
date = date0.next
|
|
48
|
+
assert_equal([sample, true], [date.to_s, date.universal_time == time.from_dynamical_time(date.dynamical_time)])
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it = When::V::Event.new({
|
|
52
|
+
'rrule' => 'FREQ=MINUTELY;BYSECOND=59,60',
|
|
53
|
+
'dtstart' => '2008-12-31T23:58:59Z'
|
|
54
|
+
}).each
|
|
55
|
+
|
|
56
|
+
[
|
|
57
|
+
"2008-12-31T23:58:59Z",
|
|
58
|
+
"2008-12-31T23:59:59Z",
|
|
59
|
+
"2009-01-01T00:00:59Z",
|
|
60
|
+
"2009-01-01T00:01:59Z"
|
|
61
|
+
].each do |sample|
|
|
62
|
+
assert_equal(sample, it.next.to_s)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it = When::V::Event.new({
|
|
66
|
+
'rrule' => 'FREQ=1s', #;BYSECOND=59,60',
|
|
67
|
+
'dtstart' => '2008-12-31T23:59:58Z'
|
|
68
|
+
}).each
|
|
69
|
+
|
|
70
|
+
[
|
|
71
|
+
"2008-12-31T23:59:58Z",
|
|
72
|
+
"2008-12-31T23:59:59Z",
|
|
73
|
+
"2008-12-31T23:59:60Z",
|
|
74
|
+
"2009-01-01T00:00:00Z",
|
|
75
|
+
"2009-01-01T00:00:01Z"
|
|
76
|
+
].each do |sample|
|
|
77
|
+
assert_equal(sample, it.next.to_s)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
data/test/test/tmposition.rb
CHANGED
data/test/test/tmreference.rb
CHANGED
data/when_exe.gemspec
CHANGED
|
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
|
|
|
8
8
|
s.authors = ["Takashi SUGA"]
|
|
9
9
|
s.email = ["suchowan@box.email.ne.jp"]
|
|
10
10
|
s.homepage = "http://www.asahi-net.or.jp/~dd6t-sg/"
|
|
11
|
-
s.summary = %q{A multicultural and multilingualized calendar library based on ISO 8601, ISO 19108
|
|
12
|
-
s.description = %q{
|
|
11
|
+
s.summary = %q{A multicultural and multilingualized calendar library based on ISO 8601, ISO 19108, RFC 5545 and RFC6350}
|
|
12
|
+
s.description = %q{A multicultural and multilingualized calendar library based on 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. Please refer to http://suchowan.at.webry.info/theme/a543700674.html for the recent history (Sorry only in Japanese).}
|
|
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.
|
|
4
|
+
version: 0.3.5
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,12 +9,12 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-
|
|
12
|
+
date: 2014-04-23 00:00:00.000000000Z
|
|
13
13
|
dependencies: []
|
|
14
|
-
description:
|
|
15
|
-
version is a beta version and in the evaluation
|
|
16
|
-
in future. Please refer to http://suchowan.at.webry.info/theme/a543700674.html
|
|
17
|
-
the recent history (Sorry only in Japanese).
|
|
14
|
+
description: A multicultural and multilingualized calendar library based on ISO 8601,
|
|
15
|
+
ISO 19108, RFC 5545 and RFC6350. This version is a beta version and in the evaluation
|
|
16
|
+
stage. So, its APIs may be changed in future. Please refer to http://suchowan.at.webry.info/theme/a543700674.html
|
|
17
|
+
for the recent history (Sorry only in Japanese).
|
|
18
18
|
email:
|
|
19
19
|
- suchowan@box.email.ne.jp
|
|
20
20
|
executables:
|
|
@@ -36,6 +36,7 @@ files:
|
|
|
36
36
|
- bin/when.rb.config
|
|
37
37
|
- lib/when_exe.rb
|
|
38
38
|
- lib/when_exe/basictypes.rb
|
|
39
|
+
- lib/when_exe/calendarnote.rb
|
|
39
40
|
- lib/when_exe/calendartypes.rb
|
|
40
41
|
- lib/when_exe/coordinates.rb
|
|
41
42
|
- lib/when_exe/core/compatibility.rb
|
|
@@ -146,7 +147,9 @@ files:
|
|
|
146
147
|
- lib/when_exe/region/chinese.rb
|
|
147
148
|
- lib/when_exe/region/chinese_calendar.rb
|
|
148
149
|
- lib/when_exe/region/chinese_epoch.rb
|
|
150
|
+
- lib/when_exe/region/chinese_twin.rb
|
|
149
151
|
- lib/when_exe/region/christian.rb
|
|
152
|
+
- lib/when_exe/region/coptic.rb
|
|
150
153
|
- lib/when_exe/region/ephemeric_notes.rb
|
|
151
154
|
- lib/when_exe/region/far_east.rb
|
|
152
155
|
- lib/when_exe/region/french.rb
|
|
@@ -157,6 +160,7 @@ files:
|
|
|
157
160
|
- lib/when_exe/region/japanese.rb
|
|
158
161
|
- lib/when_exe/region/japanese_notes.rb
|
|
159
162
|
- lib/when_exe/region/japanese_residues.rb
|
|
163
|
+
- lib/when_exe/region/japanese_twin.rb
|
|
160
164
|
- lib/when_exe/region/javanese.rb
|
|
161
165
|
- lib/when_exe/region/jewish.rb
|
|
162
166
|
- lib/when_exe/region/korean.rb
|
|
@@ -194,11 +198,13 @@ files:
|
|
|
194
198
|
- test/examples/Test.ics
|
|
195
199
|
- test/examples/USA-DST.ics
|
|
196
200
|
- test/examples/geometric_complex.rb
|
|
201
|
+
- test/examples/sample.json
|
|
197
202
|
- test/examples/sample.xml
|
|
198
203
|
- test/examples/today.rb
|
|
199
204
|
- test/test.rb
|
|
200
205
|
- test/test.rb.config
|
|
201
206
|
- test/test/basictypes.rb
|
|
207
|
+
- test/test/calendarnote.rb
|
|
202
208
|
- test/test/calendartypes.rb
|
|
203
209
|
- test/test/coordinates.rb
|
|
204
210
|
- test/test/ephemeris.rb
|
|
@@ -208,6 +214,7 @@ files:
|
|
|
208
214
|
- test/test/parts.rb
|
|
209
215
|
- test/test/region/chinese.rb
|
|
210
216
|
- test/test/region/civil.rb
|
|
217
|
+
- test/test/region/coptic.rb
|
|
211
218
|
- test/test/region/french.rb
|
|
212
219
|
- test/test/region/geologicalage.rb
|
|
213
220
|
- test/test/region/indian.rb
|
|
@@ -223,6 +230,8 @@ files:
|
|
|
223
230
|
- test/test/region/sun.rb
|
|
224
231
|
- test/test/region/thai.rb
|
|
225
232
|
- test/test/region/tibetan.rb
|
|
233
|
+
- test/test/region/vietnamese.rb
|
|
234
|
+
- test/test/timestandard.rb
|
|
226
235
|
- test/test/tmobjects.rb
|
|
227
236
|
- test/test/tmposition.rb
|
|
228
237
|
- test/test/tmreference.rb
|
|
@@ -251,6 +260,6 @@ rubygems_version: 1.7.2
|
|
|
251
260
|
signing_key:
|
|
252
261
|
specification_version: 3
|
|
253
262
|
summary: A multicultural and multilingualized calendar library based on ISO 8601,
|
|
254
|
-
ISO 19108
|
|
263
|
+
ISO 19108, RFC 5545 and RFC6350
|
|
255
264
|
test_files: []
|
|
256
265
|
has_rdoc:
|