summaryrefslogtreecommitdiffstats
path: root/tests/error.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/error.test')
-rw-r--r--tests/error.test24
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/error.test b/tests/error.test
index 8f0c0f0..86e52c2 100644
--- a/tests/error.test
+++ b/tests/error.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: error.test,v 1.25 2009/12/07 15:08:47 dkf Exp $
+# RCS: @(#) $Id: error.test,v 1.26 2010/03/18 10:59:48 dkf Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2
@@ -803,6 +803,28 @@ test error-19.5 {multiple unrelated fallthroughs #2} {
}
set RES
} {err}
+test error-19.6 {compiled try executes all clauses} -setup {
+ proc addmsg msg {
+ variable RES
+ lappend RES $msg
+ }
+ set RES {}
+} -body {
+ apply {{} {
+ try {
+ addmsg a
+ throw bar hello
+ } trap bar {res opt} {
+ addmsg b
+ } finally {
+ addmsg c
+ }
+ addmsg d
+ } ::tcl::test::error}
+} -cleanup {
+ rename addmsg {}
+ unset RES
+} -result {a b c d}
# FIXME test what vars get set on fallthough ... what is the correct behavior?
# It would seem appropriate to set at least those for the matching handler and