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

通讯编程

开发平台:

Visual C++

  1. # Tests for the grab command.
  2. #
  3. # This file contains a collection of tests for one or more of the Tk
  4. # built-in commands.  Sourcing this file runs the tests and
  5. # generates output for errors.  No output means no errors were found.
  6. #
  7. # Copyright (c) 1998-2000 by Ajuba Solutions.
  8. # All rights reserved.
  9. #
  10. # RCS: @(#) $Id: grab.test,v 1.2 2002/07/13 21:52:34 dgp 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. # There's currently no way to test the actual grab effect, per se,
  18. # in an automated test.  Therefore, this test suite only covers the
  19. # interface to the grab command (ie, error messages, etc.)
  20. test grab-1.1 {Tk_GrabObjCmd} {
  21.     list [catch {grab} msg] $msg
  22. } [list 1 "wrong # args: should be "grab ?-global? window" or "grab option ?arg arg ...?""]
  23. test grab-1.2 {Tk_GrabObjCmd} {
  24.     rename grab grabTest1.2
  25.     set res [list [catch {grabTest1.2} msg] $msg]
  26.     rename grabTest1.2 grab
  27.     set res
  28. } [list 1 "wrong # args: should be "grabTest1.2 ?-global? window" or "grabTest1.2 option ?arg arg ...?""]
  29. test grab-1.3 {Tk_GrabObjCmd, "grab ?-global? window"} {
  30.     list [catch {grab .foo bar baz} msg] $msg
  31. } [list 1 "wrong # args: should be "grab ?-global? window""]
  32. test grab-1.4 {Tk_GrabObjCmd, "grab ?-global? window"} {
  33.     catch {destroy .foo}
  34.     list [catch {grab .foo} msg] $msg
  35. } [list 1 "bad window path name ".foo""]
  36. test grab-1.5 {Tk_GrabObjCmd, "grab ?-global? window"} {
  37.     list [catch {grab -foo bar} msg] $msg
  38. } [list 1 "bad option "-foo": must be -global"]
  39. test grab-1.6 {Tk_GrabObjCmd, "grab ?-global? window"} {
  40.     catch {destroy .foo}
  41.     list [catch {grab -global .foo} msg] $msg
  42. } [list 1 "bad window path name ".foo""]
  43. test grab-1.7 {Tk_GrabObjCmd} {
  44.     list [catch {grab foo} msg] $msg
  45. } [list 1 "bad option "foo": must be current, release, set, or status"]
  46. test grab-1.8 {Tk_GrabObjCmd, "grab current ?window?"} {
  47.     list [catch {grab current foo bar} msg] $msg
  48. } [list 1 "wrong # args: should be "grab current ?window?""]
  49. test grab-1.9 {Tk_GrabObjCmd, "grab current ?window?"} {
  50.     catch {destroy .foo}
  51.     list [catch {grab current .foo} msg] $msg
  52. } [list 1 "bad window path name ".foo""]
  53. test grab-1.10 {Tk_GrabObjCmd, "grab release window"} {
  54.     list [catch {grab release} msg] $msg
  55. } [list 1 "wrong # args: should be "grab release window""]
  56. test grab-1.11 {Tk_GrabObjCmd, "grab release window"} {
  57.     catch {destroy .foo}
  58.     list [catch {grab release .foo} msg] $msg
  59. } [list 0 ""]
  60. test grab-1.12 {Tk_GrabObjCmd, "grab release window"} {
  61.     list [catch {grab release foo} msg] $msg
  62. } [list 0 ""]
  63. test grab-1.13 {Tk_GrabObjCmd, "grab set ?-global? window"} {
  64.     list [catch {grab set} msg] $msg
  65. } [list 1 "wrong # args: should be "grab set ?-global? window""]
  66. test grab-1.14 {Tk_GrabObjCmd, "grab set ?-global? window"} {
  67.     list [catch {grab set foo bar baz} msg] $msg
  68. } [list 1 "wrong # args: should be "grab set ?-global? window""]
  69. test grab-1.15 {Tk_GrabObjCmd, "grab set ?-global? window"} {
  70.     catch {destroy .foo}
  71.     list [catch {grab set .foo} msg] $msg
  72. } [list 1 "bad window path name ".foo""]
  73. test grab-1.16 {Tk_GrabObjCmd, "grab set ?-global? window"} {
  74.     list [catch {grab set -foo bar} msg] $msg
  75. } [list 1 "bad option "-foo": must be -global"]
  76. test grab-1.17 {Tk_GrabObjCmd, "grab set ?-global? window"} {
  77.     catch {destroy .foo}
  78.     list [catch {grab set -global .foo} msg] $msg
  79. } [list 1 "bad window path name ".foo""]
  80. test grab-1.18 {Tk_GrabObjCmd, "grab status window"} {
  81.     list [catch {grab status} msg] $msg
  82. } [list 1 "wrong # args: should be "grab status window""]
  83. test grab-1.19 {Tk_GrabObjCmd, "grab status window"} {
  84.     list [catch {grab status foo bar} msg] $msg
  85. } [list 1 "wrong # args: should be "grab status window""]
  86. test grab-1.20 {Tk_GrabObjCmd, "grab status window"} {
  87.     catch {destroy .foo}
  88.     list [catch {grab status .foo} msg] $msg
  89. } [list 1 "bad window path name ".foo""]
  90. test grab-2.1 {Tk_GrabObjCmd, grab status gives correct status} {
  91.     set curr [grab current .]
  92.     if { [string length $curr] > 0 } {
  93. grab release $curr
  94.     }
  95.     set result [grab status .]
  96.     grab release .
  97.     set result
  98. } "none"
  99. test grab-2.2 {Tk_GrabObjCmd, grab status gives correct status} {
  100.     set curr [grab current .]
  101.     if { [string length $curr] > 0 } {
  102. grab release $curr
  103.     }
  104.     grab .
  105.     set result [grab status .]
  106.     grab release .
  107.     set result
  108. } "local"
  109. test grab-2.3 {Tk_GrabObjCmd, grab status gives correct status} {
  110.     set curr [grab current .]
  111.     if { [string length $curr] > 0 } {
  112. grab release $curr
  113.     }
  114.     grab -global .
  115.     set result [grab status .]
  116.     grab release .
  117.     set result
  118. } "global"
  119. test grab-3.1 {Tk_GrabObjCmd, grab current gives correct information} {
  120.     set curr [grab current .]
  121.     if { [string length $curr] > 0 } {
  122. grab release $curr
  123.     }
  124.     set curr
  125. } ""
  126. test grab-3.2 {Tk_GrabObjCmd, grab current gives correct information} {
  127.     set curr [grab current .]
  128.     if { [string length $curr] > 0 } {
  129. grab release $curr
  130.     }
  131.     grab .
  132.     set curr [grab current]
  133.     grab release .
  134.     set curr
  135. } "."
  136. test grab-4.1 {Tk_GrabObjCmd, grab release releases grab} {
  137.     set curr [grab current .]
  138.     if { [string length $curr] > 0 } {
  139. grab release $curr
  140.     }
  141.     grab .
  142.     set result [grab status .]
  143.     grab release .
  144.     lappend result [grab status .]
  145.     grab -global .
  146.     lappend result [grab status .]
  147.     grab release .
  148.     lappend result [grab status .]
  149. } [list "local" "none" "global" "none"]
  150. test grab-5.1 {Tk_GrabObjCmd, grab set} {
  151.     set curr [grab current .]
  152.     if { [string length $curr] > 0 } {
  153. grab release $curr
  154.     }
  155.     grab set .
  156.     set result [list [grab current .] [grab status .]]
  157.     grab release .
  158.     set result
  159. } [list "." "local"]
  160. test grab-5.2 {Tk_GrabObjCmd, grab set} {
  161.     set curr [grab current .]
  162.     if { [string length $curr] > 0 } {
  163. grab release $curr
  164.     }
  165.     grab set -global .
  166.     set result [list [grab current .] [grab status .]]
  167.     grab release .
  168.     set result
  169. } [list "." "global"]
  170. tcltest::cleanupTests
  171. return