summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--tests/expr.test28
2 files changed, 28 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 96b67cb..7586d50 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2005-11-08 Don Porter <dgp@users.sourceforge.net>
+ * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368]
+
* generic/tclPkg.c: Corrected inconsistencies in the value returned
* tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned
values will always agree with what is stored in the package database.
diff --git a/tests/expr.test b/tests/expr.test
index 876fce2..d3289b8 100644
--- a/tests/expr.test
+++ b/tests/expr.test
@@ -10,7 +10,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: expr.test,v 1.48 2005/11/01 15:18:27 dgp Exp $
+# RCS: @(#) $Id: expr.test,v 1.49 2005/11/08 20:22:03 dgp Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2.1
@@ -6554,10 +6554,34 @@ test expr-46.12 {round() boundary case - -1/2 + 1 ulp} {
}
expr {round($x)}
} 0
-test expr-46.13 {round() handling of long/bignum boundary} {
+test expr-46.13 {round() boundary case - round down} {
+ expr {round(2147483647 - 0.51)}
+} 2147483646
+
+test expr-46.14 {round() boundary case - round up} {
+ expr {round(2147483647 - 0.50)}
+} 2147483647
+
+test expr-46.15 {round() boundary case - round up to wide} {
+ expr {round(2147483647 + 0.50)}
+} [expr {wide(2147483647) + 1}]
+
+test expr-46.16 {round() boundary case - round up} {
+ expr {round(-2147483648 + 0.51)}
+} -2147483647
+
+test expr-46.17 {round() boundary case - round down} {
+ expr {round(-2147483648 + 0.50)}
+} -2147483648
+test expr-46.18 {round() boundary case - round down to wide} {
+ expr {round(-2147483648 - 0.50)}
+} [expr {wide(-2147483648) - 1}]
+
+test expr-46.19 {round() handling of long/bignum boundary} {
expr {round(double(0x7fffffffffffffff))}
} 9223372036854775808
+
# cleanup
if {[info exists a]} {
unset a