diff options
Diffstat (limited to 'tk8.6/tests/winClipboard.test')
-rw-r--r-- | tk8.6/tests/winClipboard.test | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/tk8.6/tests/winClipboard.test b/tk8.6/tests/winClipboard.test new file mode 100644 index 0000000..2f72966 --- /dev/null +++ b/tk8.6/tests/winClipboard.test @@ -0,0 +1,124 @@ +# This file is a Tcl script to test out Tk's Windows specific +# clipboard code. It is organized in the standard fashion for Tcl +# tests. +# +# This file contains a collection of tests for one or more of the Tcl +# built-in commands. Sourcing this file into Tcl runs the tests and +# generates output for errors. No output means no errors were found. +# +# Copyright (c) 1997 by Sun Microsystems, Inc. +# Copyright (c) 1998-2000 by Scriptics Corporation. +# All rights reserved. + +package require tcltest 2.2 +eval tcltest::configure $argv +tcltest::loadTestedCommands +namespace import -force tcltest::test + +################################################################# +# Note that some of these tests may fail if another application # +# is grabbing the clipboard (e.g. an X server, or a VNC viewer) # +################################################################# + +test winClipboard-1.1 {TkSelGetSelection} -constraints win -setup { + clipboard clear +} -body { + selection get -selection CLIPBOARD +} -cleanup { + clipboard clear +} -returnCodes error -result {CLIPBOARD selection doesn't exist or form "STRING" not defined} + +test winClipboard-1.2 {TkSelGetSelection} -constraints { + win testclipboard +} -setup { + clipboard clear +} -body { + clipboard append {} + list [selection get -selection CLIPBOARD] [testclipboard] +} -cleanup { + clipboard clear +} -result {{} {}} + +test winClipboard-1.3 {TkSelGetSelection & TkWinClipboardRender} -constraints { + win testclipboard +} -setup { + clipboard clear +} -body { + clipboard append abcd + update + list [selection get -selection CLIPBOARD] [testclipboard] +} -cleanup { + clipboard clear +} -result {abcd abcd} + +test winClipboard-1.4 {TkSelGetSelection & TkWinClipboardRender} -constraints { + win testclipboard +} -setup { + clipboard clear +} -body { + set map [list "\r" "\\r" "\n" "\\n"] + clipboard append "line 1\nline 2" + list [string map $map [selection get -selection CLIPBOARD]]\ + [string map $map [testclipboard]] +} -cleanup { + clipboard clear +} -result [list "line 1\\nline 2" "line 1\\nline 2"] + +test winClipboard-1.5 {TkSelGetSelection & TkWinClipboardRender} -constraints { + win testclipboard +} -setup { + clipboard clear +} -body { + set map [list "\r" "\\r" "\n" "\\n"] + clipboard append "line 1\u00c7\nline 2" + list [string map $map [selection get -selection CLIPBOARD]]\ + [string map $map [testclipboard]] +} -cleanup { + clipboard clear +} -result [list "line 1\u00c7\\nline 2" "line 1\u00c7\\nline 2"] + +test winClipboard-1.6 {TkSelGetSelection & TkWinClipboardRender} -constraints { + win testclipboard +} -setup { + clipboard clear +} -body { + clipboard append "\u043f\u0440\u0438\u0432\u0435\u0442 \u043c\u0438\u0444" + list [selection get -selection CLIPBOARD] [testclipboard] +} -cleanup { + clipboard clear +} -result [list "\u043f\u0440\u0438\u0432\u0435\u0442 \u043c\u0438\u0444"\ + "\u043f\u0440\u0438\u0432\u0435\u0442 \u043c\u0438\u0444"] + +test winClipboard-2.1 {TkSelUpdateClipboard reentrancy problem} -constraints { + win testclipboard +} -setup { + clipboard clear +} -body { + clipboard append -type OUR_ACTION "action data" + clipboard append "string data" + update + list [selection get -selection CLIPBOARD -type OUR_ACTION] [testclipboard] +} -cleanup { + clipboard clear +} -result {{action data} {string data}} + +test winClipboard-2.2 {TkSelUpdateClipboard reentrancy problem} -constraints { + win testclipboard +} -setup { + clipboard clear +} -body { + clipboard append -type OUR_ACTION "new data" + clipboard append "more data in string" + update + list [testclipboard] [selection get -selection CLIPBOARD -type OUR_ACTION] +} -cleanup { + clipboard clear +} -result {{more data in string} {new data}} + +# cleanup +cleanupTests +return + +# Local variables: +# mode: tcl +# End: |