diff options
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 |