summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2005-09-06 14:40:10 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2005-09-06 14:40:10 (GMT)
commit2a03bdad453a632583f84f71bf5091c682999d90 (patch)
treeee5ecb28aed27dfd77a3aaad1ce38dba487777c1 /tests
parent6933a16b87680a7df40757d369a9a6d6a6f333de (diff)
downloadtcl-2a03bdad453a632583f84f71bf5091c682999d90.zip
tcl-2a03bdad453a632583f84f71bf5091c682999d90.tar.gz
tcl-2a03bdad453a632583f84f71bf5091c682999d90.tar.bz2
Add flag to lists so that evaluating contexts can handle them efficiently much
of the time even when they are not pure. The flag works by keeping track of when the string rep was derived from the internal rep.
Diffstat (limited to 'tests')
-rw-r--r--tests/eval.test25
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/eval.test b/tests/eval.test
index 22de6af..eefa96f 100644
--- a/tests/eval.test
+++ b/tests/eval.test
@@ -11,7 +11,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: eval.test,v 1.6 2004/05/19 12:23:13 dkf Exp $
+# RCS: @(#) $Id: eval.test,v 1.7 2005/09/06 14:40:11 dkf Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest
@@ -58,6 +58,29 @@ test eval-2.5 {error in eval'ed command: setting errorInfo} {
error \"test error\"
}\""
+test eval-3.1 {eval and pure lists} {
+ eval [list list 1 2 3 4 5]
+} {1 2 3 4 5}
+test eval-3.2 {concatenating eval and pure lists} {
+ eval [list list 1] [list 2 3 4 5]
+} {1 2 3 4 5}
+test eval-3.3 {eval and canonical lists} {
+ set cmd [list list 1 2 3 4 5]
+ # Force existance of utf-8 rep
+ set dummy($cmd) $cmd
+ unset dummy($cmd)
+ eval $cmd
+} {1 2 3 4 5}
+test eval-3.4 {concatenating eval and canonical lists} {
+ set cmd [list list 1]
+ set cmd2 [list 2 3 4 5]
+ # Force existance of utf-8 rep
+ set dummy($cmd) $cmd
+ set dummy($cmd2) $cmd2
+ unset dummy($cmd) dummy($cmd2)
+ eval $cmd $cmd2
+} {1 2 3 4 5}
+
# cleanup
::tcltest::cleanupTests
return