diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-10-18 17:31:11 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-10-18 17:31:11 (GMT) |
commit | 066971b1e6e77991d9161bb0216a63ba94ea04f9 (patch) | |
tree | 6de02f79b7a4bb08a329581aa67b444fb9001bfd /tcl8.6/tests/lrepeat.test | |
parent | ba065c2de121da1c1dfddd0aa587d10e7e150f05 (diff) | |
parent | 9966985d896629eede849a84f18e406d1164a16c (diff) | |
download | blt-066971b1e6e77991d9161bb0216a63ba94ea04f9.zip blt-066971b1e6e77991d9161bb0216a63ba94ea04f9.tar.gz blt-066971b1e6e77991d9161bb0216a63ba94ea04f9.tar.bz2 |
Merge commit '9966985d896629eede849a84f18e406d1164a16c' as 'tcl8.6'
Diffstat (limited to 'tcl8.6/tests/lrepeat.test')
-rw-r--r-- | tcl8.6/tests/lrepeat.test | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/tcl8.6/tests/lrepeat.test b/tcl8.6/tests/lrepeat.test new file mode 100644 index 0000000..788bb9b --- /dev/null +++ b/tcl8.6/tests/lrepeat.test @@ -0,0 +1,84 @@ +# Commands covered: lrepeat +# +# This file contains a collection of tests for one or more of the Tcl +# built-in commands. Sourcing this file into Tcl runs the tests and +# generates output for errors. No output means no errors were found. +# +# Copyright (c) 2003 by Simon Geard. +# +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. + +if {[lsearch [namespace children] ::tcltest] == -1} { + package require tcltest 2 + namespace import -force ::tcltest::* +} + +## Arg errors +test lrepeat-1.1 {error cases} { + -body { + lrepeat + } + -returnCodes 1 + -result {wrong # args: should be "lrepeat count ?value ...?"} +} +test lrepeat-1.2 {Accept zero elements(TIP 323)} { + -body { + lrepeat 1 + } + -result {} +} +test lrepeat-1.3 {error cases} { + -body { + lrepeat a 1 + } + -returnCodes 1 + -result {expected integer but got "a"} +} +test lrepeat-1.4 {error cases} { + -body { + lrepeat -3 1 + } + -returnCodes 1 + -result {bad count "-3": must be integer >= 0} +} +test lrepeat-1.5 {Accept zero repetitions (TIP 323)} { + -body { + lrepeat 0 + } + -result {} +} +test lrepeat-1.6 {error cases} { + -body { + lrepeat 3.5 1 + } + -returnCodes 1 + -result {expected integer but got "3.5"} +} +test lrepeat-1.7 {Accept zero repetitions (TIP 323)} { + -body { + lrepeat 0 a b c + } + -result {} +} +test lrepeat-1.8 {Do not build enormous lists - Bug 2130992} -body { + lrepeat 0x10000000 a b c d e f g h +} -returnCodes error -match glob -result * + +## Okay +test lrepeat-2.1 {normal cases} { + lrepeat 10 a +} {a a a a a a a a a a} +test lrepeat-2.2 {normal cases} { + lrepeat 3 [lrepeat 3 0] +} {{0 0 0} {0 0 0} {0 0 0}} +test lrepeat-2.3 {normal cases} { + lrepeat 3 a b c +} {a b c a b c a b c} +test lrepeat-2.4 {normal cases} { + lrepeat 3 [lrepeat 2 a] b c +} {{a a} b c {a a} b c {a a} b c} + +# cleanup +::tcltest::cleanupTests +return |