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

通讯编程

开发平台:

Visual C++

  1. # This file is a Tcl script to test out Tk's Windows specific
  2. # clipboard code.  It is organized in the standard fashion for Tcl
  3. # tests.
  4. #
  5. # This file contains a collection of tests for one or more of the Tcl
  6. # built-in commands.  Sourcing this file into Tcl runs the tests and
  7. # generates output for errors.  No output means no errors were found.
  8. #
  9. # Copyright (c) 1997 by Sun Microsystems, Inc.
  10. # Copyright (c) 1998-2000 by Scriptics Corporation.
  11. # All rights reserved.
  12. #
  13. # RCS: @(#) $Id: winClipboard.test,v 1.11 2002/07/13 20:28:36 dgp Exp $
  14. package require tcltest 2.1
  15. namespace import -force tcltest::configure
  16. namespace import -force tcltest::testsDirectory
  17. configure -testdir [file join [pwd] [file dirname [info script]]]
  18. configure -loadfile [file join [testsDirectory] constraints.tcl]
  19. tcltest::loadTestedCommands
  20. namespace import -force tcltest::bytestring
  21. # Note that these tests may fail if another application is grabbing the
  22. # clipboard (e.g. an X server)
  23. testConstraint testclipboard [llength [info commands testclipboard]]
  24. test winClipboard-1.1 {TkSelGetSelection} {pcOnly} {
  25.     clipboard clear
  26.     catch {selection get -selection CLIPBOARD} msg
  27.     set msg
  28. } {CLIPBOARD selection doesn't exist or form "STRING" not defined}
  29. test winClipboard-1.2 {TkSelGetSelection} {pcOnly testclipboard} {
  30.     clipboard clear
  31.     clipboard append {}
  32.     catch {selection get -selection CLIPBOARD} r1
  33.     catch {testclipboard} r2
  34.     list $r1 $r2
  35. } {{} {}}
  36. test winClipboard-1.3 {TkSelGetSelection & TkWinClipboardRender} {pcOnly testclipboard} {
  37.     clipboard clear
  38.     clipboard append abcd
  39.     update
  40.     catch {selection get -selection CLIPBOARD} r1
  41.     catch {testclipboard} r2
  42.     list $r1 $r2
  43. } {abcd abcd}
  44. test winClipboard-1.4 {TkSelGetSelection & TkWinClipboardRender} {pcOnly testclipboard} {
  45.     clipboard clear
  46.     clipboard append "line 1nline 2"
  47.     catch {selection get -selection CLIPBOARD} r1
  48.     catch {testclipboard} r2
  49.     list $r1 $r2
  50. } [list "line 1nline 2" "line 1rnline 2"]
  51. test winClipboard-1.5 {TkSelGetSelection & TkWinClipboardRender} {pcOnly testclipboard} {
  52.     clipboard clear
  53.     clipboard append "line 1u00c7nline 2"
  54.     catch {selection get -selection CLIPBOARD} r1
  55.     catch {testclipboard} r2
  56.     list $r1 $r2
  57. } [list "line 1u00c7nline 2" [bytestring "line 1u00c7rnline 2"]]
  58. test winClipboard-2.1 {TkSelUpdateClipboard reentrancy problem} {pcOnly testclipboard} {
  59.     clipboard clear
  60.     clipboard append -type OUR_ACTION "action data"
  61.     clipboard append "string data"
  62.     update
  63.     catch {selection get -selection CLIPBOARD -type OUR_ACTION} r1
  64.     catch {testclipboard} r2
  65.     list $r1 $r2
  66. } [list "action data" "string data"]
  67. test winClipboard-2.2 {TkSelUpdateClipboard reentrancy problem} {pcOnly testclipboard} {
  68.     clipboard clear
  69.     clipboard append -type OUR_ACTION "new data"
  70.     clipboard append "more data in string"
  71.     update
  72.     catch {testclipboard} r1
  73.     catch {selection get -selection CLIPBOARD -type OUR_ACTION} r2
  74.     list $r1 $r2
  75. } [list "more data in string" "new data"]
  76. # cleanup
  77. ::tcltest::cleanupTests
  78. return