|
16 | 16 | * limitations under the License. |
17 | 17 | */ |
18 | 18 |
|
19 | | -/* eslint-disable no-new-wrappers */ |
20 | | - |
21 | 19 | 'use strict'; |
22 | 20 |
|
23 | 21 | // MODULES // |
@@ -61,6 +59,33 @@ tape( 'if the first argument is not a string or integer, the function throws an |
61 | 59 | } |
62 | 60 | }); |
63 | 61 |
|
| 62 | +tape( 'if the first argument is not a string or integer, the function throws an error (options)', function test( t ) { |
| 63 | + var values; |
| 64 | + var i; |
| 65 | + |
| 66 | + values = [ |
| 67 | + null, |
| 68 | + true, |
| 69 | + void 0, |
| 70 | + NaN, |
| 71 | + [], |
| 72 | + {}, |
| 73 | + function noop() {}, |
| 74 | + 3.12 |
| 75 | + ]; |
| 76 | + |
| 77 | + for ( i = 0; i < values.length; i++ ) { |
| 78 | + t.throws( badValue( values[i] ), TypeError, 'throws an error when provided '+values[i] ); |
| 79 | + } |
| 80 | + t.end(); |
| 81 | + |
| 82 | + function badValue( value ) { |
| 83 | + return function badValue() { |
| 84 | + ordinalize( value, {} ); |
| 85 | + }; |
| 86 | + } |
| 87 | +}); |
| 88 | + |
64 | 89 | tape( 'the function throws an error if provided an invalid options argument', function test( t ) { |
65 | 90 | var values; |
66 | 91 | var i; |
@@ -117,7 +142,7 @@ tape( 'the function throws an error if provided an invalid `lang` option', funct |
117 | 142 | } |
118 | 143 | }); |
119 | 144 |
|
120 | | -tape( 'the function returns an ordinal string for a provided integer string', function test( t ) { |
| 145 | +tape( 'the function returns an ordinal string for a provided integer string (default language)', function test( t ) { |
121 | 146 | var expected; |
122 | 147 | var values; |
123 | 148 | var i; |
@@ -169,7 +194,7 @@ tape( 'the function returns an ordinal string for a provided integer string', fu |
169 | 194 | t.end(); |
170 | 195 | }); |
171 | 196 |
|
172 | | -tape( 'the function returns an ordinal string for a provided integer', function test( t ) { |
| 197 | +tape( 'the function returns an ordinal string for a provided integer (default language)', function test( t ) { |
173 | 198 | var expected; |
174 | 199 | var values; |
175 | 200 | var i; |
@@ -224,6 +249,7 @@ tape( 'the function returns an ordinal string for a provided integer', function |
224 | 249 | tape( 'the function returns an ordinal string for a provided integer string (lang=fr)', function test( t ) { |
225 | 250 | var expected; |
226 | 251 | var values; |
| 252 | + var opts; |
227 | 253 | var i; |
228 | 254 |
|
229 | 255 | values = [ |
@@ -267,17 +293,20 @@ tape( 'the function returns an ordinal string for a provided integer string (lan |
267 | 293 | '999e' |
268 | 294 | ]; |
269 | 295 |
|
| 296 | + opts = { |
| 297 | + 'lang': 'fr' |
| 298 | + }; |
| 299 | + |
270 | 300 | for ( i = 0; i < values.length; i++ ) { |
271 | | - t.equal( ordinalize( values[i], { |
272 | | - 'lang': 'fr' |
273 | | - }), expected[i], 'returns expected value' ); |
| 301 | + t.equal( ordinalize( values[i], opts ), expected[i], 'returns expected value' ); |
274 | 302 | } |
275 | 303 | t.end(); |
276 | 304 | }); |
277 | 305 |
|
278 | 306 | tape( 'the function returns an ordinal string for a provided integer string (lang=de)', function test( t ) { |
279 | 307 | var expected; |
280 | 308 | var values; |
| 309 | + var opts; |
281 | 310 | var i; |
282 | 311 |
|
283 | 312 | values = [ |
@@ -321,17 +350,20 @@ tape( 'the function returns an ordinal string for a provided integer string (lan |
321 | 350 | '999.' |
322 | 351 | ]; |
323 | 352 |
|
| 353 | + opts = { |
| 354 | + 'lang': 'de' |
| 355 | + }; |
| 356 | + |
324 | 357 | for ( i = 0; i < values.length; i++ ) { |
325 | | - t.equal( ordinalize( values[i], { |
326 | | - 'lang': 'de' |
327 | | - }), expected[i], 'returns expected value' ); |
| 358 | + t.equal( ordinalize( values[i], opts ), expected[i], 'returns expected value' ); |
328 | 359 | } |
329 | 360 | t.end(); |
330 | 361 | }); |
331 | 362 |
|
332 | 363 | tape( 'the function returns an ordinal string for a provided integer string (lang=it,gender=masculine)', function test( t ) { |
333 | 364 | var expected; |
334 | 365 | var values; |
| 366 | + var opts; |
335 | 367 | var i; |
336 | 368 |
|
337 | 369 | values = [ |
@@ -375,19 +407,21 @@ tape( 'the function returns an ordinal string for a provided integer string (lan |
375 | 407 | '999º' |
376 | 408 | ]; |
377 | 409 |
|
| 410 | + opts = { |
| 411 | + 'lang': 'it', |
| 412 | + 'gender': 'masculine' |
| 413 | + }; |
| 414 | + |
378 | 415 | for ( i = 0; i < values.length; i++ ) { |
379 | | - t.equal( ordinalize( values[i], { |
380 | | - 'lang': 'it', |
381 | | - 'gender': 'masculine' |
382 | | - }), expected[i], 'returns expected value' ); |
| 416 | + t.equal( ordinalize( values[i], opts ), expected[i], 'returns expected value' ); |
383 | 417 | } |
384 | 418 | t.end(); |
385 | 419 | }); |
386 | 420 |
|
387 | | - |
388 | 421 | tape( 'the function returns an ordinal string for a provided integer string (lang=it,gender=feminine)', function test( t ) { |
389 | 422 | var expected; |
390 | 423 | var values; |
| 424 | + var opts; |
391 | 425 | var i; |
392 | 426 |
|
393 | 427 | values = [ |
@@ -431,11 +465,13 @@ tape( 'the function returns an ordinal string for a provided integer string (lan |
431 | 465 | '999ª' |
432 | 466 | ]; |
433 | 467 |
|
| 468 | + opts = { |
| 469 | + 'lang': 'it', |
| 470 | + 'gender': 'feminine' |
| 471 | + }; |
| 472 | + |
434 | 473 | for ( i = 0; i < values.length; i++ ) { |
435 | | - t.equal( ordinalize( values[i], { |
436 | | - 'lang': 'it', |
437 | | - 'gender': 'feminine' |
438 | | - }), expected[i], 'returns expected value' ); |
| 474 | + t.equal( ordinalize( values[i], opts ), expected[i], 'returns expected value' ); |
439 | 475 | } |
440 | 476 | t.end(); |
441 | 477 | }); |
0 commit comments