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

通讯编程

开发平台:

Visual C++

  1. # Commands covered:  eval
  2. #
  3. # This file contains a collection of tests for one or more of the Tcl
  4. # built-in commands.  Sourcing this file into Tcl runs the tests and
  5. # generates output for errors.  No output means no errors were found.
  6. #
  7. # Copyright (c) 1991-1993 The Regents of the University of California.
  8. # Copyright (c) 1994 Sun Microsystems, Inc.
  9. # Copyright (c) 1998-1999 by Scriptics Corporation.
  10. #
  11. # See the file "license.terms" for information on usage and redistribution
  12. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  13. #
  14. # RCS: @(#) $Id: eval.test,v 1.5 2000/04/10 17:18:58 ericm Exp $
  15. if {[lsearch [namespace children] ::tcltest] == -1} {
  16.     package require tcltest
  17.     namespace import -force ::tcltest::*
  18. }
  19. test eval-1.1 {single argument} {
  20.     eval {format 22}
  21. } 22
  22. test eval-1.2 {multiple arguments} {
  23.     set a {$b}
  24.     set b xyzzy
  25.     eval format $a
  26. } xyzzy
  27. test eval-1.3 {single argument} {
  28.     eval concat a b c d e f g
  29. } {a b c d e f g}
  30. test eval-2.1 {error: not enough arguments} {catch eval} 1
  31. test eval-2.2 {error: not enough arguments} {
  32.     catch eval msg
  33.     set msg
  34. } {wrong # args: should be "eval arg ?arg ...?"}
  35. test eval-2.3 {error in eval'ed command} {
  36.     catch {eval {error "test error"}}
  37. } 1
  38. test eval-2.4 {error in eval'ed command} {
  39.     catch {eval {error "test error"}} msg
  40.     set msg
  41. } {test error}
  42. test eval-2.5 {error in eval'ed command: setting errorInfo} {
  43.     catch {eval {
  44. set a 1
  45. error "test error"
  46.     }} msg
  47.     set errorInfo
  48. } "test error
  49.     while executing
  50. "error "test error""
  51.     ("eval" body line 3)
  52.     invoked from within
  53. "eval {
  54. set a 1
  55. error "test error"
  56.     }""
  57. # cleanup
  58. ::tcltest::cleanupTests
  59. return