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

通讯编程

开发平台:

Visual C++

  1. # This file is a Tcl script to test the Unix specific behavior of
  2. # labels, buttons, checkbuttons, and radiobuttons in Tk (i.e., all the
  3. # widgets defined in tkUnixButton.c).  It is organized in the standard
  4. # fashion for Tcl tests.
  5. #
  6. # Copyright (c) 1994 The Regents of the University of California.
  7. # Copyright (c) 1994-1997 Sun Microsystems, Inc.
  8. # Copyright (c) 1998-1999 by Scriptics Corporation.
  9. # All rights reserved.
  10. #
  11. # RCS: @(#) $Id: unixButton.test,v 1.6 2003/02/25 01:39:56 hobbs Exp $
  12. package require tcltest 2.1
  13. namespace import -force tcltest::configure
  14. namespace import -force tcltest::testsDirectory
  15. configure -testdir [file join [pwd] [file dirname [info script]]]
  16. configure -loadfile [file join [testsDirectory] constraints.tcl]
  17. tcltest::loadTestedCommands
  18. # Create entries in the option database to be sure that geometry options
  19. # like border width have predictable values.
  20.  
  21. option add *Label.borderWidth 2
  22. option add *Label.highlightThickness 0
  23. option add *Label.font {Helvetica -12 bold}
  24. option add *Button.borderWidth 2
  25. option add *Button.highlightThickness 2
  26. option add *Button.font {Helvetica -12 bold}
  27. option add *Checkbutton.borderWidth 2
  28. option add *Checkbutton.highlightThickness 2
  29. option add *Checkbutton.font {Helvetica -12 bold}
  30. option add *Radiobutton.borderWidth 2
  31. option add *Radiobutton.highlightThickness 2
  32. option add *Radiobutton.font {Helvetica -12 bold}
  33. proc bogusTrace args {
  34.     error "trace aborted"
  35. }
  36. catch {unset value}
  37. catch {unset value2}
  38. eval image delete [image names]
  39. label .l -text Label
  40. button .b -text Button
  41. checkbutton .c -text Checkbutton
  42. radiobutton .r -text Radiobutton
  43. pack .l .b .c .r
  44. update
  45. test unixbutton-1.1 {TkpComputeButtonGeometry procedure} {unix testImageType} {
  46.     deleteWindows
  47.     image create test image1
  48.     image1 changed 0 0 0 0 60 40
  49.     label .b1 -image image1 -bd 4 -padx 0 -pady 2
  50.     button .b2 -image image1 -bd 4 -padx 0 -pady 2
  51.     checkbutton .b3 -image image1 -bd 4 -padx 1 -pady 1
  52.     radiobutton .b4 -image image1 -bd 4 -padx 2 -pady 0
  53.     pack .b1 .b2 .b3 .b4
  54.     update
  55.     list [winfo reqwidth .b1] [winfo reqheight .b1] 
  56.     [winfo reqwidth .b2] [winfo reqheight .b2] 
  57.     [winfo reqwidth .b3] [winfo reqheight .b3] 
  58.     [winfo reqwidth .b4] [winfo reqheight .b4]
  59. } {68 48 74 54 112 52 112 52}
  60. test unixbutton-1.2 {TkpComputeButtonGeometry procedure} unix {
  61.     deleteWindows
  62.     label .b1 -bitmap question -bd 3 -padx 0 -pady 2
  63.     button .b2 -bitmap question -bd 3 -padx 0 -pady 2
  64.     checkbutton .b3 -bitmap question -bd 3 -padx 1 -pady 1
  65.     radiobutton .b4 -bitmap question -bd 3 -padx 2 -pady 0
  66.     pack .b1 .b2 .b3 .b4
  67.     update
  68.     list [winfo reqwidth .b1] [winfo reqheight .b1] 
  69.     [winfo reqwidth .b2] [winfo reqheight .b2] 
  70.     [winfo reqwidth .b3] [winfo reqheight .b3] 
  71.     [winfo reqwidth .b4] [winfo reqheight .b4]
  72. } {23 33 29 39 54 37 54 37}
  73. test unixbutton-1.3 {TkpComputeButtonGeometry procedure} unix {
  74.     deleteWindows
  75.     label .b1 -bitmap question -bd 3 -highlightthickness 4
  76.     button .b2 -bitmap question -bd 3 -highlightthickness 0
  77.     checkbutton .b3 -bitmap question -bd 3 -highlightthickness 1 
  78.     -indicatoron 0
  79.     radiobutton .b4 -bitmap question -bd 3 -highlightthickness 1 
  80. -indicatoron false
  81.     pack .b1 .b2 .b3 .b4
  82.     update
  83.     list [winfo reqwidth .b1] [winfo reqheight .b1] 
  84.     [winfo reqwidth .b2] [winfo reqheight .b2] 
  85.     [winfo reqwidth .b3] [winfo reqheight .b3] 
  86.     [winfo reqwidth .b4] [winfo reqheight .b4]
  87. } {31 41 25 35 25 35 25 35}
  88. test unixbutton-1.4 {TkpComputeButtonGeometry procedure} {unix nonPortable fonts} {
  89.     deleteWindows
  90.     label .b1 -text Xagqpim -padx 0 -pady 2 -font {Helvetica -18 bold}
  91.     button .b2 -text Xagqpim -padx 0 -pady 2 -font {Helvetica -18 bold}
  92.     checkbutton .b3 -text Xagqpim -padx 1 -pady 1 -font {Helvetica -18 bold}
  93.     radiobutton .b4 -text Xagqpim -padx 2 -pady 0 -font {Helvetica -18 bold}
  94.     pack .b1 .b2 .b3 .b4
  95.     update
  96.     list [winfo reqwidth .b1] [winfo reqheight .b1] 
  97.     [winfo reqwidth .b2] [winfo reqheight .b2] 
  98.     [winfo reqwidth .b3] [winfo reqheight .b3] 
  99.     [winfo reqwidth .b4] [winfo reqheight .b4]
  100. } {82 29 88 35 114 31 121 29}
  101. test unixbutton-1.5 {TkpComputeButtonGeometry procedure} {unix nonPortable fonts} {
  102.     deleteWindows
  103.     label .l1 -text "This is a long string that will wrap around on several lines.nnIt also has a blank line (above)." -wraplength 1.5i -padx 0 -pady 0
  104.     pack .l1
  105.     update
  106.     list [winfo reqwidth .l1] [winfo reqheight .l1]
  107. } {136 88}
  108. test unixbutton-1.6 {TkpComputeButtonGeometry procedure} {unix nonPortable fonts} {
  109.     deleteWindows
  110.     label .l1 -text "This is a long string without wrapping.nnIt also has a blank line (above)." -padx 0 -pady 0
  111.     pack .l1
  112.     update
  113.     list [winfo reqwidth .l1] [winfo reqheight .l1]
  114. } {231 46}
  115. test unixbutton-1.7 {TkpComputeButtonGeometry procedure} {unix nonPortable fonts} {
  116.     deleteWindows
  117.     label .b1 -text Xagqpim -bd 2 -padx 0 -pady 2 -width 10
  118.     button .b2 -text Xagqpim -bd 2 -padx 0 -pady 2 -height 5
  119.     checkbutton .b3 -text Xagqpim -bd 2 -padx 1 -pady 1 -width 20 -height 2
  120.     radiobutton .b4 -text Xagqpim -bd 2 -padx 2 -pady 0 -width 4
  121.     pack .b1 .b2 .b3 .b4
  122.     update
  123.     list [winfo reqwidth .b1] [winfo reqheight .b1] 
  124.     [winfo reqwidth .b2] [winfo reqheight .b2] 
  125.     [winfo reqwidth .b3] [winfo reqheight .b3] 
  126.     [winfo reqwidth .b4] [winfo reqheight .b4]
  127. } {74 22 60 84 168 38 61 22}
  128. test unixbutton-1.8 {TkpComputeButtonGeometry procedure} {unix nonPortable fonts} {
  129.     deleteWindows
  130.     label .b1 -text Xagqpim -bd 2 -padx 0 -pady 2 
  131. -highlightthickness 4
  132.     button .b2 -text Xagqpim -bd 2 -padx 0 -pady 2 
  133. -highlightthickness 0
  134.     checkbutton .b3 -text Xagqpim -bd 2 -padx 1 -pady 1  
  135. -highlightthickness 1 -indicatoron no
  136.     radiobutton .b4 -text Xagqpim -bd 2 -padx 2 -pady 0 -indicatoron 0
  137.     pack .b1 .b2 .b3 .b4
  138.     update
  139.     list [winfo reqwidth .b1] [winfo reqheight .b1] 
  140.     [winfo reqwidth .b2] [winfo reqheight .b2] 
  141.     [winfo reqwidth .b3] [winfo reqheight .b3] 
  142.     [winfo reqwidth .b4] [winfo reqheight .b4]
  143. } {62 30 56 24 58 22 62 22}
  144. test unixbutton-1.9 {TkpComputeButtonGeometry procedure} unix {
  145.     deleteWindows
  146.     button .b2 -bitmap question -default active
  147.     list [winfo reqwidth .b2] [winfo reqheight .b2]
  148. } {37 47}
  149. test unixbutton-1.10 {TkpComputeButtonGeometry procedure} unix {
  150.     deleteWindows
  151.     button .b2 -bitmap question -default normal
  152.     list [winfo reqwidth .b2] [winfo reqheight .b2]
  153. } {37 47}
  154. test unixbutton-1.11 {TkpComputeButtonGeometry procedure} unix {
  155.     deleteWindows
  156.     button .b2 -bitmap question -default disabled
  157.     list [winfo reqwidth .b2] [winfo reqheight .b2]
  158. } {27 37}
  159. test unixbutton-2.1 {disabled coloring check, bug 669595} unix {
  160.     # this was just a visual bug, but at least this shows the visual
  161.     deleteWindows
  162.     set on 1
  163.     set off 0
  164.     label .l -text "The following widgets should
  165.     nshow significant visible diffs
  166.     nfor selected vs unselected."
  167.     checkbutton .cb0 -anchor w -state disabled 
  168.     -text Unselected -variable off
  169.     checkbutton .cb1 -anchor w -state disabled 
  170.     -text Selected -variable on
  171.     checkbutton .cb2 -anchor w -state disabled 
  172.     -text Unselected -variable off -disabledforeground ""
  173.     checkbutton .cb3 -anchor w -state disabled 
  174.     -text Selected -variable on -disabledforeground ""
  175.     radiobutton .rb0 -anchor w -state disabled 
  176.     -text Unselected -variable off
  177.     radiobutton .rb1 -anchor w -state disabled 
  178.     -text Selected -variable on -value 1
  179.     radiobutton .rb2 -anchor w -state disabled 
  180.     -text Unselected -variable off -disabledforeground ""
  181.     radiobutton .rb3 -anchor w -state disabled 
  182.     -text Selected -variable on -value 1 -disabledforeground ""
  183.     pack .l .cb0 .cb1 .cb2 .cb3 .rb0 .rb1 .rb2 .rb3 -side top -fill x
  184.     after 400
  185.     set on
  186. } 1
  187. deleteWindows
  188. # cleanup
  189. ::tcltest::cleanupTests
  190. return