From 9bff641ece2333dde079a636ae6b3d7ced0be26d Mon Sep 17 00:00:00 2001 From: dgp Date: Tue, 1 Apr 2003 17:08:05 +0000 Subject: Added further coverage tests. FossilOrigin-Name: c2b35b7ba8c7284aa39997e38b1ba0a6cb524674 --- ChangeLog | 1 + tests/parse.test | 42 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 66e7916..f58628d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ to reset iPtr->returnCode, causing tests parse-18.17 and parse-18.21 to fail strangely. * tests/parse.test (parse-18.21): Corrected now functioning test. + Added further coverage tests. 2003-03-31 Don Porter 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 -- cgit v0.12