summaryrefslogtreecommitdiffstats
path: root/tests/source.test
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2009-01-05 11:27:41 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2009-01-05 11:27:41 (GMT)
commit529b3009a5528d1afe122d5fae4b5c739b4618fb (patch)
tree7bb02d8dabc07631f90cdf01e5511c6d1f863e85 /tests/source.test
parent8e54cd31b1870397b3c62959293df9a98eeb252f (diff)
downloadtcl-529b3009a5528d1afe122d5fae4b5c739b4618fb.zip
tcl-529b3009a5528d1afe122d5fae4b5c739b4618fb.tar.gz
tcl-529b3009a5528d1afe122d5fae4b5c739b4618fb.tar.bz2
Added a test, correct a dumb blunder.
Diffstat (limited to 'tests/source.test')
-rw-r--r--tests/source.test20
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/source.test b/tests/source.test
index 29d3f2f..f358042 100644
--- a/tests/source.test
+++ b/tests/source.test
@@ -12,7 +12,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: source.test,v 1.13 2006/03/21 11:12:29 dkf Exp $
+# RCS: @(#) $Id: source.test,v 1.14 2009/01/05 11:27:41 dkf Exp $
if {[catch {package require tcltest 2.1}]} {
puts stderr "Skipping tests in [info script]. tcltest 2.1 required."
@@ -21,7 +21,7 @@ if {[catch {package require tcltest 2.1}]} {
namespace eval ::tcl::test::source {
namespace import ::tcltest::*
-
+
test source-1.1 {source command} -setup {
set x "old x value"
set y "old y value"
@@ -269,7 +269,23 @@ test source-7.6 {source -encoding: mismatch encoding error} -setup {
removeFile source.file
} -returnCodes error -match glob -result {invalid command name*}
+test source-8.1 {source and coroutine/yield} -setup {
+ set sourcefile [makeFile {} source.file]
+ file delete $sourcefile
+} -body {
+ makeFile {yield 1; yield 2; return 3;} $sourcefile
+ coroutine coro apply {f {yield;source $f}} $sourcefile
+ list [coro] [coro] [coro] [info exist coro]
+} -cleanup {
+ catch {rename coro {}}
+ removeFile source.file
+} -result {1 2 3 0}
+
cleanupTests
}
namespace delete ::tcl::test::source
return
+
+# Local Variables:
+# mode: tcl
+# End: \ No newline at end of file