diff options
author | dgp <dgp@users.sourceforge.net> | 2011-09-01 17:13:59 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2011-09-01 17:13:59 (GMT) |
commit | 17706bbc78ed27de8dee78c6ea4c6d3d0762157c (patch) | |
tree | 958809c8acbbd29e5562804b7f60bf29c9d3e7b3 /tests | |
parent | 407a1cd7a5972ef6ca0b2482ac407845d817427e (diff) | |
download | tcl-17706bbc78ed27de8dee78c6ea4c6d3d0762157c.zip tcl-17706bbc78ed27de8dee78c6ea4c6d3d0762157c.tar.gz tcl-17706bbc78ed27de8dee78c6ea4c6d3d0762157c.tar.bz2 |
3402540 Corrections to TclParseNumber() to make it reject invalid Nan(Hex)
[scan Inf %g] is portable; remove constraint.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/binary.test | 18 | ||||
-rw-r--r-- | tests/scan.test | 4 |
2 files changed, 20 insertions, 2 deletions
diff --git a/tests/binary.test b/tests/binary.test index 44af9e5..e43b9f4 100644 --- a/tests/binary.test +++ b/tests/binary.test @@ -2356,6 +2356,24 @@ test binary-63.4 {NaN} ieeeFloatingPoint { binary scan [binary format q {NaN( 3123456789aBc)}] w w format 0x%016lx [expr {$w & 0xfff3ffffffffffff}] } 0x7ff3123456789abc + +# Make sure TclParseNumber() rejects invalid nan-hex formats [Bug 3402540] +test binary-63.5 {NaN} -constraints ieeeFloatingPoint -body { + binary format q Nan( +} -returnCodes error -match glob -result {expected floating-point number*} +test binary-63.6 {NaN} -constraints ieeeFloatingPoint -body { + binary format q Nan() +} -returnCodes error -match glob -result {expected floating-point number*} +test binary-63.7 {NaN} -constraints ieeeFloatingPoint -body { + binary format q Nan(g) +} -returnCodes error -match glob -result {expected floating-point number*} +test binary-63.8 {NaN} -constraints ieeeFloatingPoint -body { + binary format q Nan(1,2) +} -returnCodes error -match glob -result {expected floating-point number*} +test binary-63.9 {NaN} -constraints ieeeFloatingPoint -body { + binary format q Nan(1234567890abcd) +} -returnCodes error -match glob -result {expected floating-point number*} + test binary-64.1 {NaN} \ -constraints ieeeFloatingPoint \ -body { diff --git a/tests/scan.test b/tests/scan.test index b37ce0c..34351e0 100644 --- a/tests/scan.test +++ b/tests/scan.test @@ -749,11 +749,11 @@ testConstraint ieeeFloatingPoint [testIEEE] # scan infinities - not working -test scan-14.1 {infinity} ieeeFloatingPoint { +test scan-14.1 {infinity} { scan Inf %g d set d } Inf -test scan-14.2 {infinity} ieeeFloatingPoint { +test scan-14.2 {infinity} { scan -Inf %g d set d } -Inf |