diff options
Diffstat (limited to 'tk8.6/tests/bitmap.test')
-rw-r--r-- | tk8.6/tests/bitmap.test | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/tk8.6/tests/bitmap.test b/tk8.6/tests/bitmap.test new file mode 100644 index 0000000..fea675d --- /dev/null +++ b/tk8.6/tests/bitmap.test @@ -0,0 +1,114 @@ +# This file is a Tcl script to test out the procedures in the file +# tkBitmap.c. It is organized in the standard white-box fashion for +# Tcl tests. +# +# Copyright (c) 1998 Sun Microsystems, Inc. +# Copyright (c) 1998-1999 by Scriptics Corporation. +# All rights reserved. + +package require tcltest 2.2 +namespace import ::tcltest::* +eval tcltest::configure $argv +tcltest::loadTestedCommands + +test bitmap-1.1 {Tk_AllocBitmapFromObj - converting internal reps} -constraints { + testbitmap +} -body { + set x gray25 + lindex $x 0 + button .b -bitmap $x + lindex $x 0 + testbitmap gray25 +} -cleanup { + destroy .b +} -result {{1 0}} +test bitmap-1.2 {Tk_AllocBitmapFromObj - discard stale bitmap} -constraints { + testbitmap +} -setup { + set result {} +} -body { + set x gray25 + button .b1 -bitmap $x + destroy .b1 + lappend result [testbitmap gray25] + button .b2 -bitmap $x + lappend result [testbitmap gray25] +} -cleanup { + destroy .b1 .b2 +} -result {{} {{1 1}}} +test bitmap-1.3 {Tk_AllocBitmapFromObj - reuse existing bitmap} -constraints { + testbitmap +} -setup { + set result {} +} -body { + set x gray25 + button .b1 -bitmap $x + lappend result [testbitmap gray25] + button .b2 -bitmap $x + pack .b1 .b2 -side top + lappend result [testbitmap gray25] +} -cleanup { + destroy .b1 .b2 +} -result {{{1 1}} {{2 1}}} + +test bitmap-2.1 {Tk_GetBitmap procedure} -body { + button .b1 -bitmap bad_name +} -cleanup { + destroy .b1 +} -returnCodes error -result {bitmap "bad_name" not defined} +test bitmap-2.2 {Tk_GetBitmap procedure} -body { + button .b1 -bitmap @xyzzy +} -cleanup { + destroy .b1 +} -returnCodes error -result {error reading bitmap file "xyzzy"} + +test bitmap-3.1 {Tk_FreeBitmapFromObj - reference counts} -constraints { + testbitmap +} -setup { + set result {} +} -body { + set x questhead + button .b1 -bitmap $x + button .b3 -bitmap $x + button .b2 -bitmap $x + lappend result [testbitmap questhead] + destroy .b1 + lappend result [testbitmap questhead] + destroy .b2 + lappend result [testbitmap questhead] + destroy .b3 + lappend result [testbitmap questhead] +} -cleanup { + destroy .b1 .b2 .b3 ;# destroying just in case +} -result {{{3 1}} {{2 1}} {{1 1}} {}} + +test bitmap-4.1 {FreeBitmapObjProc} -constraints { + testbitmap +} -setup { + proc copy {s} {return [string index $s 0][string range $s 1 end]} +} -body { + set x [copy questhead] + button .b -bitmap $x + set y [copy questhead] + .b configure -bitmap $y + set z [copy questhead] + .b configure -bitmap $z + set result {} + lappend result [testbitmap questhead] + set x red + lappend result [testbitmap questhead] + set z 32 + lappend result [testbitmap questhead] + destroy .b + lappend result [testbitmap questhead] + set y bogus + return $result +} -cleanup { + rename copy {} + destroy .b +} -result {{{1 3}} {{1 2}} {{1 1}} {}} + + +# cleanup +cleanupTests +return |