diff options
author | rjohnson <rjohnson> | 1998-04-01 09:51:44 (GMT) |
---|---|---|
committer | rjohnson <rjohnson> | 1998-04-01 09:51:44 (GMT) |
commit | 066ea7fd88d49cb456f74da71dbe875e4fc0aabb (patch) | |
tree | 8fb30cb152c4dc191be47fa043d2e6f5ea38c7ba /tests/imgPPM.test | |
parent | 13242623d2ff3ea02ab6a62bfb48a7dbb5c27e22 (diff) | |
download | tk-066ea7fd88d49cb456f74da71dbe875e4fc0aabb.zip tk-066ea7fd88d49cb456f74da71dbe875e4fc0aabb.tar.gz tk-066ea7fd88d49cb456f74da71dbe875e4fc0aabb.tar.bz2 |
Initial revision
Diffstat (limited to 'tests/imgPPM.test')
-rw-r--r-- | tests/imgPPM.test | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/tests/imgPPM.test b/tests/imgPPM.test new file mode 100644 index 0000000..044a274 --- /dev/null +++ b/tests/imgPPM.test @@ -0,0 +1,156 @@ +# This file is a Tcl script to test out the code in tkImgFmtPPM.c, +# which reads and write PPM-format image files for photo widgets. +# The files is organized in the standard fashion for Tcl tests. +# +# Copyright (c) 1994-1997 Sun Microsystems, Inc. +# +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# SCCS: @(#) imgPPM.test 1.14 97/10/28 14:47:05 + +if {[info procs test] != "test"} { + source defs +} + +foreach i [winfo children .] { + destroy $i +} +wm geometry . {} +raise . + +eval image delete [image names] + +proc put {file data} { + set f [open $file w] + fconfigure $f -translation lf + puts -nonewline $f $data + close $f +} + +test imgPPM-1.1 {FileReadPPM procedure} { + put test.ppm "P6\n0 256\n255\nabcdef" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {PPM image file "test.ppm" has dimension(s) <= 0}} +test imgPPM-1.2 {FileReadPPM procedure} { + put test.ppm "P6\n-2 256\n255\nabcdef" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {PPM image file "test.ppm" has dimension(s) <= 0}} +test imgPPM-1.3 {FileReadPPM procedure} { + put test.ppm "P6\n10 0\n255\nabcdef" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {PPM image file "test.ppm" has dimension(s) <= 0}} +test imgPPM-1.4 {FileReadPPM procedure} { + put test.ppm "P6\n10 -2\n255\nabcdef" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {PPM image file "test.ppm" has dimension(s) <= 0}} +test imgPPM-1.5 {FileReadPPM procedure} { + put test.ppm "P6\n10 20\n256\nabcdef" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {PPM image file "test.ppm" has bad maximum intensity value 256}} +test imgPPM-1.6 {FileReadPPM procedure} { + put test.ppm "P6\n10 20\n0\nabcdef" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {PPM image file "test.ppm" has bad maximum intensity value 0}} +test imgPPM-1.7 {FileReadPPM procedure} { + put test.ppm "P6\n10 10\n255\nabcdef" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {error reading PPM image file "test.ppm": not enough data}} +test imgPPM-1.8 {FileReadPPM procedure} { + put test.ppm "P6\n5 4\n255\n01234567890123456789012345678901234567890123456789012345678" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {error reading PPM image file "test.ppm": not enough data}} +test imgPPM-1.9 {FileReadPPM procedure} { + put test.ppm "P6\n5 4\n150\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg \ + [image width p1] [image height p1] +} {0 p1 5 4} + +catch {image delete p1} +put test.ppm "P6\n5 4\n255\n012345678901234567890123456789012345678901234567890123456789" +image create photo p1 -file test.ppm +test imgPPM-2.1 {FileWritePPM procedure} { + list [catch {p1 write not_a_dir/bar/baz/gorp} msg] [string tolower $msg] \ + [string tolower $errorCode] +} {1 {couldn't open "not_a_dir/bar/baz/gorp": no such file or directory} {posix enoent {no such file or directory}}} +test imgPPM-2.2 {FileWritePPM procedure} { + catch {unset data} + p1 write test2.ppm + set fd [open test2.ppm] + set data [read $fd] + close $fd + set data +} {P6 +5 4 +255 +012345678901234567890123456789012345678901234567890123456789} + +test imgPPM-3.1 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "# \n#\n#\nP6\n#\n##\n5 4\n255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {0 p1} +test imgPPM-3.2 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P6\n5\n 4 255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {0 p1} +test imgPPM-3.3 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P6\n# asdfasdf\n5 4\n255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {0 p1} +test imgPPM-3.4 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P6 \n5 4\n255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {0 p1} +test imgPPM-3.5 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P5\n5 4\n255\n01234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {0 p1} +test imgPPM-3.6 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P3\n5 4\n255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} +test imgPPM-3.7 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P6x\n5 4\n255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} +test imgPPM-3.8 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P6\nxy5 4\n255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} +test imgPPM-3.9 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P6\n5\n255\n!012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} +test imgPPM-3.10 {ReadPPMFileHeader procedure} { + catch {image delete p1} + put test.ppm "P6\n5 4\nzz255\n012345678901234567890123456789012345678901234567890123456789" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} +test imgPPM-3.11 {ReadPPMFileHeader procedure, empty file} { + catch {image delete p1} + put test.ppm " " + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} +test imgPPM-3.12 {ReadPPMFileHeader procedure, file ends too soon} { + catch {image delete p1} + put test.ppm "P6\n566" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} +test imgPPM-3.13 {ReadPPMFileHeader procedure, file ends too soon} { + catch {image delete p1} + put test.ppm "P6\n566\n#asdf" + list [catch {image create photo p1 -file test.ppm} msg] $msg +} {1 {couldn't recognize data in image file "test.ppm"}} + +removeFile test.ppm +removeFile test2.ppm +eval image delete [image names] |