@@ -157,62 +157,77 @@ function! s:suite.__parse__()
157
157
158
158
function ! parse.integer ()
159
159
let data = s: TOML .parse (join ([
160
- \ ' one=+99' ,
161
- \ ' two=42' ,
162
- \ ' three=0' ,
163
- \ ' four=-17' ,
160
+ \ ' int1 = +99' ,
161
+ \ ' int2 = 42' ,
162
+ \ ' int3 = 0' ,
163
+ \ ' int4 = -17' ,
164
+ \ ' int5 = 1_000' ,
165
+ \ ' int6 = 5_349_221' ,
166
+ \ ' int7 = 1_2_3_4_5' ,
164
167
\] , " \n " ))
165
168
166
- call s: assert .equals (data.one, 99 )
167
- call s: assert .equals (data.two, 42 )
168
- call s: assert .equals (data.three, 0 )
169
- call s: assert .equals (data.four, -17 )
169
+ call s: assert .equals (data.int1, 99 )
170
+ call s: assert .equals (data.int2, 42 )
171
+ call s: assert .equals (data.int3, 0 )
172
+ call s: assert .equals (data.int4, -17 )
173
+ call s: assert .equals (data.int5, 1000 )
174
+ call s: assert .equals (data.int6, 5349221 )
175
+ call s: assert .equals (data.int7, 12345 )
170
176
endfunction
171
177
172
178
function ! parse.__float__ ()
173
179
let float = themis#suite (' float' )
174
180
175
181
function ! float .fractional ()
176
182
let data = s: TOML .parse (join ([
177
- \ ' one= +1.0' ,
178
- \ ' two= 3.1415' ,
179
- \ ' three= -0.01' ,
183
+ \ ' flt1 = +1.0' ,
184
+ \ ' flt2 = 3.1415' ,
185
+ \ ' flt3 = -0.01' ,
180
186
\] , " \n " ))
181
187
182
- call s: assert .is_float (data.one )
183
- call s: assert .equals (data.one , 1.0 )
188
+ call s: assert .is_float (data.flt1 )
189
+ call s: assert .equals (data.flt1 , 1.0 )
184
190
185
- call s: assert .is_float (data.two )
186
- call s: assert .equals (data.two , 3.1415 )
191
+ call s: assert .is_float (data.flt2 )
192
+ call s: assert .equals (data.flt2 , 3.1415 )
187
193
188
- call s: assert .is_float (data.three )
189
- call s: assert .equals (data.three , -0.01 )
194
+ call s: assert .is_float (data.flt3 )
195
+ call s: assert .equals (data.flt3 , -0.01 )
190
196
endfunction
191
197
192
198
function ! float .exponent ()
193
199
let data = s: TOML .parse (join ([
194
- \ ' one= 5e+22' ,
195
- \ ' two= 1e6' ,
196
- \ ' three= -2E-2' ,
200
+ \ ' flt4 = 5e+22' ,
201
+ \ ' flt5 = 1e6' ,
202
+ \ ' flt6 = -2E-2' ,
197
203
\] , " \n " ))
198
204
199
- call s: assert .is_float (data.one )
200
- call s: assert .equals (data.one , 5.0e22 )
205
+ call s: assert .is_float (data.flt4 )
206
+ call s: assert .equals (data.flt4 , 5.0e22 )
201
207
202
- call s: assert .is_float (data.two )
203
- call s: assert .equals (data.two , 1.0e6 )
208
+ call s: assert .is_float (data.flt5 )
209
+ call s: assert .equals (data.flt5 , 1.0e6 )
204
210
205
- call s: assert .is_float (data.three )
206
- call s: assert .equals (data.three , -2.0e-2 )
211
+ call s: assert .is_float (data.flt6 )
212
+ call s: assert .equals (data.flt6 , -2.0e-2 )
207
213
endfunction
208
214
209
215
function ! float .both ()
210
216
let data = s: TOML .parse (join ([
211
- \ ' one= 6.626e-34' ,
217
+ \ ' flt7 = 6.626e-34' ,
212
218
\] , " \n " ))
213
219
214
- call s: assert .is_float (data.one)
215
- call s: assert .equals (data.one, 6.626e-34 )
220
+ call s: assert .is_float (data.flt7)
221
+ call s: assert .equals (data.flt7, 6.626e-34 )
222
+ endfunction
223
+
224
+ function ! float .underscores ()
225
+ let data = s: TOML .parse (join ([
226
+ \ ' flt8 = 224_617.445_991_228' ,
227
+ \] , " \n " ))
228
+
229
+ call s: assert .is_float (data.flt8)
230
+ call s: assert .equals (data.flt8, 224617.445991228 )
216
231
endfunction
217
232
endfunction
218
233
0 commit comments