cmdinfo.test
来自「tcl是工具命令语言」· TEST 代码 · 共 107 行
TEST
107 行
# 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.# Copyright (c) 1998-1999 by Scriptics Corporation.## See the file "license.terms" for information on usage and redistribution# of this file, and for a DISCLAIMER OF ALL WARRANTIES.## RCS: @(#) $Id: cmdInfo.test,v 1.7 2002/06/22 04:19:47 dgp Exp $if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest 2 namespace import -force ::tcltest::*}::tcltest::testConstraint testcmdinfo \ [llength [info commands testcmdinfo]]::tcltest::testConstraint testcmdtoken \ [llength [info commands testcmdtoken]]test cmdinfo-1.1 {command procedure and clientData} {testcmdinfo} { testcmdinfo create x1 testcmdinfo get x1} {CmdProc1 original CmdDelProc1 original :: stringProc}test cmdinfo-1.2 {command procedure and clientData} {testcmdinfo} { testcmdinfo create x1 x1} {CmdProc1 original}test cmdinfo-1.3 {command procedure and clientData} {testcmdinfo} { 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} { testcmdinfo create x1 testcmdinfo modify x1 x1} {CmdProc2 new_command_data}test cmdinfo-2.1 {command deletion callbacks} {testcmdinfo} { testcmdinfo create x1 testcmdinfo delete x1} {CmdDelProc1 original}test cmdinfo-2.2 {command deletion callbacks} {testcmdinfo} { testcmdinfo create x1 testcmdinfo modify x1 testcmdinfo delete x1} {CmdDelProc2 new_delete_data}test cmdinfo-3.1 {Tcl_Get/SetCommandInfo return values} {testcmdinfo} { testcmdinfo get non_existent} {??}test cmdinfo-3.2 {Tcl_Get/SetCommandInfo return values} {testcmdinfo} { testcmdinfo create x1 testcmdinfo modify x1} 1test cmdinfo-3.3 {Tcl_Get/SetCommandInfo return values} {testcmdinfo} { testcmdinfo modify non_existent} 0test cmdinfo-4.1 {Tcl_GetCommandName/Tcl_GetCommandFullName procedures} \ {testcmdtoken} { 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} \ {testcmdtoken} { # 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} \ {testcmdtoken} { 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}# cleanupcatch {namespace delete cmdInfoNs1::cmdInfoNs2 cmdInfoNs1}catch {rename x1 ""}::tcltest::cleanupTestsreturn
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?