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

通讯编程

开发平台:

Visual C++

  1. # Commands covered:  unknown
  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: unknown.test,v 1.6 2000/04/10 17:19:05 ericm Exp $
  15. if {[lsearch [namespace children] ::tcltest] == -1} {
  16.     package require tcltest
  17.     namespace import -force ::tcltest::*
  18. }
  19. catch {unset x}
  20. catch {rename unknown unknown.old}
  21. test unknown-1.1 {non-existent "unknown" command} {
  22.     list [catch {_non-existent_ foo bar} msg] $msg
  23. } {1 {invalid command name "_non-existent_"}}
  24. proc unknown {args} {
  25.     global x
  26.     set x $args
  27. }
  28. test unknown-2.1 {calling "unknown" command} {
  29.     foobar x y z
  30.     set x
  31. } {foobar x y z}
  32. test unknown-2.2 {calling "unknown" command with lots of args} {
  33.     foobar 1 2 3 4 5 6 7
  34.     set x
  35. } {foobar 1 2 3 4 5 6 7}
  36. test unknown-2.3 {calling "unknown" command with lots of args} {
  37.     foobar 1 2 3 4 5 6 7 8
  38.     set x
  39. } {foobar 1 2 3 4 5 6 7 8}
  40. test unknown-2.4 {calling "unknown" command with lots of args} {
  41.     foobar 1 2 3 4 5 6 7 8 9
  42.     set x
  43. } {foobar 1 2 3 4 5 6 7 8 9}
  44. test unknown-3.1 {argument quoting in calls to "unknown"} {
  45.     foobar { } a{b ; "\" $a a[b ]
  46.     set x
  47. } "foobar \{ \} a\{b {;} \\ {$a} {a[b} \]"
  48. proc unknown args {
  49.     error "unknown failed"
  50. }
  51. test unknown-4.1 {errors in "unknown" procedure} {
  52.     list [catch {non-existent a b} msg] $msg $errorCode
  53. } {1 {unknown failed} NONE}
  54. # cleanup
  55. catch {rename unknown {}}
  56. catch {rename unknown.old unknown}
  57. ::tcltest::cleanupTests
  58. return