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

通讯编程

开发平台:

Visual C++

  1. # This file is a Tcl script to test menus in Tk.  It is
  2. # organized in the standard fashion for Tcl tests. This
  3. # file tests the Macintosh-specific features of the menu
  4. # system.
  5. #
  6. # Copyright (c) 1995-1996 Sun Microsystems, Inc.
  7. # Copyright (c) 1998-1999 by Scriptics Corporation.
  8. # All rights reserved.
  9. #
  10. # RCS: @(#) $Id: winMenu.test,v 1.6.2.1 2004/10/29 11:16:38 patthoyts Exp $
  11. package require tcltest 2.1
  12. namespace import -force tcltest::configure
  13. namespace import -force tcltest::testsDirectory
  14. configure -testdir [file join [pwd] [file dirname [info script]]]
  15. configure -loadfile [file join [testsDirectory] constraints.tcl]
  16. tcltest::loadTestedCommands
  17. test winMenu-1.1 {GetNewID} {pcOnly} {
  18.     catch {destroy .m1}
  19.     list [catch {menu .m1} msg] $msg [destroy .m1]
  20. } {0 .m1 {}}
  21. # Basically impossible to test menu IDs wrapping.
  22. test winMenu-2.1 {FreeID} {pcOnly} {
  23.     catch {destroy .m1}
  24.     menu .m1
  25.     list [catch {destroy .m1} msg] $msg
  26. } {0 {}}
  27. test winMenu-3.1 {TkpNewMenu} {pcOnly} {
  28.     catch {destroy .m1}
  29.     list [catch {menu .m1} msg] $msg [catch {destroy .m1} msg2] $msg2
  30. } {0 .m1 0 {}}
  31. test winMenu-3.2 {TkpNewMenu} {pcOnly} {
  32.     catch {destroy .m1}
  33.     . configure -menu ""
  34.     menu .m1
  35.     .m1 add command -label "foo"
  36.     list [catch {. configure -menu .m1} msg] $msg [. configure -menu ""] [catch {destroy .m1} msg2] $msg2
  37. } {0 {} {} 0 {}}
  38. test winMenu-4.1 {TkpDestroyMenu} {pcOnly} {
  39.     catch {destroy .m1}
  40.     menu .m1
  41.     list [catch {destroy .m1} msg] $msg
  42. } {0 {}}
  43. test winMenu-4.2 {TkpDestroyMenu - help menu} {pcOnly} {
  44.     catch {destroy .m1}
  45.     menu .m1
  46.     .m1 add cascade -menu .m1.system
  47.     . configure -menu .m1
  48.     list [catch {destroy .m1.system} msg] $msg [. configure -menu ""] [destroy .m1]
  49. } {0 {} {} {}}
  50. test winMenu-5.1 {TkpDestroyMenuEntry} {pcOnly} {
  51.     catch {destroy .m1}
  52.     . configure -menu ""
  53.     menu .m1
  54.     .m1 add command -label "test"
  55.     update idletasks
  56.     list [catch {.m1 delete 1} msg] $msg [destroy .m1]
  57. } {0 {} {}}
  58. test winMenu-6.1 {GetEntryText} {pcOnly} {
  59.     catch {destroy .m1}
  60.     list [catch {menu .m1} msg] $msg [destroy .m1]
  61. } {0 .m1 {}}
  62. test winMenu-6.2 {GetEntryText} {testImageType pcOnly} {
  63.     catch {destroy .m1}
  64.     catch {image delete image1}
  65.     menu .m1
  66.     image create test image1
  67.     list [catch {.m1 add command -image image1} msg] $msg [destroy .m1] [image delete image1]
  68. } {0 {} {} {}}
  69. test winMenu-6.3 {GetEntryText} {pcOnly} {
  70.     catch {destroy .m1}
  71.     menu .m1
  72.     list [catch {.m1 add command -bitmap questhead} msg] $msg [destroy .m1]
  73. } {0 {} {}}
  74. test winMenu-6.4 {GetEntryText} {pcOnly} {
  75.     catch {destroy .m1}
  76.     menu .m1
  77.     list [catch {.m1 add command} msg] $msg [destroy .m1]
  78. } {0 {} {}}
  79. test winMenu-6.5 {GetEntryText} {pcOnly} {
  80.     catch {destroy .m1}
  81.     menu .m1
  82.     list [catch {.m1 add command -label "foo"} msg] $msg [destroy .m1]
  83. } {0 {} {}}
  84. test winMenu-6.6 {GetEntryText} {pcOnly} {
  85.     catch {destroy .m1}
  86.     menu .m1
  87.     list [catch {.m1 add command -label "This string has one & in it"} msg] $msg [destroy .m1]
  88. } {0 {} {}}
  89. test winMenu-6.7 {GetEntryText} {pcOnly} {
  90.     catch {destroy .m1}
  91.     menu .m1
  92.     list [catch {.m1 add command -label "The & should be underlined." -underline 4} msg] $msg [destroy .m1]
  93. } {0 {} {}}
  94. test winMenu-6.8 {GetEntryText} {pcOnly} {
  95.     catch {destroy .m1}
  96.     menu .m1
  97.     list [catch {.m1 add command -label "The * should be underlined." -underline 4} msg] $msg [destroy .m1]
  98. } {0 {} {}}
  99. test winMenu-6.9 {GetEntryText} {pcOnly} {
  100.     catch {destroy .m1}
  101.     menu .m1
  102.     list [catch {.m1 add command -label "foo" -accel "bar"} msg] $msg [destroy .m1]
  103. } {0 {} {}}
  104. test winMenu-6.10 {GetEntryText} {pcOnly} {
  105.     catch {destroy .m1}
  106.     menu .m1
  107.     list [catch {.m1 add command -label "This string has one & in it" -accel "bar"} msg] $msg [destroy .m1]
  108. } {0 {} {}}
  109. test winMenu-6.11 {GetEntryText} {pcOnly} {
  110.     catch {destroy .m1}
  111.     menu .m1
  112.     list [catch {.m1 add command -label "The & should be underlined." -underline 4 -accel "bar"} msg] $msg [destroy .m1]
  113. } {0 {} {}}
  114. test winMenu-6.12 {GetEntryText} {pcOnly} {
  115.     catch {destroy .m1}
  116.     menu .m1
  117.     list [catch {.m1 add command -label "The * should be underlined." -underline 4 -accel "bar"} msg] $msg [destroy .m1]
  118. } {0 {} {}}
  119. test winMenu-6.13 {GetEntryText} {pcOnly} {
  120.     catch {destroy .m1}
  121.     menu .m1
  122.     list [catch {.m1 add command -label "foo" -accel "&bar"} msg] $msg [destroy .m1]
  123. } {0 {} {}}
  124. test winMenu-6.14 {GetEntryText} {pcOnly} {
  125.     catch {destroy .m1}
  126.     menu .m1
  127.     list [catch {.m1 add command -label "This string has one & in it" -accel "&bar"} msg] $msg [destroy .m1]
  128. } {0 {} {}}
  129. test winMenu-6.15 {GetEntryText} {pcOnly} {
  130.     catch {destroy .m1}
  131.     menu .m1
  132.     list [catch {.m1 add command -label "The & should be underlined." -underline 4 -accel "&bar"} msg] $msg [destroy .m1]
  133. } {0 {} {}}
  134. test winMenu-6.16 {GetEntryText} {pcOnly} {
  135.     catch {destroy .m1}
  136.     menu .m1
  137.     list [catch {.m1 add command -label "The * should be underlined." -underline 4 -accel "&bar"} msg] $msg [destroy .m1]
  138. } {0 {} {}}
  139. test winMenu-7.1 {ReconfigureWindowsMenu - system menu item removal} {pcOnly} {
  140.     catch {destroy .m1}
  141.     menu .m1
  142.     .m1 add cascade -menu .m1.system
  143.     menu .m1.system
  144.     .m1.system add command -label foo
  145.     update idletasks
  146.     .m1.system add command -label bar
  147.     list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]
  148. } {0 {} {} {}}
  149. test winMenu-7.2 {ReconfigureWindowsMenu - menu item removal} {pcOnly} {
  150.     catch {destroy .m1}
  151.     menu .m1
  152.     .m1 add command -label Hello
  153.     update idletasks
  154.     .m1 add command -label foo
  155.     list [catch {update idletasks} msg] $msg [destroy .m1]
  156. } {0 {} {}}
  157. test winMenu-7.3 {ReconfigureWindowsMenu - zero items} {pcOnly} {
  158.     catch {destroy .m1}
  159.     menu .m1 -tearoff 0
  160.     .m1 add command -label Hello
  161.     .m1 delete Hello
  162.     list [catch {update idletasks} msg] $msg [destroy .m1]
  163. } {0 {} {}}
  164. test winMenu-7.4 {ReconfigureWindowsMenu - one item} {pcOnly} {
  165.     catch {destroy .m1}
  166.     menu .m1 -tearoff 0
  167.     .m1 add command -label Hello
  168.     list [catch {update idletasks} msg] $msg [destroy .m1]
  169. } {0 {} {}}
  170. test winMenu-7.5 {ReconfigureWindowsMenu - two items} {pcOnly} {
  171.     catch {destroy .m1}
  172.     menu .m1 -tearoff 0
  173.     .m1 add command -label One
  174.     .m1 add command -label Two
  175.     list [catch {update idletasks} msg] $msg [destroy .m1]
  176. } {0 {} {}}
  177. test winMenu-7.6 {ReconfigureWindowsMenu - separator item} {pcOnly} {
  178.     catch {destroy .m1}
  179.     menu .m1 -tearoff 0
  180.     .m1 add separator
  181.     list [catch {update idletasks} msg] $msg [destroy .m1]
  182. } {0 {} {}}
  183. test winMenu-7.7 {ReconfigureWindowsMenu - non-text item} {pcOnly} {
  184.     catch {destroy .m1}
  185.     menu .m1 -tearoff 0
  186.     .m1 add command -label Hello
  187.     list [catch {update idletasks} msg] $msg [destroy .m1]
  188. } {0 {} {}}
  189. test winMenu-7.8 {ReconfigureWindowsMenu - disabled item} {pcOnly} {
  190.     catch {destroy .m1}
  191.     menu .m1 -tearoff 0
  192.     .m1 add command -label Hello -state disabled
  193.     list [catch {update idletasks} msg] $msg [destroy .m1]
  194. } {0 {} {}}
  195. test winMenu-7.9 {ReconfigureWindowsMenu - non-selected checkbutton} {pcOnly} {
  196.     catch {destroy .m1}
  197.     menu .m1 -tearoff 0
  198.     .m1 add checkbutton -label Hello
  199.     list [catch {update idletasks} msg] $msg [destroy .m1]
  200. } {0 {} {}}
  201. test winMenu-7.10 {ReconfigureWindowsMenu - non-selected radiobutton} {pcOnly} {
  202.     catch {destroy .m1}
  203.     menu .m1 -tearoff 0
  204.     .m1 add radiobutton -label Hello
  205.     list [catch {update idletasks} msg] $msg [destroy .m1]
  206. } {0 {} {}}
  207. test winMenu-7.11 {ReconfigureWindowsMenu - selected checkbutton} {pcOnly} {
  208.     catch {destroy .m1}
  209.     menu .m1 -tearoff 0
  210.     .m1 add checkbutton -label Hello
  211.     .m1 invoke Hello
  212.     list [catch {update idletasks} msg] $msg [destroy .m1]
  213. } {0 {} {}}
  214. test winMenu-7.12 {ReconfigureWindowsMenu - selected radiobutton} {pcOnly} {
  215.     catch {destroy .m1}
  216.     menu .m1 -tearoff 0
  217.     .m1 add radiobutton -label Hello
  218.     .m1 invoke Hello
  219.     list [catch {update idletasks} msg] $msg [destroy .m1]
  220. } {0 {} {}}
  221. test winMenu-7.13 {ReconfigureWindowsMenu - cascade missing} {pcOnly} {
  222.     catch {destroy .m1}
  223.     menu .m1 -tearoff 0
  224.     .m1 add cascade -label Hello
  225.     list [catch {update idletasks} msg] $msg [destroy .m1]
  226. } {0 {} {}}
  227. test winMenu-7.14 {ReconfigureWindowsMenu - cascade} {pcOnly} {
  228.     catch {destroy .m1}
  229.     catch {destroy .m2}
  230.     menu .m1 -tearoff 0
  231.     menu .m2
  232.     .m1 add cascade -menu .m2 -label Hello
  233.     list [catch {update idletasks} msg] $msg [destroy .m1] [destroy .m2]
  234. } {0 {} {} {}}
  235. test winMenu-7.15 {ReconfigureWindowsMenu - menubar without system menu} {pcOnly} {
  236.     catch {destroy .m1}
  237.     menu .m1 -tearoff 0
  238.     .m1 add cascade -menu .m1.file
  239.     menu .m1.file -tearoff 0
  240.     . configure -menu .m1
  241.     list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]
  242. } {0 {} {} {}}
  243. test winMenu-7.16 {ReconfigureWindowsMenu - system menu already created} {pcOnly} {
  244.     catch {destroy .m1}
  245.     menu .m1 -tearoff 0
  246.     .m1 add cascade -menu .m1.system
  247.     menu .m1.system -tearoff 0
  248.     . configure -menu .m1
  249.     update idletasks
  250.     .m1.system add command -label Hello
  251.     list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]
  252. } {0 {} {} {}}
  253. test winMenu-7.17 {ReconfigureWindowsMenu - system menu update pending} {pcOnly} {
  254.     catch {destroy .m1}
  255.     menu .m1 -tearoff 0
  256.     .m1 add cascade -menu .m1.system
  257.     menu .m1.system -tearoff 0
  258.     . configure -menu .m1
  259.     list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]
  260. } {0 {} {} {}}
  261. test winMenu-7.18 {ReconfigureWindowsMenu - system menu update not pending} {pcOnly} {
  262.     catch {destroy .m1}
  263.     menu .m1 -tearoff 0
  264.     .m1 add cascade -menu .m1.system
  265.     menu .m1.system -tearoff 0
  266.     .m1.system add command -label Hello
  267.     update idletasks
  268.     . configure -menu .m1
  269.     list [catch {update idletasks} msg] $msg [. configure -menu ""] [destroy .m1]
  270. } {0 {} {} {}}
  271. test winMenu-7.19 {ReconfigureWindowsMenu - column break} {pcOnly} {
  272.     catch {destroy .m1}
  273.     menu .m1 -tearoff 0
  274.     .m1 add command -label one
  275.     .m1 add command -label two -columnbreak 1
  276.     list [catch {update idletasks} msg] $msg [destroy .m1]
  277. } {0 {} {}}
  278. #Don't know how to generate nested post menus
  279. test winMenu-8.1 {TkpPostMenu} {pcOnly} {
  280.     catch {destroy .m1}
  281.     menu .m1 -postcommand "blork"
  282.     list [catch {.m1 post 40 40} msg] $msg [destroy .m1]
  283. } {1 {invalid command name "blork"} {}}
  284. test winMenu-8.2 {TkpPostMenu} {pcOnly} {
  285.     catch {destroy .m1}
  286.     menu .m1 -postcommand "destroy .m1"
  287.     list [.m1 post 40 40] [winfo exists .m1]
  288. } {{} 0}
  289. test winMenu-8.3 {TkpPostMenu - popup menu} {pcOnly userInteraction} {
  290.     catch {destroy .m1}
  291.     menu .m1
  292.     .m1 add command -label "winMenu-8.3: Hit ESCAPE."
  293.     list [.m1 post 40 40] [destroy .m1]
  294. } {{} {}}
  295. test winMenu-8.4 {TkpPostMenu - menu button} {pcOnly userInteraction} {
  296.     catch {destroy .mb}
  297.     menubutton .mb -text test -menu .mb.menu
  298.     menu .mb.menu
  299.     .mb.menu add command -label "winMenu-8.4 - Hit ESCAPE."
  300.     pack .mb
  301.     list [tk::MbPost .mb] [destroy .m1]
  302. } {{} {}}
  303. test winMenu-8.5 {TkpPostMenu - update not pending} {pcOnly userInteraction} {
  304.     catch {destroy .m1}
  305.     menu .m1
  306.     .m1 add command -label "winMenu-8.5 - Hit ESCAPE."
  307.     update idletasks
  308.     list [catch {.m1 post 40 40} msg] $msg [destroy .m1]
  309. } {0 {} {}}
  310. test winMenu-9.1 {TkpMenuNewEntry} {pcOnly} {
  311.     catch {destroy .m1}
  312.     menu .m1
  313.     list [catch {.m1 add command} msg] $msg [destroy .m1]
  314. } {0 {} {}}
  315. test winMenu-10.1 {TkwinMenuProc} {pcOnly userInteraction} {
  316.     catch {destroy .m1}
  317.     menu .m1
  318.     .m1 add command -label "winMenu-10.1: Hit ESCAPE."
  319.     list [.m1 post 40 40] [destroy .m1]
  320. } {{} {}}
  321. # Can't generate a WM_INITMENU without a Tk menu yet.
  322. test winMenu-11.1 {TkWinHandleMenuEvent - WM_INITMENU} {pcOnly userInteraction} {
  323.     catch {destroy .m1}
  324.     catch {unset foo}
  325.     menu .m1 -postcommand "set foo test"
  326.     .m1 add command -label "winMenu-11.1: Hit ESCAPE."
  327.     list [.m1 post 40 40] [set foo] [unset foo] [destroy .m1]
  328. } {test test {} {}}
  329. test winMenu-11.2 {TkWinHandleMenuEvent - WM_COMMAND} {pcOnly userInteraction} {
  330.     catch {destroy .m1}
  331.     catch {unset foo}
  332.     menu .m1
  333.     .m1 add checkbutton -variable foo -label "winMenu-11.2: Please select this menu item."
  334.     list [.m1 post 40 40] [update] [set foo] [unset foo] [destroy .m1]
  335. } {{} {} 1 {} {}}
  336. test winMenu-11.3 {TkWinHandleMenuEvent - WM_COMMAND} {pcOnly userInteraction} {
  337.     catch {destroy .m1}
  338.     catch {unset foo}
  339.     proc bgerror {args} {
  340. global foo errorInfo
  341. set foo [list $args $errorInfo]
  342.     }
  343.     menu .m1
  344.     .m1 add command -command {error 1} -label "winMenu-11.2: Please select this menu item."
  345.     list [.m1 post 40 40] [update] [set foo] [unset foo] [destroy .m1]
  346. } {{} {} {1 {1
  347.     while executing
  348. "error 1"
  349.     (menu invoke)}} {} {}}
  350. # Can't test WM_MENUCHAR
  351. test winMenu-11.4 {TkWinHandleMenuEvent - WM_MEASUREITEM} {pcOnly userInteraction} {
  352.     catch {destroy .m1}
  353.     menu .m1
  354.     .m1 add command -label "winMenu-11.3: Hit ESCAPE."
  355.     list [.m1 post 40 40] [destroy .m1]
  356. } {{} {}}
  357. test winMenu-11.5 {TkWinHandleMenuEvent - WM_MEASUREITEM} {pcOnly userInteraction} {
  358.     catch {destroy .m1}
  359.     menu .m1
  360.     .m1 add checkbutton -label "winMenu-11.4: Hit ESCAPE" -hidemargin 1
  361.     list [.m1 post 40 40] [destroy .m1]
  362. } {{} {}}
  363. test winMenu-11.6 {TkWinHandleMenuEvent - WM_DRAWITEM} {pcOnly userInteraction} {
  364.     catch {destroy .m1}
  365.     menu .m1
  366.     .m1 add command -label "winMenu-11.5: Hit ESCAPE."
  367.     list [.m1 post 40 40] [destroy .m1]
  368. } {{} {}}
  369. test winMenu-11.7 {TkWinHandleMenuEvent - WM_DRAWITEM - item disabled} 
  370. {pcOnly userInteraction} {
  371.     catch {destroy .m1}
  372.     menu .m1
  373.     .m1 add command -label "winMenu-11.6: Hit ESCAPE." -state disabled
  374.     list [.m1 post 40 40] [destroy .m1]
  375. } {{} {}}
  376. test winMenu-11.8 {TkWinHandleMenuEvent - WM_INITMENU - not pending} 
  377. {pcOnly userInteraction} {
  378.     catch {destroy .m1}
  379.     menu .m1 -tearoff 0
  380.     .m1 add command -label "winMenu-11.7: Hit ESCAPE"
  381.     update idletasks
  382.     list [catch {.m1 post 40 40} msg] $msg [destroy .m1]
  383. } {0 {} {}}
  384. test winMenu-12.1 {TkpSetWindowMenuBar} {pcOnly} {
  385.     catch {destroy .m1}
  386.     . configure -menu ""
  387.     menu .m1
  388.     .m1 add command -label foo
  389.     list [catch {. configure -menu .m1} msg] $msg [. configure -menu ""] [catch {destroy .m1} msg2] $msg2
  390. } {0 {} {} 0 {}}
  391. test winMenu-12.2 {TkpSetWindowMenuBar} {pcOnly} {
  392.     catch {destroy .m1}
  393.     . configure -menu ""
  394.     menu .m1
  395.     .m1 add command -label foo
  396.     . configure -menu .m1
  397.     list [catch {. configure -menu ""} msg] $msg [catch {destroy .m1} msg2] $msg2
  398. } {0 {} 0 {}}
  399. test winMenu-12.3 {TkpSetWindowMenuBar - no update pending} {pcOnly} {
  400.     catch {destroy .m1}
  401.     . configure -menu ""
  402.     menu .m1 -tearoff 0
  403.     .m1 add command -label foo
  404.     update idletasks
  405.     list [catch {. configure -menu .m1} msg] $msg [. configure -menu ""] [destroy .m1]
  406. } {0 {} {} {}}
  407. test winMenu-13.1 {TkpSetMainMenubar - nothing to do} {emptyTest pcOnly} {} {}
  408. test winMenu-14.1 {GetMenuIndicatorGeometry} {pcOnly} {
  409.     catch {destroy .m1}
  410.     menu .m1
  411.     .m1 add checkbutton -label foo
  412.     list [catch {tk::TearOffMenu .m1 40 40}] [destroy .m1]
  413. } {0 {}}
  414. test winMenu-14.2 {GetMenuIndicatorGeometry} {pcOnly} {
  415.     catch {destroy .m1}
  416.     menu .m1
  417.     .m1 add checkbutton -label foo -hidemargin 1
  418.     list [catch {tk::TearOffMenu .m1 40 40}] [destroy .m1]
  419. } {0 {}}
  420. test winMenu-15.1 {GetMenuAccelGeometry} {pcOnly} {
  421.     catch {destroy .m1}
  422.     menu .m1
  423.     .m1 add cascade -label foo -accel Ctrl+U
  424.     list [catch {tk::TearOffMenu .m1 40 40}] [destroy .m1]
  425. } {0 {}}
  426. test winMenu-15.2 {GetMenuAccelGeometry} {pcOnly} {
  427.     catch {destroy .m1}
  428.     menu .m1
  429.     .m1 add command -label foo
  430.     list [catch {tk::TearOffMenu .m1 40 40}] [destroy .m1]
  431. } {0 {}}
  432. test winMenu-15.3 {GetMenuAccelGeometry} {pcOnly} {
  433.     catch {destroy .m1}
  434.     menu .m1
  435.     .m1 add command -label foo -accel "Ctrl+U"
  436.     list [catch {tk::TearOffMenu .m1 40 40}] [destroy .m1]
  437. } {0 {}}
  438. test winMenu-16.1 {GetTearoffEntryGeometry} {pcOnly userInteraction} {
  439.     catch {destroy .m1}
  440.     menu .m1
  441.     .m1 add command -label "winMenu-19.1: Hit ESCAPE."
  442.     list [.m1 post 40 40] [destroy .m1]
  443. } {{} {}}
  444. test winMenu-17.1 {GetMenuSeparatorGeometry} {pcOnly} {
  445.     catch {destroy .m1}
  446.     menu .m1
  447.     .m1 add separator
  448.     list [catch {tk::TearOffMenu .m1 40 40}] [destroy .m1]
  449. } {0 {}}
  450. # Currently, the only callers to DrawWindowsSystemBitmap want things
  451. # centered vertically, and either centered or right aligned horizontally.
  452. test winMenu-18.1 {DrawWindowsSystemBitmap - center aligned} {pcOnly} {
  453.     catch {destroy .m1}
  454.     menu .m1
  455.     .m1 add checkbutton -label foo
  456.     .m1 invoke foo
  457.     set tearoff [tk::TearOffMenu .m1 40 40]
  458.     list [update] [destroy .m1]
  459. } {{} {}}
  460. test winMenu-18.2 {DrawWindowsSystemBitmap - right aligned} {pcOnly} {
  461.     catch {destroy .m1}
  462.     menu .m1
  463.     .m1 add cascade -label foo
  464.     set tearoff [tk::TearOffMenu .m1 40 40]
  465.     list [update] [destroy .m1]
  466. } {{} {}}
  467. test winMenu-19.1 {DrawMenuEntryIndicator - not checkbutton or radiobutton} 
  468. {pcOnly} {
  469.     catch {destroy .m1}
  470.     menu .m1
  471.     .m1 add command -label foo
  472.     set tearoff [tk::TearOffMenu .m1 40 40]
  473.     list [update] [destroy .m1]
  474. } {{} {}}
  475. test winMenu-19.2 {DrawMenuEntryIndicator - not selected} {pcOnly} {
  476.     catch {destroy .m1}
  477.     menu .m1
  478.     .m1 add checkbutton -label foo
  479.     set tearoff [tk::TearOffMenu .m1 40 40]
  480.     list [update] [destroy .m1]
  481. } {{} {}}
  482. test winMenu-19.3 {DrawMenuEntryIndicator - checkbutton} {pcOnly} {
  483.     catch {destroy .m1}
  484.     menu .m1
  485.     .m1 add checkbutton -label foo
  486.     .m1 invoke foo
  487.     set tearoff [tk::TearOffMenu .m1 40 40]
  488.     list [update] [destroy .m1]
  489. } {{} {}}
  490. test winMenu-19.4 {DrawMenuEntryIndicator - radiobutton} {pcOnly} {
  491.     catch {destroy .m1}
  492.     menu .m1
  493.     .m1 add radiobutton -label foo
  494.     .m1 invoke foo
  495.     set tearoff [tk::TearOffMenu .m1 40 40]
  496.     list [update] [destroy .m1]
  497. } {{} {}}
  498. test winMenu-19.5 {DrawMenuEntryIndicator - disabled} {pcOnly} {
  499.     catch {destroy .m1}
  500.     menu .m1
  501.     .m1 add checkbutton -label foo
  502.     .m1 invoke foo
  503.     .m1 entryconfigure foo -state disabled
  504.     set tearoff [tk::TearOffMenu .m1 40 40]
  505.     list [update] [destroy .m1]
  506. } {{} {}}
  507. test winMenu-19.6 {DrawMenuEntryIndicator - indicator not on} {pcOnly} {
  508.     catch {destroy .m1}
  509.     menu .m1
  510.     .m1 add checkbutton -label foo -indicatoron 0
  511.     .m1 invoke foo
  512.     set tearoff [tk::TearOffMenu .m1 40 40]
  513.     list [update] [destroy .m1]
  514. } {{} {}}
  515. test winMenu-20.1 {DrawMenuEntryAccelerator - disabled} {pcOnly} {
  516.     catch {destroy .m1}
  517.     menu .m1 -disabledforeground red
  518.     .m1 add command -label foo -accel "Ctrl+U" -state disabled
  519.     set tearoff [tk::TearOffMenu .m1 40 40]
  520.     list [update] [destroy .m1]
  521. } {{} {}}
  522. test winMenu-20.2 {DrawMenuEntryAccelerator - normal text} {pcOnly} {
  523.     catch {destroy .m1}
  524.     menu .m1
  525.     .m1 add command -label foo -accel "Ctrl+U"
  526.     set tearoff [tk::TearOffMenu .m1 40 40]
  527.     list [update] [destroy .m1]
  528. } {{} {}}
  529. test winMenu-20.3 {DrawMenuEntryAccelerator - disabled, no disabledforeground} 
  530. {pcOnly} {
  531.     catch {destroy .m1}
  532.     menu .m1 -disabledforeground ""
  533.     .m1 add command -label foo -accel "Ctrl+U" -state disabled
  534.     set tearoff [tk::TearOffMenu .m1 40 40]
  535.     list [update] [destroy .m1]
  536. } {{} {}}
  537. test winMenu-20.4 {DrawMenuEntryAccelerator - cascade, drawArrow true} {pcOnly} {
  538.     catch {destroy .m1}
  539.     menu .m1
  540.     .m1 add cascade -label foo
  541.     set tearoff [tk::TearOffMenu .m1 40 40]
  542.     list [update] [destroy .m1]
  543. } {{} {}}
  544. test winMenu-20.5 {DrawMenuEntryAccelerator - cascade, drawArrow false} 
  545. {pcOnly userInteraction} {
  546.     catch {destroy .m1}
  547.     menu .m1
  548.     .m1 add cascade -label "winMenu-23.5: Hit ESCAPE."
  549.     list [.m1 post 40 40] [destroy .m1]
  550. } {{} {}}
  551. test winMenu-21.1 {DrawMenuSeparator} {pcOnly} {
  552.     catch {destroy .m1}
  553.     menu .m1
  554.     .m1 add separator
  555.     set tearoff [tk::TearOffMenu .m1 40 40]
  556.     list [update] [destroy .m1]
  557. } {{} {}}
  558. test winMenu-22.1 {DrawMenuUnderline} {pcOnly} {
  559.     catch {destroy .m1}
  560.     menu .m1
  561.     .m1 add command -label foo -underline 0
  562.     set tearoff [tk::TearOffMenu .m1 40 40]
  563.     list [update] [destroy .m1]
  564. } {{} {}}   
  565. test winMenu-23.1 {Don't know how to test MenuKeyBindProc} 
  566. {pcOnly emptyTest} {} {}
  567. test winMenu-24.1 {TkpInitializeMenuBindings called at boot time} 
  568. {pcOnly emptyTest} {} {}
  569. test winMenu-25.1 {DrawMenuEntryLabel - normal} {pcOnly} {
  570.     catch {destroy .m1}
  571.     menu .m1
  572.     .m1 add command -label foo
  573.     set tearoff [tk::TearOffMenu .m1 40 40]
  574.     list [update] [destroy .m1]
  575. } {{} {}}
  576. test winMenu-25.2 {DrawMenuEntryLabel - disabled with fg} {pcOnly} {
  577.     catch {destroy .m1}
  578.     menu .m1 -disabledforeground red
  579.     .m1 add command -label foo -state disabled
  580.     set tearoff [tk::TearOffMenu .m1 40 40]
  581.     list [update] [destroy .m1]
  582. } {{} {}}
  583. test winMenu-25.3 {DrawMenuEntryLabel - disabled with no fg} {pcOnly} {
  584.     catch {destroy .m1}
  585.     menu .m1 -disabledforeground ""
  586.     .m1 add command -label foo -state disabled
  587.     set tearoff [tk::TearOffMenu .m1 40 40]
  588.     list [update] [destroy .m1]
  589. } {{} {}}
  590. test winMenu-26.1 {TkpComputeMenubarGeometry} {pcOnly} {
  591.     catch {destroy .m1}
  592.     menu .m1
  593.     .m1 add cascade -label File
  594.     list [. configure -menu .m1] [. configure -menu ""] [destroy .m1]
  595. } {{} {} {}}
  596. test winMenu-27.1 {DrawTearoffEntry} {pcOnly userInteraction} {
  597.     catch {destroy .m1}
  598.     menu .m1
  599.     .m1 add command -label "winMenu-24.4: Hit ESCAPE."
  600.     list [.m1 post 40 40] [destroy .m1]
  601. } {{} {}}
  602. test winMenu-28.1 {TkpConfigureMenuEntry - update pending} {pcOnly} {
  603.     catch {destroy .m1}
  604.     menu .m1 -tearoff 0
  605.     .m1 add command -label Hello
  606.     list [catch {.m1 add command -label Two} msg] $msg [destroy .m1]
  607. } {0 {} {}}
  608. test winMenu-28.2 {TkpConfigureMenuEntry - update not pending} {pcOnly} {
  609.     catch {destroy .m1}
  610.     menu .m1 -tearoff 0
  611.     .m1 add command -label One
  612.     update idletasks
  613.     list [catch {.m1 add command -label Two} msg] $msg [destroy .m1]
  614. } {0 {} {}}
  615. test winMenu-29.1 {TkpDrawMenuEntry - gc for active and not strict motif} 
  616. {pcOnly} {
  617.     catch {destroy .m1}
  618.     menu .m1
  619.     .m1 add command -label foo
  620.     set tearoff [tk::TearOffMenu .m1 40 40]
  621.     .m1 entryconfigure 1 -state active
  622.     list [update] [destroy .m1]
  623. } {{} {}}
  624. test winMenu-29.2 {TkpDrawMenuEntry - gc for active menu item with its own gc} 
  625. {pcOnly} {
  626.     catch {destroy .m1}
  627.     menu .m1
  628.     .m1 add command -label foo -activeforeground red
  629.     set tearoff [tk::TearOffMenu .m1 40 40]
  630.     .m1 entryconfigure 1 -state active
  631.     list [update] [destroy .m1]
  632. } {{} {}}
  633. test winMenu-29.3 {TkpDrawMenuEntry - gc for active and strict motif} {pcOnly} {
  634.     catch {destroy .m1}
  635.     menu .m1
  636.     set tk_strictMotif 1
  637.     .m1 add command -label foo
  638.     set tearoff [tk::TearOffMenu .m1 40 40]
  639.     .m1 entryconfigure 1 -state active
  640.     list [update] [destroy .m1] [set tk_strictMotif 0]
  641. } {{} {} 0}
  642. test winMenu-29.4 
  643. {TkpDrawMenuEntry - gc for disabled with disabledfg and custom entry} 
  644. {pcOnly} {
  645.     catch {destroy .m1}
  646.     menu .m1 -disabledforeground blue
  647.     .m1 add command -label foo -state disabled -background red
  648.     set tearoff [tk::TearOffMenu .m1 40 40]
  649.     list [update] [destroy .m1]
  650. } {{} {}}
  651. test winMenu-29.5 {TkpDrawMenuEntry - gc for disabled with disabledFg} {pcOnly} {
  652.     catch {destroy .m1}
  653.     menu .m1 -disabledforeground blue
  654.     .m1 add command -label foo -state disabled
  655.     set tearoff [tk::TearOffMenu .m1 40 40]
  656.     list [update] [destroy .m1]
  657. } {{} {}}
  658. test winMenu-29.6 {TkpDrawMenuEntry - gc for disabled - no disabledFg} {pcOnly} {
  659.     catch {destroy .m1}
  660.     menu .m1 -disabledforeground ""
  661.     .m1 add command -label foo -state disabled
  662.     set tearoff [tk::TearOffMenu .m1 40 40]
  663.     list [update] [destroy .m1]
  664. } {{} {}}
  665. test winMenu-29.7 {TkpDrawMenuEntry - gc for normal - custom entry} {pcOnly} {
  666.     catch {destroy .m1}
  667.     menu .m1
  668.     .m1 add command -label foo -foreground red
  669.     set tearoff [tk::TearOffMenu .m1 40 40]
  670.     list [update] [destroy .m1]
  671. } {{} {}}
  672. test winMenu-29.8 {TkpDrawMenuEntry - gc for normal} {pcOnly} {
  673.     catch {destroy .m1}
  674.     menu .m1
  675.     .m1 add command -label foo
  676.     set tearoff [tk::TearOffMenu .m1 40 40]
  677.     list [update] [destroy .m1]
  678. } {{} {}}
  679. test winMenu-29.9 {TkpDrawMenuEntry - gc for indicator - custom entry} {pcOnly} {
  680.     catch {destroy .m1}
  681.     menu .m1
  682.     .m1 add checkbutton -label foo -selectcolor orange
  683.     .m1 invoke 1
  684.     set tearoff [tk::TearOffMenu .m1 40 40]
  685.     list [update] [destroy .m1]
  686. } {{} {}}
  687. test winMenu-29.10 {TkpDrawMenuEntry - gc for indicator} {pcOnly} {
  688.     catch {destroy .m1}
  689.     menu .m1
  690.     .m1 add checkbutton -label foo
  691.     .m1 invoke 1
  692.     set tearoff [tk::TearOffMenu .m1 40 40]
  693.     list [update] [destroy .m1]
  694. } {{} {}}
  695. test winMenu-29.11 {TkpDrawMenuEntry - border - custom entry} {pcOnly} {
  696.     catch {destroy .m1}
  697.     menu .m1
  698.     .m1 add command -label foo -activebackground green
  699.     set tearoff [tk::TearOffMenu .m1 40 40]
  700.     .m1 entryconfigure 1 -state active
  701.     list [update] [destroy .m1]
  702. } {{} {}}
  703. test winMenu-29.12 {TkpDrawMenuEntry - border} {pcOnly} {
  704.     catch {destroy .m1}
  705.     menu .m1
  706.     .m1 add command -label foo
  707.     set tearoff [tk::TearOffMenu .m1 40 40]
  708.     .m1 entryconfigure 1 -state active
  709.     list [update] [destroy .m1]
  710. } {{} {}}
  711. test winMenu-29.13 {TkpDrawMenuEntry - active border - strict motif} {pcOnly} {
  712.     catch {destroy .m1}
  713.     set tk_strictMotif 1
  714.     menu .m1
  715.     .m1 add command -label foo
  716.     set tearoff [tk::TearOffMenu .m1 40 40]
  717.     .m1 entryconfigure 1 -state active
  718.     list [update] [destroy .m1] [set tk_strictMotif 0]
  719. } {{} {} 0}
  720. test winMenu-29.14 {TkpDrawMenuEntry - active border - custom entry} {pcOnly} {
  721.     catch {destroy .m1}
  722.     menu .m1
  723.     .m1 add command -label foo -activeforeground yellow
  724.     set tearoff [tk::TearOffMenu .m1 40 40]
  725.     .m1 entryconfigure 1 -state active
  726.     list [update] [destroy .m1]
  727. } {{} {}}
  728. test winMenu-29.15 {TkpDrawMenuEntry - active border} {pcOnly} {
  729.     catch {destroy .m1}
  730.     menu .m1
  731.     .m1 add command -label foo
  732.     set tearoff [tk::TearOffMenu .m1 40 40]
  733.     .m1 entryconfigure 1 -state active
  734.     list [update] [destroy .m1]
  735. } {{} {}}
  736. test winMenu-29.16 {TkpDrawMenuEntry - font - custom entry} {pcOnly} {
  737.     catch {destroy .m1}
  738.     menu .m1
  739.     .m1 add command -label foo -font "Helvectica 72"
  740.     set tearoff [tk::TearOffMenu .m1 40 40]
  741.     list [update] [destroy .m1]
  742. } {{} {}}
  743. test winMenu-29.17 {TkpDrawMenuEntry - font} {pcOnly} {
  744.     catch {destroy .m1}
  745.     menu .m1 -font "Courier 72"
  746.     .m1 add command -label foo
  747.     set tearoff [tk::TearOffMenu .m1 40 40]
  748.     list [update] [destroy .m1]
  749. } {{} {}}
  750. test winMenu-29.18 {TkpDrawMenuEntry - separator} {pcOnly} {
  751.     catch {destroy .m1}
  752.     menu .m1
  753.     .m1 add separator
  754.     set tearoff [tk::TearOffMenu .m1 40 40]
  755.     list [update] [destroy .m1]
  756. } {{} {}}
  757. test winMenu-29.19 {TkpDrawMenuEntry - standard} {pcOnly} {
  758.     catch {destroy .mb}
  759.     menu .m1
  760.     .m1 add command -label foo
  761.     set tearoff [tk::TearOffMenu .m1 40 40]
  762.     list [update] [destroy .m1]
  763. } {{} {}}
  764. test winMenu-29.20 {TkpDrawMenuEntry - disabled cascade item} {pcOnly} {
  765.     catch {destroy .m1}
  766.     menu .m1
  767.     .m1 add cascade -label File -menu .m1.file
  768.     menu .m1.file
  769.     .m1.file add command -label foo
  770.     .m1 entryconfigure File -state disabled
  771.     set tearoff [tk::TearOffMenu .m1 40 40]
  772.     list [update] [destroy .m1]
  773. } {{} {}}
  774. test winMenu-29.21 {TkpDrawMenuEntry - indicator} {pcOnly} {
  775.     catch {destroy .m1}
  776.     menu .m1
  777.     .m1 add checkbutton -label winMenu-31.20
  778.     .m1 invoke winMenu-31.20
  779.     set tearoff [tk::TearOffMenu .m1 40 40]
  780.     list [update] [destroy .m1]
  781. } {{} {}}
  782. test winMenu-29.22 {TkpDrawMenuEntry - indicator} {pcOnly} {
  783.     catch {destroy .m1}
  784.     menu .m1
  785.     .m1 add checkbutton -label winMenu-31.21 -hidemargin 1
  786.     .m1 invoke winMenu-31.21
  787.     set tearoff [tk::TearOffMenu .m1 40 40]
  788.     list [update] [destroy .m1]
  789. } {{} {}}
  790. test winMenu-30.1 {GetMenuLabelGeometry - image} {testImageType pcOnly} {
  791.     catch {destroy .m1}
  792.     catch {image delete image1}
  793.     menu .m1
  794.     image create test image1
  795.     .m1 add command -image image1
  796.     list [update idletasks] [destroy .m1] [image delete image1]
  797. } {{} {} {}}
  798. test winMenu-30.2 {GetMenuLabelGeometry - bitmap} {pcOnly} {
  799.     catch {destroy .m1}
  800.     menu .m1
  801.     .m1 add command -bitmap questhead
  802.     list [update idletasks] [destroy .m1]
  803. } {{} {}}
  804. test winMenu-30.3 {GetMenuLabelGeometry - no text} {pcOnly} {
  805.     catch {destroy .m1}
  806.     menu .m1
  807.     .m1 add command
  808.     list [update idletasks] [destroy .m1]
  809. } {{} {}}
  810. test winMenu-30.4 {GetMenuLabelGeometry - text} {pcOnly} {
  811.     catch {destroy .m1}
  812.     menu .m1
  813.     .m1 add command -label "This is a test."
  814.     list [update idletasks] [destroy .m1]
  815. } {{} {}}
  816. test winMenu-31.1 {DrawMenuEntryBackground} {pcOnly} {
  817.     catch {destroy .m1}
  818.     menu .m1
  819.     .m1 add command -label foo
  820.     set tearoff [tk::TearOffMenu .m1 40 40]
  821.     list [update] [destroy .m1]
  822. } {{} {}}
  823. test winMenu-31.2 {DrawMenuEntryBackground} {pcOnly} {
  824.     catch {destroy .m1}
  825.     menu .m1
  826.     .m1 add command -label foo
  827.     set tearoff [tk::TearOffMenu .m1 40 40]
  828.     $tearoff activate 0
  829.     list [update] [destroy .m1]
  830. } {{} {}}
  831. test winMenu-32.1 {TkpComputeStandardMenuGeometry - no entries} {pcOnly} {
  832.     catch {destroy .m1}
  833.     menu .m1
  834.     list [update idletasks] [destroy .m1]
  835. } {{} {}}
  836. test winMenu-32.2 {TkpComputeStandardMenuGeometry - one entry} {pcOnly} {
  837.     catch {destroy .m1}
  838.     menu .m1
  839.     .m1 add command -label "one"
  840.     list [update idletasks] [destroy .m1]
  841. } {{} {}}
  842. test winMenu-32.3 {TkpComputeStandardMenuGeometry - more than one entry} {pcOnly} {
  843.     catch {destroy .m1}
  844.     menu .m1
  845.     .m1 add command -label "one"
  846.     .m1 add command -label "two"
  847.     list [update idletasks] [destroy .m1]
  848. } {{} {}}
  849. test winMenu-32.4 {TkpComputeStandardMenuGeometry - separator} {pcOnly} {
  850.     catch {destroy .m1}
  851.     menu .m1
  852.     .m1 add separator
  853.     list [update idletasks] [destroy .m1]
  854. } {{} {}}
  855. test winMenu-32.5 {TkpComputeStandardMenuGeometry - tearoff entry} {unixOnly} {
  856.     catch {destroy .m1}
  857.     menubutton .mb -text "test" -menu .mb.m
  858.     menu .mb.m
  859.     .mb.m add command -label test
  860.     pack .mb
  861.     catch {tk::MbPost .mb}
  862.     list [update] [destroy .mb]
  863. } {{} {}}
  864. test winMenu-32.6 {TkpComputeStandardMenuGeometry - standard label geometry} 
  865. {pcOnly} {
  866.     catch {destroy .m1}
  867.     menu .m1
  868.     .m1 add command -label "test"
  869.     list [update idletasks] [destroy .m1]
  870. } {{} {}}
  871. test winMenu-32.7 {TkpComputeStandardMenuGeometry - different font for entry} 
  872. {pcOnly} {
  873.     catch {destroy .m1}
  874.     menu .m1 -font "Helvetica 12"
  875.     .m1 add command -label "test" -font "Courier 12"
  876.     list [update idletasks] [destroy .m1]
  877. } {{} {}}
  878. test winMenu-32.8 {TkpComputeStandardMenuGeometry - second entry larger} 
  879. {pcOnly} {
  880.     catch {destroy .m1}
  881.     menu .m1
  882.     .m1 add command -label "test"
  883.     .m1 add command -label "test test"
  884.     list [update idletasks] [destroy .m1]
  885. } {{} {}}
  886. test winMenu-32.9 {TkpComputeStandardMenuGeometry - first entry larger} {pcOnly} {
  887.     catch {destroy .m1}
  888.     menu .m1
  889.     .m1 add command -label "test test"
  890.     .m1 add command -label "test"
  891.     list [update idletasks] [destroy .m1]
  892. } {{} {}}
  893. test winMenu-32.10 {TkpComputeStandardMenuGeometry - accelerator} {pcOnly} {
  894.     catch {destroy .m1}
  895.     menu .m1
  896.     .m1 add command -label "test" -accel "Ctrl+S"
  897.     list [update idletasks] [destroy .m1]
  898. } {{} {}}
  899. test winMenu-32.11 {TkpComputeStandardMenuGeometry - second accel larger} {pcOnly} {
  900.     catch {destroy .m1}
  901.     menu .m1
  902.     .m1 add command -label "test" -accel "1"
  903.     .m1 add command -label "test" -accel "1 1"
  904.     list [update idletasks] [destroy .m1]
  905. } {{} {}}
  906. test winMenu-32.12 {TkpComputeStandardMenuGeometry - second accel smaller} {pcOnly} {
  907.     catch {destroy .m1}
  908.     menu .m1
  909.     .m1 add command -label "test" -accel "1 1"
  910.     .m1 add command -label "test" -accel "1"
  911.     list [update idletasks] [destroy .m1]
  912. } {{} {}}
  913. test winMenu-32.13 {TkpComputeStandardMenuGeometry - indicator} {pcOnly} {
  914.     catch {destroy .m1}
  915.     menu .m1
  916.     .m1 add checkbutton -label test
  917.     .m1 invoke 1
  918.     list [update idletasks] [destroy .m1]
  919. } {{} {}}
  920. test winMenu-32.14 
  921. {TkpComputeStandardMenuGeometry - second indicator less or equal} 
  922. {testImageType pcOnly} {
  923.     catch {destroy .m1}
  924.     catch {image delete image1}
  925.     image create test image1
  926.     menu .m1
  927.     .m1 add checkbutton -image image1
  928.     .m1 invoke 1
  929.     .m1 add checkbutton -label test
  930.     .m1 invoke 2
  931.     list [update idletasks] [destroy .m1] [image delete image1]
  932. } {{} {} {}}
  933. test winMenu-32.15 {TkpComputeStandardMenuGeometry - second indicator larger} 
  934. {testImageType unixOnly} {
  935.     catch {destroy .m1}
  936.     catch {image delete image1}
  937.     image create test image1
  938.     menu .m1
  939.     .m1 add checkbutton -image image1
  940.     .m1 invoke 1
  941.     .m1 add checkbutton -label test
  942.     .m1 invoke 2
  943.     list [update idletasks] [destroy .m1] [image delete image1]
  944. } {{} {} {}}
  945. test winMenu-32.16 {TkpComputeStandardMenuGeometry - zero sized menus} 
  946. {pcOnly} {
  947.     catch {destroy .m1}
  948.     menu .m1 -tearoff 0
  949.     list [update idletasks] [destroy .m1]
  950. } {{} {}}
  951. test winMenu-32.17 {TkpComputeStandardMenuGeometry - first column bigger} 
  952. {pcOnly} {
  953.     catch {destroy .m1}
  954.     menu .m1
  955.     .m1 add command -label one
  956.     .m1 add command -label two
  957.     .m1 add command -label three -columnbreak 1
  958.     list [update idletasks] [destroy .m1]
  959. } {{} {}}
  960. test winMenu-32.18 {TkpComputeStandardMenuGeometry - second column bigger} 
  961. {pcOnly} {
  962.     catch {destroy .m1}
  963.     menu .m1 -tearoff 0
  964.     .m1 add command -label one
  965.     .m1 add command -label two -columnbreak 1
  966.     .m1 add command -label three
  967.     list [update idletasks] [destroy .m1]
  968. } {{} {}}
  969. test winMenu-32.19 {TkpComputeStandardMenuGeometry - three columns} {pcOnly} {
  970.     catch {destroy .m1}
  971.     menu .m1 -tearoff 0
  972.     .m1 add command -label one
  973.     .m1 add command -label two -columnbreak 1
  974.     .m1 add command -label three
  975.     .m1 add command -label four
  976.     .m1 add command -label five -columnbreak 1
  977.     .m1 add command -label six
  978.     list [update idletasks] [destroy .m1]    
  979. } {{} {}}
  980. test winMenu-33.1 {TkpNotifyTopLevelCreate - no menu yet} {pcOnly} {
  981.     catch {destroy .t2}
  982.     catch {destroy .m1}
  983.     toplevel .t2 -menu .m1
  984.     wm geometry .t2 +0+0
  985.     list [update idletasks] [destroy .t2]
  986. } {{} {}}
  987. test winMenu-33.2 {TkpNotifyTopLevelCreate - menu} {pcOnly} {
  988.     catch {destroy .t2}
  989.     catch {destroy .m1}
  990.     menu .m1
  991.     menu .m1.system
  992.     .m1 add cascade -menu .m1.system
  993.     .m1.system add separator
  994.     .m1.system add command -label foo
  995.     toplevel .t2 -menu .m1
  996.     wm geometry .t2 +0+0
  997.     list [update idletasks] [destroy .m1] [destroy .t2]
  998. } {{} {} {}}
  999. test winMenu-34.1 {TkpMenuInit called at boot time} {emptyTest pcOnly} {} {}
  1000. # cleanup
  1001. deleteWindows
  1002. ::tcltest::cleanupTests
  1003. return