# 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 these tests may fail if another application is grabbing the # clipboard (e.g. an X server) 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: