diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-08-16 14:58:02 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-08-16 14:58:02 -0300 |
| commit | b96b0b5abbf40cbdbed7952bf35a5a27ddf75928 (patch) | |
| tree | 5d9d5463cb7d3424833abab20dd87bce1f4b240f /testes/math.lua | |
| parent | ca13be9af784b7288d3a07d9b5bccb329086e885 (diff) | |
| download | lua-b96b0b5abbf40cbdbed7952bf35a5a27ddf75928.tar.gz lua-b96b0b5abbf40cbdbed7952bf35a5a27ddf75928.tar.bz2 lua-b96b0b5abbf40cbdbed7952bf35a5a27ddf75928.zip | |
Added macro 'luaL_pushfail'
The macro 'luaL_pushfail' documents all places in the standard libraries
that return nil to signal some kind of failure. It is defined as
'lua_pushnil'. The manual also got a notation (@fail) to document those
returns. The tests were changed to be agnostic regarding whether 'fail'
is 'nil' or 'false'.
Diffstat (limited to 'testes/math.lua')
| -rw-r--r-- | testes/math.lua | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/testes/math.lua b/testes/math.lua index bad43901..c7dc8285 100644 --- a/testes/math.lua +++ b/testes/math.lua | |||
| @@ -39,7 +39,7 @@ do | |||
| 39 | end | 39 | end |
| 40 | 40 | ||
| 41 | assert(math.type(0) == "integer" and math.type(0.0) == "float" | 41 | assert(math.type(0) == "integer" and math.type(0.0) == "float" |
| 42 | and math.type("10") == nil) | 42 | and not math.type("10")) |
| 43 | 43 | ||
| 44 | 44 | ||
| 45 | local function checkerror (msg, f, ...) | 45 | local function checkerror (msg, f, ...) |
| @@ -381,17 +381,17 @@ assert(tonumber(1/0) == 1/0) | |||
| 381 | 381 | ||
| 382 | -- 'tonumber' with strings | 382 | -- 'tonumber' with strings |
| 383 | assert(tonumber("0") == 0) | 383 | assert(tonumber("0") == 0) |
| 384 | assert(tonumber("") == nil) | 384 | assert(not tonumber("")) |
| 385 | assert(tonumber(" ") == nil) | 385 | assert(not tonumber(" ")) |
| 386 | assert(tonumber("-") == nil) | 386 | assert(not tonumber("-")) |
| 387 | assert(tonumber(" -0x ") == nil) | 387 | assert(not tonumber(" -0x ")) |
| 388 | assert(tonumber{} == nil) | 388 | assert(not tonumber{}) |
| 389 | assert(tonumber'+0.01' == 1/100 and tonumber'+.01' == 0.01 and | 389 | assert(tonumber'+0.01' == 1/100 and tonumber'+.01' == 0.01 and |
| 390 | tonumber'.01' == 0.01 and tonumber'-1.' == -1 and | 390 | tonumber'.01' == 0.01 and tonumber'-1.' == -1 and |
| 391 | tonumber'+1.' == 1) | 391 | tonumber'+1.' == 1) |
| 392 | assert(tonumber'+ 0.01' == nil and tonumber'+.e1' == nil and | 392 | assert(not tonumber'+ 0.01' and not tonumber'+.e1' and |
| 393 | tonumber'1e' == nil and tonumber'1.0e+' == nil and | 393 | not tonumber'1e' and not tonumber'1.0e+' and |
| 394 | tonumber'.' == nil) | 394 | not tonumber'.') |
| 395 | assert(tonumber('-012') == -010-2) | 395 | assert(tonumber('-012') == -010-2) |
| 396 | assert(tonumber('-1.2e2') == - - -120) | 396 | assert(tonumber('-1.2e2') == - - -120) |
| 397 | 397 | ||
| @@ -445,45 +445,45 @@ local function f (...) | |||
| 445 | end | 445 | end |
| 446 | end | 446 | end |
| 447 | 447 | ||
| 448 | assert(f(tonumber('fFfa', 15)) == nil) | 448 | assert(not f(tonumber('fFfa', 15))) |
| 449 | assert(f(tonumber('099', 8)) == nil) | 449 | assert(not f(tonumber('099', 8))) |
| 450 | assert(f(tonumber('1\0', 2)) == nil) | 450 | assert(not f(tonumber('1\0', 2))) |
| 451 | assert(f(tonumber('', 8)) == nil) | 451 | assert(not f(tonumber('', 8))) |
| 452 | assert(f(tonumber(' ', 9)) == nil) | 452 | assert(not f(tonumber(' ', 9))) |
| 453 | assert(f(tonumber(' ', 9)) == nil) | 453 | assert(not f(tonumber(' ', 9))) |
| 454 | assert(f(tonumber('0xf', 10)) == nil) | 454 | assert(not f(tonumber('0xf', 10))) |
| 455 | 455 | ||
| 456 | assert(f(tonumber('inf')) == nil) | 456 | assert(not f(tonumber('inf'))) |
| 457 | assert(f(tonumber(' INF ')) == nil) | 457 | assert(not f(tonumber(' INF '))) |
| 458 | assert(f(tonumber('Nan')) == nil) | 458 | assert(not f(tonumber('Nan'))) |
| 459 | assert(f(tonumber('nan')) == nil) | 459 | assert(not f(tonumber('nan'))) |
| 460 | 460 | ||
| 461 | assert(f(tonumber(' ')) == nil) | 461 | assert(not f(tonumber(' '))) |
| 462 | assert(f(tonumber('')) == nil) | 462 | assert(not f(tonumber(''))) |
| 463 | assert(f(tonumber('1 a')) == nil) | 463 | assert(not f(tonumber('1 a'))) |
| 464 | assert(f(tonumber('1 a', 2)) == nil) | 464 | assert(not f(tonumber('1 a', 2))) |
| 465 | assert(f(tonumber('1\0')) == nil) | 465 | assert(not f(tonumber('1\0'))) |
| 466 | assert(f(tonumber('1 \0')) == nil) | 466 | assert(not f(tonumber('1 \0'))) |
| 467 | assert(f(tonumber('1\0 ')) == nil) | 467 | assert(not f(tonumber('1\0 '))) |
| 468 | assert(f(tonumber('e1')) == nil) | 468 | assert(not f(tonumber('e1'))) |
| 469 | assert(f(tonumber('e 1')) == nil) | 469 | assert(not f(tonumber('e 1'))) |
| 470 | assert(f(tonumber(' 3.4.5 ')) == nil) | 470 | assert(not f(tonumber(' 3.4.5 '))) |
| 471 | 471 | ||
| 472 | 472 | ||
| 473 | -- testing 'tonumber' for invalid hexadecimal formats | 473 | -- testing 'tonumber' for invalid hexadecimal formats |
| 474 | 474 | ||
| 475 | assert(tonumber('0x') == nil) | 475 | assert(not tonumber('0x')) |
| 476 | assert(tonumber('x') == nil) | 476 | assert(not tonumber('x')) |
| 477 | assert(tonumber('x3') == nil) | 477 | assert(not tonumber('x3')) |
| 478 | assert(tonumber('0x3.3.3') == nil) -- two decimal points | 478 | assert(not tonumber('0x3.3.3')) -- two decimal points |
| 479 | assert(tonumber('00x2') == nil) | 479 | assert(not tonumber('00x2')) |
| 480 | assert(tonumber('0x 2') == nil) | 480 | assert(not tonumber('0x 2')) |
| 481 | assert(tonumber('0 x2') == nil) | 481 | assert(not tonumber('0 x2')) |
| 482 | assert(tonumber('23x') == nil) | 482 | assert(not tonumber('23x')) |
| 483 | assert(tonumber('- 0xaa') == nil) | 483 | assert(not tonumber('- 0xaa')) |
| 484 | assert(tonumber('-0xaaP ') == nil) -- no exponent | 484 | assert(not tonumber('-0xaaP ')) -- no exponent |
| 485 | assert(tonumber('0x0.51p') == nil) | 485 | assert(not tonumber('0x0.51p')) |
| 486 | assert(tonumber('0x5p+-2') == nil) | 486 | assert(not tonumber('0x5p+-2')) |
| 487 | 487 | ||
| 488 | 488 | ||
| 489 | -- testing hexadecimal numerals | 489 | -- testing hexadecimal numerals |
| @@ -705,19 +705,19 @@ do -- testing floor & ceil | |||
| 705 | assert(eqT(math.tointeger(maxint), maxint)) | 705 | assert(eqT(math.tointeger(maxint), maxint)) |
| 706 | assert(eqT(math.tointeger(maxint .. ""), maxint)) | 706 | assert(eqT(math.tointeger(maxint .. ""), maxint)) |
| 707 | assert(eqT(math.tointeger(minint + 0.0), minint)) | 707 | assert(eqT(math.tointeger(minint + 0.0), minint)) |
| 708 | assert(math.tointeger(0.0 - minint) == nil) | 708 | assert(not math.tointeger(0.0 - minint)) |
| 709 | assert(math.tointeger(math.pi) == nil) | 709 | assert(not math.tointeger(math.pi)) |
| 710 | assert(math.tointeger(-math.pi) == nil) | 710 | assert(not math.tointeger(-math.pi)) |
| 711 | assert(math.floor(math.huge) == math.huge) | 711 | assert(math.floor(math.huge) == math.huge) |
| 712 | assert(math.ceil(math.huge) == math.huge) | 712 | assert(math.ceil(math.huge) == math.huge) |
| 713 | assert(math.tointeger(math.huge) == nil) | 713 | assert(not math.tointeger(math.huge)) |
| 714 | assert(math.floor(-math.huge) == -math.huge) | 714 | assert(math.floor(-math.huge) == -math.huge) |
| 715 | assert(math.ceil(-math.huge) == -math.huge) | 715 | assert(math.ceil(-math.huge) == -math.huge) |
| 716 | assert(math.tointeger(-math.huge) == nil) | 716 | assert(not math.tointeger(-math.huge)) |
| 717 | assert(math.tointeger("34.0") == 34) | 717 | assert(math.tointeger("34.0") == 34) |
| 718 | assert(math.tointeger("34.3") == nil) | 718 | assert(not math.tointeger("34.3")) |
| 719 | assert(math.tointeger({}) == nil) | 719 | assert(not math.tointeger({})) |
| 720 | assert(math.tointeger(0/0) == nil) -- NaN | 720 | assert(not math.tointeger(0/0)) -- NaN |
| 721 | end | 721 | end |
| 722 | 722 | ||
| 723 | 723 | ||
