diff options
Diffstat (limited to 'contrib/tcl/tests/if.test')
-rw-r--r-- | contrib/tcl/tests/if.test | 505 |
1 files changed, 0 insertions, 505 deletions
diff --git a/contrib/tcl/tests/if.test b/contrib/tcl/tests/if.test deleted file mode 100644 index 03b8bcd62e8b..000000000000 --- a/contrib/tcl/tests/if.test +++ /dev/null @@ -1,505 +0,0 @@ -# Commands covered: if -# -# 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) 1996 Sun Microsystems, Inc. -# -# See the file "license.terms" for information on usage and redistribution -# of this file, and for a DISCLAIMER OF ALL WARRANTIES. -# -# SCCS: @(#) if.test 1.9 97/07/02 16:40:58 - -if {[string compare test [info procs test]] == 1} then {source defs} - -# Basic "if" operation. - -catch {unset a} -test if-1.1 {TclCompileIfCmd: missing if/elseif test} { - list [catch {if} msg] $msg -} {1 {wrong # args: no expression after "if" argument}} -test if-1.2 {TclCompileIfCmd: error in if/elseif test} { - list [catch {if {[error "error in condition"]} foo} msg] $msg -} {1 {error in condition}} -test if-1.3 {TclCompileIfCmd: error in if/elseif test} { - list [catch {if {1+}} msg] $msg $errorInfo -} {1 {syntax error in expression "1+"} {syntax error in expression "1+" - ("if" test expression) - while compiling -"if {1+}"}} -test if-1.4 {TclCompileIfCmd: if/elseif test in braces} { - set a {} - if {1<2} {set a 1} - set a -} {1} -test if-1.5 {TclCompileIfCmd: if/elseif test not in braces} { - set a {} - if 1<2 {set a 1} - set a -} {1} -test if-1.6 {TclCompileIfCmd: multiline test expr} { - set a {} - if {($tcl_platform(platform) != "foobar1") && \ - ($tcl_platform(platform) != "foobar2")} {set a 3} else {set a 4} - set a -} 3 -test if-1.7 {TclCompileIfCmd: "then" after if/elseif test} { - set a {} - if 4>3 then {set a 1} - set a -} {1} -test if-1.8 {TclCompileIfCmd: keyword other than "then" after if/elseif test} { - set a {} - catch {if 1<2 therefore {set a 1}} msg - set msg -} {invalid command name "therefore"} -test if-1.9 {TclCompileIfCmd: missing "then" body} { - set a {} - catch {if 1<2 then} msg - set msg -} {wrong # args: no script following "then" argument} -test if-1.10 {TclCompileIfCmd: error in "then" body} { - set a {} - list [catch {if {$a!="xxx"} then {set}} msg] $msg $errorInfo -} {1 {wrong # args: should be "set varName ?newValue?"} {wrong # args: should be "set varName ?newValue?" - while compiling -"set" - ("if" then script line 1) - while compiling -"if {$a!="xxx"} then {set}"}} -test if-1.11 {TclCompileIfCmd: error in "then" body} { - list [catch {if 2 then {[error "error in then clause"]}} msg] $msg -} {1 {error in then clause}} -test if-1.12 {TclCompileIfCmd: "then" body in quotes} { - set a {} - if 27>17 "append a x" - set a -} {x} -test if-1.13 {TclCompileIfCmd: computed "then" body} { - catch {unset x1} - catch {unset x2} - set a {} - set x1 {append a x1} - set x2 {; append a x2} - set a {} - if 1 $x1$x2 - set a -} {x1x2} -test if-1.14 {TclCompileIfCmd: taking proper branch} { - set a {} - if 1<2 {set a 1} - set a -} 1 -test if-1.15 {TclCompileIfCmd: taking proper branch} { - set a {} - if 1>2 {set a 1} - set a -} {} -test if-1.16 {TclCompileIfCmd: test jumpFalse instruction replacement after long "then" body} { - catch {unset i} - set a {} - if 1<2 { - set a 1 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 2 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 3 - } - set a -} 3 -test if-1.17 {TclCompileIfCmd: if/elseif test in quotes} { - set a {} - list [catch {if {"0 < 3"} {set a 1}} msg] $msg -} {1 {expected boolean value but got "0 < 3"}} - - -test if-2.1 {TclCompileIfCmd: "elseif" after if/elseif test} { - set a {} - if 3>4 {set a 1} elseif 1 {set a 2} - set a -} {2} -# Since "else" is optional, the "elwood" below is treated as a command. -# But then there shouldn't be any additional argument words for the "if". -test if-2.2 {TclCompileIfCmd: keyword other than "elseif"} { - set a {} - catch {if 1<2 {set a 1} elwood {set a 2}} msg - set msg -} {wrong # args: extra words after "else" clause in "if" command} -test if-2.3 {TclCompileIfCmd: missing expression after "elseif"} { - set a {} - catch {if 1<2 {set a 1} elseif} msg - set msg -} {wrong # args: no expression after "elseif" argument} -test if-2.4 {TclCompileIfCmd: error in expression after "elseif"} { - set a {} - list [catch {if 3>4 {set a 1} elseif {1>}} msg] $msg $errorInfo -} {1 {syntax error in expression "1>"} {syntax error in expression "1>" - ("if" test expression) - while compiling -"if 3>4 {set a 1} elseif {1>}"}} -test if-2.5 {TclCompileIfCmd: test jumpFalse instruction replacement after long "elseif" body} { - catch {unset i} - set a {} - if 1>2 { - set a 1 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 2 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 3 - } elseif 1<2 then { #; this if arm should be taken - set a 4 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 5 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 6 - } - set a -} 6 - -test if-3.1 {TclCompileIfCmd: "else" clause} { - set a {} - if 3>4 {set a 1} elseif {$a == "foo"} {set a 2} else {set a 3} - set a -} 3 -# Since "else" is optional, the "elsex" below is treated as a command. -# But then there shouldn't be any additional argument words for the "if". -test if-3.2 {TclCompileIfCmd: keyword other than "else"} { - set a {} - catch {if 1<2 then {set a 1} elsex {set a 2}} msg - set msg -} {wrong # args: extra words after "else" clause in "if" command} -test if-3.3 {TclCompileIfCmd: missing body after "else"} { - set a {} - catch {if 2<1 {set a 1} else} msg - set msg -} {wrong # args: no script following "else" argument} -test if-3.4 {TclCompileIfCmd: error compiling body after "else"} { - set a {} - catch {if 2<1 {set a 1} else {set}} msg - set errorInfo -} {wrong # args: should be "set varName ?newValue?" - while compiling -"set" - ("if" else script line 1) - while compiling -"if 2<1 {set a 1} else {set}"} -test if-3.5 {TclCompileIfCmd: extra arguments after "else" argument} { - set a {} - catch {if 2<1 {set a 1} else {set a 2} or something} msg - set msg -} {wrong # args: extra words after "else" clause in "if" command} -# The following test also checks whether contained loops and other -# commands are properly relocated because a short jump must be replaced -# by a "long distance" one. -test if-3.6 {TclCompileIfCmd: test jumpFalse instruction replacement after long "else" clause} { - catch {unset i} - set a {} - if 1>2 { - set a 1 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 2 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 3 - } elseif 1==2 then { #; this if arm should be taken - set a 4 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 5 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 6 - } else { - set a 7 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 8 - while {$a != "xxx"} { - break; - while {$i >= 0} { - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - if {[string compare $a "bar"] < 0} { - set i $i - set i [lindex $s $i] - } - set i [expr $i-1] - } - } - set a 9 - } - set a -} 9 - -test if-4.1 {TclCompileIfCmd: "if" command result} { - set a {} - set a [if 3<4 {set i 27}] - set a -} 27 -test if-4.2 {TclCompileIfCmd: "if" command result} { - set a {} - set a [if 3>4 {set i 27}] - set a -} {} -test if-4.3 {TclCompileIfCmd: "if" command result} { - set a {} - set a [if 0 {set i 1} elseif 1 {set i 2}] - set a -} 2 -test if-4.4 {TclCompileIfCmd: "if" command result} { - set a {} - set a [if 0 {set i 1} elseif 0 {set i 2} elseif 2>5 {set i 3} else {set i 4}] - set a -} 4 -test if-4.5 {TclCompileIfCmd: return value} { - if 0 then {set a 22; concat abc} elseif 1 {concat def} {concat ghi} -} def - -# Check "if" and computed command names. - -test if-5.1 {if and computed command names} { - set i 0 - set z if - $z 1 { - set i 1 - } - set i -} 1 |