if-old.test
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
源码类别:

通讯编程

开发平台:

Visual C++

  1. # Commands covered:  if
  2. #
  3. # This file contains the original set of tests for Tcl's if command.
  4. # Since the if command is now compiled, a new set of tests covering
  5. # the new implementation is in the file "if.test". Sourcing this file
  6. # into Tcl runs the tests and generates output for errors.
  7. # No output means no errors were found.
  8. #
  9. # Copyright (c) 1991-1993 The Regents of the University of California.
  10. # Copyright (c) 1994-1996 Sun Microsystems, Inc.
  11. # Copyright (c) 1998-1999 by Scriptics Corporation.
  12. #
  13. # See the file "license.terms" for information on usage and redistribution
  14. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  15. #
  16. # RCS: @(#) $Id: if-old.test,v 1.5.24.1 2003/03/27 13:11:12 dkf Exp $
  17. if {[lsearch [namespace children] ::tcltest] == -1} {
  18.     package require tcltest
  19.     namespace import -force ::tcltest::*
  20. }
  21. test if-old-1.1 {taking proper branch} {
  22.     set a {}
  23.     if 0 {set a 1} else {set a 2}
  24.     set a
  25. } 2
  26. test if-old-1.2 {taking proper branch} {
  27.     set a {}
  28.     if 1 {set a 1} else {set a 2}
  29.     set a
  30. } 1
  31. test if-old-1.3 {taking proper branch} {
  32.     set a {}
  33.     if 1<2 {set a 1}
  34.     set a
  35. } 1
  36. test if-old-1.4 {taking proper branch} {
  37.     set a {}
  38.     if 1>2 {set a 1}
  39.     set a
  40. } {}
  41. test if-old-1.5 {taking proper branch} {
  42.     set a {}
  43.     if 0 {set a 1} else {}
  44.     set a
  45. } {}
  46. test if-old-1.6 {taking proper branch} {
  47.     set a {}
  48.     if 0 {set a 1} elseif 1 {set a 2} elseif 1 {set a 3} else {set a 4}
  49.     set a
  50. } {2}
  51. test if-old-1.7 {taking proper branch} {
  52.     set a {}
  53.     if 0 {set a 1} elseif 0 {set a 2} elseif 1 {set a 3} else {set a 4}
  54.     set a
  55. } {3}
  56. test if-old-1.8 {taking proper branch} {
  57.     set a {}
  58.     if 0 {set a 1} elseif 0 {set a 2} elseif 0 {set a 3} else {set a 4}
  59.     set a
  60. } {4}
  61. test if-old-1.9 {taking proper branch, multiline test expr} {
  62.     set a {}
  63.     if {($tcl_platform(platform) != "foobar1") && 
  64. ($tcl_platform(platform) != "foobar2")} {set a 3} else {set a 4}
  65.     set a
  66. } {3}
  67. test if-old-2.1 {optional then-else args} {
  68.     set a 44
  69.     if 0 then {set a 1} elseif 0 then {set a 3} else {set a 2}
  70.     set a
  71. } 2
  72. test if-old-2.2 {optional then-else args} {
  73.     set a 44
  74.     if 1 then {set a 1} else {set a 2}
  75.     set a
  76. } 1
  77. test if-old-2.3 {optional then-else args} {
  78.     set a 44
  79.     if 0 {set a 1} else {set a 2}
  80.     set a
  81. } 2
  82. test if-old-2.4 {optional then-else args} {
  83.     set a 44
  84.     if 1 {set a 1} else {set a 2}
  85.     set a
  86. } 1
  87. test if-old-2.5 {optional then-else args} {
  88.     set a 44
  89.     if 0 then {set a 1} {set a 2}
  90.     set a
  91. } 2
  92. test if-old-2.6 {optional then-else args} {
  93.     set a 44
  94.     if 1 then {set a 1} {set a 2}
  95.     set a
  96. } 1
  97. test if-old-2.7 {optional then-else args} {
  98.     set a 44
  99.     if 0 then {set a 1} else {set a 2}
  100.     set a
  101. } 2
  102. test if-old-2.8 {optional then-else args} {
  103.     set a 44
  104.     if 0 then {set a 1} elseif 0 {set a 2} elseif 0 {set a 3} {set a 4}
  105.     set a
  106. } 4
  107. test if-old-3.1 {return value} {
  108.     if 1 then {set a 22; concat abc}
  109. } abc
  110. test if-old-3.2 {return value} {
  111.     if 0 then {set a 22; concat abc} elseif 1 {concat def} {concat ghi}
  112. } def
  113. test if-old-3.3 {return value} {
  114.     if 0 then {set a 22; concat abc} else {concat def}
  115. } def
  116. test if-old-3.4 {return value} {
  117.     if 0 then {set a 22; concat abc}
  118. } {}
  119. test if-old-3.5 {return value} {
  120.     if 0 then {set a 22; concat abc} elseif 0 {concat def}
  121. } {}
  122. test if-old-4.1 {error conditions} {
  123.     list [catch {if} msg] $msg
  124. } {1 {wrong # args: no expression after "if" argument}}
  125. test if-old-4.2 {error conditions} {
  126.     list [catch {if {[error "error in condition"]} foo} msg] $msg
  127. } {1 {error in condition}}
  128. test if-old-4.3 {error conditions} {
  129.     list [catch {if 2} msg] $msg
  130. } {1 {wrong # args: no script following "2" argument}}
  131. test if-old-4.4 {error conditions} {
  132.     list [catch {if 2 then} msg] $msg
  133. } {1 {wrong # args: no script following "then" argument}}
  134. test if-old-4.5 {error conditions} {
  135.     list [catch {if 2 the} msg] $msg
  136. } {1 {invalid command name "the"}}
  137. test if-old-4.6 {error conditions} {
  138.     list [catch {if 2 then {[error "error in then clause"]}} msg] $msg
  139. } {1 {error in then clause}}
  140. test if-old-4.7 {error conditions} {
  141.     list [catch {if 0 then foo elseif} msg] $msg
  142. } {1 {wrong # args: no expression after "elseif" argument}}
  143. test if-old-4.8 {error conditions} {
  144.     list [catch {if 0 then foo elsei} msg] $msg
  145. } {1 {invalid command name "elsei"}}
  146. test if-old-4.9 {error conditions} {
  147.     list [catch {if 0 then foo elseif 0 bar else} msg] $msg
  148. } {1 {wrong # args: no script following "else" argument}}
  149. test if-old-4.10 {error conditions} {
  150.     list [catch {if 0 then foo elseif 0 bar els} msg] $msg
  151. } {1 {invalid command name "els"}}
  152. test if-old-4.11 {error conditions} {
  153.     list [catch {if 0 then foo elseif 0 bar else {[error "error in else clause"]}} msg] $msg
  154. } {1 {error in else clause}}
  155. # cleanup
  156. ::tcltest::cleanupTests
  157. return