# 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 1991 Regents of the University of California # Permission to use, copy, modify, and distribute this # software and its documentation for any purpose and without # fee is hereby granted, provided that this copyright notice # appears in all copies. The University of California makes no # representations about the suitability of this software for any # purpose. It is provided "as is" without express or implied # warranty. # # $Header: /sprite/src/lib/tcl/tests/RCS/incr.test,v 1.2 91/08/28 16:27:35 ouster Exp $ (Berkeley) 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-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": access disallowed by trace command} {can't set "x": access disallowed by trace command while executing "incr x 1"}} catch {unset x} concat {}