aboutsummaryrefslogtreecommitdiff
path: root/tests/misc.test
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-01-24 12:02:01 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:43 +1000
commitb9835f11e31b7e021da6b0831eac659425735ba2 (patch)
tree763c7a5b169f7eac4a377a64e90dce180129d96b /tests/misc.test
parent2538c043ffc502b9814e98a01043617340ef1d80 (diff)
downloadjimtcl-b9835f11e31b7e021da6b0831eac659425735ba2.zip
jimtcl-b9835f11e31b7e021da6b0831eac659425735ba2.tar.gz
jimtcl-b9835f11e31b7e021da6b0831eac659425735ba2.tar.bz2
New features
Add unset -nocomplain and tests Implement lrepeat
Diffstat (limited to 'tests/misc.test')
-rw-r--r--tests/misc.test94
1 files changed, 94 insertions, 0 deletions
diff --git a/tests/misc.test b/tests/misc.test
index 53dce1c..c5d45e5 100644
--- a/tests/misc.test
+++ b/tests/misc.test
@@ -31,4 +31,98 @@ test io-1.1 "Read last line with no newline" {
list $lines
} {2}
+section "unset"
+
+set g1 1
+set g2 2
+array set g3 {4 5 6 7}
+
+proc test_unset {} {
+ test unset-1.1 "Simple var" {
+ set g4 4
+ list [catch {unset g4; info exists g4} msg] $msg
+ } {0 0}
+
+ test unset-1.2 "Simple var" {
+ list [catch {unset g4; info exists g4} msg] $msg
+ } {1 {can't unset "g4": no such variable}}
+
+ test unset-1.3 "Simple var" {
+ list [catch {unset g2; info exists g2} msg] $msg
+ } {1 {can't unset "g2": no such variable}}
+
+ test unset-1.4 "Global via global" {
+ global g1
+ list [catch {unset g1; info exists g1} msg] $msg
+ } {0 0}
+
+ test unset-1.5 "Global error" {
+ list [catch {unset ::g2; info exists ::g2} msg] $msg
+ } {0 0}
+
+ test unset-1.6 "Global array" {
+ list [catch {unset ::g3; info exists ::g3} msg] $msg
+ } {0 0}
+
+ test unset-1.7 "Simple var -nocomplain" {
+ list [catch {unset -nocomplain g2; info exists g2} msg] $msg
+ } {0 0}
+
+ test unset-1.8 "Simple var --" {
+ list [catch {unset -- g2; info exists g2} msg] $msg
+ } {1 {can't unset "g2": no such variable}}
+
+ test unset-1.9 "Simple var -nocomplain --" {
+ set g2 1
+ list [catch {unset -nocomplain -- g2; info exists g2} msg] $msg
+ } {0 0}
+
+ test unset-1.10 "Var named -nocomplain with --" {
+ set -nocomplain 1
+ list [catch {unset -- -nocomplain; info exists -nocomplain} msg] $msg
+ } {0 0}
+
+ test unset-1.11 "Unset no args" {
+ list [catch {unset} msg] $msg
+ } {0 {}}
+}
+
+test_unset
+
+section "lrepeat"
+
+test lrepeat-1.1 "Basic tests" {
+ lrepeat 1 a
+} {a}
+
+test lrepeat-1.2 "Basic tests" {
+ lrepeat 1 a b
+} {a b}
+
+test lrepeat-1.3 "Basic tests" {
+ lrepeat 2 a b
+} {a b a b}
+
+test lrepeat-1.4 "Basic tests" {
+ lrepeat 2 a
+} {a a}
+
+test lrepeat-1.5 "Errors" {
+ catch {lrepeat}
+} {1}
+
+test lrepeat-1.6 "Errors" {
+ catch {lrepeat 1}
+} {1}
+
+test lrepeat-1.7 "Errors" {
+ catch {lrepeat 0 a b}
+} {1}
+
+test lrepeat-1.8 "Errors" {
+ catch {lrepeat -10 a}
+} {1}
+
+section "unset"
+
testreport