141 lines
6.1 KiB
Plaintext
141 lines
6.1 KiB
Plaintext
# 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 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.11 96/08/26 10:46:34
|
|
|
|
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]
|
|
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 {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"}}
|
|
|
|
removeFile test.ppm
|
|
removeFile test2.ppm
|
|
eval image delete [image names]
|