# Commands covered: lreplace # # 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) 1991-1993 The Regents of the University of California. # Copyright (c) 1994 Sun Microsystems, Inc. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # @(#) incr.test 1.7 94/12/17 16:20:02 if {[string compare test [info procs test]] == 1} then {source defs} catch {unset x} test incr-1.1 {basic incr operation} { set x 23 list [incr x] $x } {24 24} test incr-1.2 {basic incr operation} { set x 106 list [incr x -5] $x } {101 101} test incr-1.3 {basic incr operation} { set x " -106" list [incr x 1] $x } {-105 -105} test incr-1.3 {basic incr operation} { set x " +106" list [incr x 1] $x } {107 107} test incr-2.1 {incr errors} { list [catch incr msg] $msg } {1 {wrong # args: should be "incr varName ?increment?"}} test incr-2.2 {incr errors} { list [catch {incr a b c} msg] $msg } {1 {wrong # args: should be "incr varName ?increment?"}} test incr-2.3 {incr errors} { catch {unset x} list [catch {incr x} msg] $msg $errorInfo } {1 {can't read "x": no such variable} {can't read "x": no such variable while executing "incr x"}} test incr-2.4 {incr errors} { set x abc list [catch {incr x} msg] $msg $errorInfo } {1 {expected integer but got "abc"} {expected integer but got "abc" (reading value of variable to increment) invoked from within "incr x"}} test incr-2.5 {incr errors} { set x 123 list [catch {incr x 1a} msg] $msg $errorInfo } {1 {expected integer but got "1a"} {expected integer but got "1a" (reading increment) invoked from within "incr x 1a"}} test incr-2.6 {incr errors} { proc readonly args {error "variable is read-only"} set x 123 trace var x w readonly list [catch {incr x 1} msg] $msg $errorInfo } {1 {can't set "x": variable is read-only} {can't set "x": variable is read-only while executing "incr x 1"}} catch {unset x} test incr-2.7 {incr errors} { set x - list [catch {incr x 1} msg] $msg } {1 {expected integer but got "-"}} test incr-2.8 {incr errors} { set x { - } list [catch {incr x 1} msg] $msg } {1 {expected integer but got " - "}} test incr-2.9 {incr errors} { set x + list [catch {incr x 1} msg] $msg } {1 {expected integer but got "+"}} test incr-2.10 {incr errors} { set x {20 x} list [catch {incr x 1} msg] $msg } {1 {expected integer but got "20 x"}} concat {}