📄 cmdinfo.test
字号:
# Commands covered: none## This file contains a collection of tests for Tcl_GetCommandInfo,# Tcl_SetCommandInfo, Tcl_CreateCommand, Tcl_DeleteCommand, and# Tcl_NameOfCommand. Sourcing this file into Tcl runs the tests# and generates output for errors. No output means no errors were# found.## Copyright (c) 1993 The Regents of the University of California.# Copyright (c) 1994-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: @(#) cmdInfo.test 1.10 97/06/20 14:51:12if {[info commands testcmdinfo] == {}} { puts "This application hasn't been compiled with the \"testcmdinfo\"" puts "command, so I can't test Tcl_GetCommandInfo etc." return}if {[string compare test [info procs test]] == 1} then {source defs}test cmdinfo-1.1 {command procedure and clientData} { testcmdinfo create x1 testcmdinfo get x1} {CmdProc1 original CmdDelProc1 original :: stringProc}test cmdinfo-1.2 {command procedure and clientData} { testcmdinfo create x1 x1} {CmdProc1 original}test cmdinfo-1.3 {command procedure and clientData} { testcmdinfo create x1 testcmdinfo modify x1 testcmdinfo get x1} {CmdProc2 new_command_data CmdDelProc2 new_delete_data :: stringProc}test cmdinfo-1.4 {command procedure and clientData} { testcmdinfo create x1 testcmdinfo modify x1 x1} {CmdProc2 new_command_data}test cmdinfo-2.1 {command deletion callbacks} { testcmdinfo create x1 testcmdinfo delete x1} {CmdDelProc1 original}test cmdinfo-2.2 {command deletion callbacks} { testcmdinfo create x1 testcmdinfo modify x1 testcmdinfo delete x1} {CmdDelProc2 new_delete_data}test cmdinfo-3.1 {Tcl_Get/SetCommandInfo return values} { testcmdinfo get non_existent} {??}test cmdinfo-3.2 {Tcl_Get/SetCommandInfo return values} { testcmdinfo create x1 testcmdinfo modify x1} 1test cmdinfo-3.3 {Tcl_Get/SetCommandInfo return values} { testcmdinfo modify non_existent} 0test cmdinfo-4.1 {Tcl_GetCommandName/Tcl_GetCommandFullName procedures} { set x [testcmdtoken create x1] rename x1 newName set y [testcmdtoken name $x] rename newName x1 eval lappend y [testcmdtoken name $x]} {newName ::newName x1 ::x1}catch {rename newTestCmd {}}catch {rename newTestCmd2 {}}test cmdinfo-5.1 {Names for commands created when inside namespaces} { # create namespace cmdInfoNs1 namespace eval cmdInfoNs1 {} ;# creates namespace cmdInfoNs1 # create namespace cmdInfoNs1::cmdInfoNs2 and execute a script in it set x [namespace eval cmdInfoNs1::cmdInfoNs2 { # the following creates a cmd in the global namespace testcmdtoken create testCmd }] set y [testcmdtoken name $x] rename ::testCmd newTestCmd eval lappend y [testcmdtoken name $x]} {testCmd ::testCmd newTestCmd ::newTestCmd}test cmdinfo-6.1 {Names for commands created when outside namespaces} { set x [testcmdtoken create cmdInfoNs1::cmdInfoNs2::testCmd] set y [testcmdtoken name $x] rename cmdInfoNs1::cmdInfoNs2::testCmd newTestCmd2 eval lappend y [testcmdtoken name $x]} {testCmd ::cmdInfoNs1::cmdInfoNs2::testCmd newTestCmd2 ::newTestCmd2}catch {namespace delete cmdInfoNs1::cmdInfoNs2 cmdInfoNs1}catch {rename x1 ""}concat {}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -