source: EcnlProtoTool/trunk/mruby-1.3.0/mrbgems/mruby-time/test/time.rb@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby;charset=UTF-8
File size: 5.0 KB
Line 
1##
2# Time ISO Test
3
4assert('Time.new', '15.2.3.3.3') do
5 Time.new.class == Time
6end
7
8assert('Time', '15.2.19') do
9 Time.class == Class
10end
11
12assert('Time.at', '15.2.19.6.1') do
13 assert_kind_of(Time, Time.at(1300000000.0))
14
15 assert_raise(FloatDomainError) { Time.at(Float::NAN) }
16 assert_raise(FloatDomainError) { Time.at(Float::INFINITY) }
17 assert_raise(FloatDomainError) { Time.at(-Float::INFINITY) }
18 assert_raise(FloatDomainError) { Time.at(0, Float::NAN) }
19 assert_raise(FloatDomainError) { Time.at(0, Float::INFINITY) }
20 assert_raise(FloatDomainError) { Time.at(0, -Float::INFINITY) }
21end
22
23assert('Time.gm', '15.2.19.6.2') do
24 Time.gm(2012, 12, 23)
25end
26
27assert('Time.local', '15.2.19.6.3') do
28 Time.local(2012, 12, 23)
29end
30
31assert('Time.mktime', '15.2.19.6.4') do
32 Time.mktime(2012, 12, 23)
33end
34
35assert('Time.now', '15.2.19.6.5') do
36 Time.now.class == Time
37end
38
39assert('Time.utc', '15.2.19.6.6') do
40 Time.utc(2012, 12, 23)
41end
42
43assert('Time#+', '15.2.19.7.1') do
44 t1 = Time.at(1300000000.0)
45 t2 = t1.+(60)
46
47 assert_equal(t2.utc.asctime, "Sun Mar 13 07:07:40 UTC 2011")
48
49 assert_raise(FloatDomainError) { Time.at(0) + Float::NAN }
50 assert_raise(FloatDomainError) { Time.at(0) + Float::INFINITY }
51 assert_raise(FloatDomainError) { Time.at(0) + -Float::INFINITY }
52end
53
54assert('Time#-', '15.2.19.7.2') do
55 t1 = Time.at(1300000000.0)
56 t2 = t1.-(60)
57
58 assert_equal(t2.utc.asctime, "Sun Mar 13 07:05:40 UTC 2011")
59
60 assert_raise(FloatDomainError) { Time.at(0) - Float::NAN }
61 assert_raise(FloatDomainError) { Time.at(0) - Float::INFINITY }
62 assert_raise(FloatDomainError) { Time.at(0) - -Float::INFINITY }
63end
64
65assert('Time#<=>', '15.2.19.7.3') do
66 t1 = Time.at(1300000000.0)
67 t2 = Time.at(1400000000.0)
68 t3 = Time.at(1500000000.0)
69
70 t2.<=>(t1) == 1 and
71 t2.<=>(t2) == 0 and
72 t2.<=>(t3) == -1 and
73 t2.<=>(nil) == nil
74end
75
76assert('Time#asctime', '15.2.19.7.4') do
77 Time.at(1300000000.0).utc.asctime == "Sun Mar 13 07:06:40 UTC 2011"
78end
79
80assert('Time#ctime', '15.2.19.7.5') do
81 Time.at(1300000000.0).utc.ctime == "Sun Mar 13 07:06:40 UTC 2011"
82end
83
84assert('Time#day', '15.2.19.7.6') do
85 Time.gm(2012, 12, 23).day == 23
86end
87
88assert('Time#dst?', '15.2.19.7.7') do
89 not Time.gm(2012, 12, 23).utc.dst?
90end
91
92assert('Time#getgm', '15.2.19.7.8') do
93 Time.at(1300000000.0).getgm.asctime == "Sun Mar 13 07:06:40 UTC 2011"
94end
95
96assert('Time#getlocal', '15.2.19.7.9') do
97 t1 = Time.at(1300000000.0)
98 t2 = Time.at(1300000000.0)
99 t3 = t1.getlocal
100
101 t1 == t3 and t3 == t2.getlocal
102end
103
104assert('Time#getutc', '15.2.19.7.10') do
105 Time.at(1300000000.0).getutc.asctime == "Sun Mar 13 07:06:40 UTC 2011"
106end
107
108assert('Time#gmt?', '15.2.19.7.11') do
109 Time.at(1300000000.0).utc.gmt?
110end
111
112# ATM not implemented
113# assert('Time#gmt_offset', '15.2.19.7.12') do
114
115assert('Time#gmtime', '15.2.19.7.13') do
116 Time.at(1300000000.0).gmtime
117end
118
119# ATM not implemented
120# assert('Time#gmtoff', '15.2.19.7.14') do
121
122assert('Time#hour', '15.2.19.7.15') do
123 Time.gm(2012, 12, 23, 7, 6).hour == 7
124end
125
126# ATM doesn't really work
127# assert('Time#initialize', '15.2.19.7.16') do
128
129assert('Time#initialize_copy', '15.2.19.7.17') do
130 time_tmp_2 = Time.at(7.0e6)
131 time_tmp_2.clone == time_tmp_2
132end
133
134assert('Time#localtime', '15.2.19.7.18') do
135 t1 = Time.at(1300000000.0)
136 t2 = Time.at(1300000000.0)
137
138 t1.localtime
139 t1 == t2.getlocal
140end
141
142assert('Time#mday', '15.2.19.7.19') do
143 Time.gm(2012, 12, 23).mday == 23
144end
145
146assert('Time#min', '15.2.19.7.20') do
147 Time.gm(2012, 12, 23, 7, 6).min == 6
148end
149
150assert('Time#mon', '15.2.19.7.21') do
151 Time.gm(2012, 12, 23).mon == 12
152end
153
154assert('Time#month', '15.2.19.7.22') do
155 Time.gm(2012, 12, 23).month == 12
156end
157
158assert('Times#sec', '15.2.19.7.23') do
159 Time.gm(2012, 12, 23, 7, 6, 40).sec == 40
160end
161
162assert('Time#to_f', '15.2.19.7.24') do
163 Time.at(1300000000.0).to_f == 1300000000.0
164end
165
166assert('Time#to_i', '15.2.19.7.25') do
167 Time.at(1300000000.0).to_i == 1300000000
168end
169
170assert('Time#usec', '15.2.19.7.26') do
171 Time.at(1300000000.0).usec == 0
172end
173
174assert('Time#utc', '15.2.19.7.27') do
175 Time.at(1300000000.0).utc
176end
177
178assert('Time#utc?', '15.2.19.7.28') do
179 Time.at(1300000000.0).utc.utc?
180end
181
182# ATM not implemented
183# assert('Time#utc_offset', '15.2.19.7.29') do
184
185assert('Time#wday', '15.2.19.7.30') do
186 Time.gm(2012, 12, 23).wday == 0
187end
188
189assert('Time#yday', '15.2.19.7.31') do
190 Time.gm(2012, 12, 23).yday == 358
191end
192
193assert('Time#year', '15.2.19.7.32') do
194 Time.gm(2012, 12, 23).year == 2012
195end
196
197assert('Time#zone', '15.2.19.7.33') do
198 Time.at(1300000000.0).utc.zone == 'UTC'
199end
200
201# Not ISO specified
202
203assert('Time#to_s') do
204 Time.at(1300000000.0).utc.to_s == "Sun Mar 13 07:06:40 UTC 2011"
205end
206
207assert('Time#inspect') do
208 Time.at(1300000000.0).utc.inspect == "Sun Mar 13 07:06:40 UTC 2011"
209end
210
211assert('day of week methods') do
212 t = Time.gm(2012, 12, 24)
213 assert_false t.sunday?
214 assert_true t.monday?
215 assert_false t.tuesday?
216 assert_false t.wednesday?
217 assert_false t.thursday?
218 assert_false t.friday?
219 assert_false t.saturday?
220end
221
222assert('2000 times 500us make a second') do
223 t = Time.utc 2015
224 2000.times do
225 t += 0.0005
226 end
227 t.usec == 0
228end
Note: See TracBrowser for help on using the repository browser.