📄 winmenu.test
字号:
# This file is a Tcl script to test menus in Tk. It is# organized in the standard fashion for Tcl tests. This# file tests the Macintosh-specific features of the menu# system.## Copyright (c) 1995-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: @(#) winMenu.test 1.19 97/07/02 11:29:57if {$tcl_platform(platform) != "windows"} { return}if {![info exists INTERACTIVE]} { puts " Some tests were skipped because they could not be performed" puts " automatically on this platform. If you wish to execute them" puts " interactively, set the TCL variable INTERACTIVE and re-run" puts " the test." set testConfig(menuInteractive) 0} else { set testConfig(menuInteractive) 1}if {[lsearch [image types] test] < 0} { puts "This application hasn't been compiled with the \"test\" image" puts "type, so I can't run this test. Are you sure you're using" puts "tktest instead of wish?" return}if {[info procs test] != "test"} { source defs}proc deleteWindows {} { foreach i [winfo children .] { catch [destroy $i] }}deleteWindowswm geometry . {}raise .test winMenu-1.1 {GetNewID} { catch {destroy .m1} list [catch {menu .m1} msg] $msg [destroy .m1]} {0 .m1 {}}# Basically impossible to test menu IDs wrapping.test winMenu-2.1 {FreeID} { catch {destroy .m1} menu .m1 list [catch {destroy .m1} msg] $msg} {0 {}}test winMenu-3.1 {TkpNewMenu} { catch {destroy .m1} list [catch {menu .m1} msg] $msg [catch {destroy .m1} msg2] $msg2} {0 .m1 0 {}}test winMenu-3.2 {TkpNewMenu} { catch {destroy .m1} . configure -menu "" menu .m1 .m1 add command -label "foo" list [catch {. configure -menu .m1} msg] $msg [. configure -menu ""] [catch {destroy .m1} msg2] $msg2} {0 {} {} 0 {}}test winMenu-4.1 {TkpDestroyMenu} { catch {destroy .m1} menu .m1 list [catch {destroy .m1} msg] $msg} {0 {}}test winMenu-4.2 {TkpDestroyMenu - help menu} { catch {destroy .m1} menu .m1 .m1 add cascade -menu .m1.system . configure -menu .m1 list [catch {destroy .m1.system} msg] $msg [. configure -menu ""] [destroy .m1]} {0 {} {} {}}test winMenu-5.1 {TkpDestroyMenuEntry} { catch {destroy .m1} . configure -menu "" menu .m1 .m1 add command -label "test" update idletasks list [catch {.m1 delete 1} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.1 {GetEntryText} { catch {destroy .m1} list [catch {menu .m1} msg] $msg [destroy .m1]} {0 .m1 {}}test winMenu-6.2 {GetEntryText} { catch {destroy .m1} catch {image delete image1} menu .m1 image create test image1 list [catch {.m1 add command -image image1} msg] $msg [destroy .m1] [image delete image1]} {0 {} {} {}}test winMenu-6.3 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -bitmap questhead} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.4 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.5 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "foo"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.6 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "This string has one & in it"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.7 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "The & should be underlined." -underline 4} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.8 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "The * should be underlined." -underline 4} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.9 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "foo" -accel "bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.10 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "This string has one & in it" -accel "bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.11 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "The & should be underlined." -underline 4 -accel "bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.12 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "The * should be underlined." -underline 4 -accel "bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.13 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "foo" -accel "&bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.14 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "This string has one & in it" -accel "&bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.15 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "The & should be underlined." -underline 4 -accel "&bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-6.16 {GetEntryText} { catch {destroy .m1} menu .m1 list [catch {.m1 add command -label "The * should be underlined." -underline 4 -accel "&bar"} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.1 {ReconfigureWindowsMenu - system menu item removal} { catch {destroy .m1} menu .m1 .m1 add cascade -menu .m1.system menu .m1.system .m1.system add command -label foo update idletasks .m1.system add command -label bar list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]} {0 {} {} {}}test winMenu-7.2 {ReconfigureWindowsMenu - menu item removal} { catch {destroy .m1} menu .m1 .m1 add command -label Hello update idletasks .m1 add command -label foo list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.3 {ReconfigureWindowsMenu - zero items} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add command -label Hello .m1 delete Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.4 {ReconfigureWindowsMenu - one item} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add command -label Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.5 {ReconfigureWindowsMenu - two items} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add command -label One .m1 add command -label Two list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.6 {ReconfigureWindowsMenu - separator item} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add separator list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.7 {ReconfigureWindowsMenu - non-text item} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add command -label Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.8 {ReconfigureWindowsMenu - disabled item} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add command -label Hello -state disabled list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.9 {ReconfigureWindowsMenu - non-selected checkbutton} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add checkbutton -label Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.10 {ReconfigureWindowsMenu - non-selected radiobutton} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add radiobutton -label Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.11 {ReconfigureWindowsMenu - selected checkbutton} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add checkbutton -label Hello .m1 invoke Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.12 {ReconfigureWindowsMenu - selected radiobutton} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add radiobutton -label Hello .m1 invoke Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.13 {ReconfigureWindowsMenu - cascade missing} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add cascade -label Hello list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}test winMenu-7.14 {ReconfigureWindowsMenu - cascade} { catch {destroy .m1} catch {destroy .m2} menu .m1 -tearoff 0 menu .m2 .m1 add cascade -menu .m2 -label Hello list [catch {update idletasks} msg] $msg [destroy .m1] [destroy .m2]} {0 {} {} {}}test winMenu-7.15 {ReconfigureWindowsMenu - menubar without system menu} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add cascade -menu .m1.file menu .m1.file -tearoff 0 . configure -menu .m1 list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]} {0 {} {} {}}test winMenu-7.16 {ReconfigureWindowsMenu - system menu already created} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add cascade -menu .m1.system menu .m1.system -tearoff 0 . configure -menu .m1 update idletasks .m1.system add command -label Hello list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]} {0 {} {} {}}test winMenu-7.17 {ReconfigureWindowsMenu - system menu update pending} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add cascade -menu .m1.system menu .m1.system -tearoff 0 . configure -menu .m1 list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]} {0 {} {} {}}test winMenu-7.18 {ReconfigureWindowsMenu - system menu update not pending} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add cascade -menu .m1.system menu .m1.system -tearoff 0 .m1.system add command -label Hello update idletasks . configure -menu .m1 list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]} {0 {} {} {}}test winMenu-7.19 {ReconfigureWindowsMenu - column break} { catch {destroy .m1} menu .m1 -tearoff 0 .m1 add command -label one .m1 add command -label two -columnbreak 1 list [catch {update idletasks} msg] $msg [destroy .m1]} {0 {} {}}#Don't know how to generate nested post menustest winMenu-8.1 {TkpPostMenu} { catch {destroy .m1} menu .m1 -postcommand "blork" list [catch {.m1 post 40 40} msg] $msg [destroy .m1]} {1 {invalid command name "blork"} {}}test winMenu-8.2 {TkpPostMenu} { catch {destroy .m1} menu .m1 -postcommand "destroy .m1" list [.m1 post 40 40] [winfo exists .m1]} {{} 0}test winMenu-8.3 {TkpPostMenu - popup menu} {menuInteractive} { catch {destroy .m1} menu .m1 .m1 add command -label "winMenu-8.3: Hit ESCAPE." list [.m1 post 40 40] [destroy .m1]} {{} {}}test winMenu-8.4 {TkpPostMenu - menu button} {menuInteractive} { catch {destroy .mb} menubutton .mb -text test -menu .mb.menu menu .mb.menu .mb.menu add command -label "winMenu-8.4 - Hit ESCAPE." pack .mb list [tkMbPost .mb] [destroy .m1]} {{} {}}test winMenu-8.5 {TkpPostMenu - update not pending} {menuInteractive} { catch {destroy .m1} menu .m1 .m1 add command -label "winMenu-8.5 - Hit ESCAPE."
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -