summaryrefslogtreecommitdiffstats
path: root/tests/parse.test
diff options
context:
space:
mode:
authordgp <dgp@noemail.net>2003-04-01 17:08:05 (GMT)
committerdgp <dgp@noemail.net>2003-04-01 17:08:05 (GMT)
commit9bff641ece2333dde079a636ae6b3d7ced0be26d (patch)
treedac44e4d2faa64dc590f3a2a4b45c7866d4f2775 /tests/parse.test
parent5fcc0022bc751606bd350315bcc2b59cbbdb6969 (diff)
downloadtcl-9bff641ece2333dde079a636ae6b3d7ced0be26d.zip
tcl-9bff641ece2333dde079a636ae6b3d7ced0be26d.tar.gz
tcl-9bff641ece2333dde079a636ae6b3d7ced0be26d.tar.bz2
Added further coverage tests.
FossilOrigin-Name: c2b35b7ba8c7284aa39997e38b1ba0a6cb524674
Diffstat (limited to 'tests/parse.test')
-rw-r--r--tests/parse.test42
1 files changed, 41 insertions, 1 deletions
diff --git a/tests/parse.test b/tests/parse.test
index daecce5..9764cf1 100644
--- a/tests/parse.test
+++ b/tests/parse.test
@@ -8,7 +8,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: parse.test,v 1.14 2003/04/01 07:18:37 dgp Exp $
+# RCS: @(#) $Id: parse.test,v 1.15 2003/04/01 17:08:16 dgp Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest
@@ -813,6 +813,46 @@ test parse-18.21 {Tcl_SubstObj, exception handling} {
} msg] $msg
} [list 1 "extra characters after close-brace"]
+test parse-18.22 {Tcl_SubstObj, side effects} {
+ set a 0
+ list [subst {foo[incr a]bar}] $a
+} [list foo1bar 1]
+test parse-18.23 {Tcl_SubstObj, side effects} {
+ set a 0
+ list [subst {foo[incr a; incr a]bar}] $a
+} [list foo2bar 2]
+test parse-18.24 {Tcl_SubstObj, side effects} {
+ set a 0
+ list [subst {foo[incr a; break; incr a]bar}] $a
+} [list foo 1]
+test parse-18.25 {Tcl_SubstObj, side effects} {
+ set a 0
+ list [subst {foo[incr a; continue; incr a]bar}] $a
+} [list foobar 1]
+test parse-18.26 {Tcl_SubstObj, side effects} {
+ set a 0
+ list [subst {foo[incr a; return; incr a]bar}] $a
+} [list foobar 1]
+test parse-18.27 {Tcl_SubstObj, side effects} {
+ set a 0
+ list [subst {foo[incr a; return -code 10; incr a]bar}] $a
+} [list foobar 1]
+test parse-18.28 {Tcl_SubstObj, side effects} {
+ set a 0
+ catch {subst {foo[incr a; parse error {}{}; incr a]bar}}
+ set a
+} 1
+test parse-18.29 {Tcl_SubstObj, side effects} {
+ set a 0
+ catch {subst {foo[incr a; incr a; parse error {}{}]bar}}
+ set a
+} 2
+test parse-18.30 {Tcl_SubstObj, side effects} {
+ set a 0
+ catch {subst {foo[incr a; incr a parse error {}{}]bar}}
+ set a
+} 1
+
# cleanup
catch {unset a}
::tcltest::cleanupTests