1 # The file tests the jim-zlib.c file; based on tests/zlib.test from Tcl 8.6.
3 # This file contains a collection of tests for one or more of the Tcl built-in
4 # commands. Sourcing this file into Tcl runs the tests and generates output
5 # for errors. No output means no errors were found.
7 # Copyright (c) 1996-1998 by Sun Microsystems, Inc.
8 # Copyright (c) 1998-1999 by Scriptics Corporation.
10 # See the file "license.terms" for information on usage and redistribution of
11 # this file, and for a DISCLAIMER OF ALL WARRANTIES.
13 source [file dirname [info script]]/testing.tcl
14 source [file dirname [info script]]/testing.tcl
18 test zlib-1.1 {zlib deflate usage 1} -returnCodes error -body {
20 } -result {wrong # args: should be "zlib deflate string ?level?"}
22 test zlib-1.2 {zlib deflate usage 2} -returnCodes error -body {
24 } -result {expected integer but got "b"}
26 test zlib-1.3 {zlib deflate usage 3} -returnCodes error -body {
28 } -result {wrong # args: should be "zlib deflate string ?level?"}
30 test zlib-1.4 {zlib inflate usage 1} -returnCodes error -body {
32 } -result {wrong # args: should be "zlib inflate data ?bufferSize?"}
34 test zlib-1.5 {zlib inflate usage 2} -returnCodes error -body {
35 zlib inflate afdfdfdsfdsfsd
36 } -result {invalid stored block lengths}
38 test zlib-1.6 {zlib inflate usage 3} -returnCodes error -body {
39 zlib inflate afdfdfdsfdsfsd f
40 } -result {expected integer but got "f"}
42 test zlib-1.7 {zlib inflate usage 4} -returnCodes error -body {
43 zlib inflate afdfdfdsfdsfsd 0
44 } -result {buffer size must be 0 to 2147483647}
46 test zlib-2.1 {zlib deflate/inflate} {
47 zlib inflate [zlib deflate abcdefghijklm]
50 test zlib-2.2 {zlib deflate/inflate level and size known} {
51 zlib inflate [zlib deflate abcdefghijklm 9] 13
54 test zlib-2.3 {zlib deflate/inflate bad size} -returnCodes error -body {
55 zlib inflate [zlib deflate abcdefghijklm 9] 0
56 } -result {buffer size must be 0 to 2147483647}
58 test zlib-2.4 {zlib deflate/inflate wrong size} {
59 zlib inflate [zlib deflate abcdefghijklm] 6
62 test zlib-3.1 {zlib gunzip usage 1} -returnCodes error -body {
64 } -result {wrong # args: should be "zlib gunzip data ?-buffersize size?"}
66 test zlib-3.2 {zlib gunzip usage 2} -returnCodes error -body {
68 } -result {incorrect header check}
70 test zlib-3.3 {zlib gunzip usage 3} -returnCodes error -body {
72 } -result {wrong # args: should be "zlib gunzip data ?-buffersize size?"}
74 test zlib-3.4 {zlib gunzip usage 4} -returnCodes error -body {
75 zlib gunzip aaa -buffersize
76 } -result {wrong # args: should be "zlib gunzip data ?-buffersize size?"}
78 test zlib-3.5 {zlib gunzip usage 5} -returnCodes error -body {
79 zlib gunzip aaa -buffersize a
80 } -result {wrong # args: should be "zlib gunzip data ?-buffersize size?"}
82 test zlib-3.6 {zlib gunzip usage 5} -returnCodes error -body {
83 zlib gunzip aaa -buffersize a
84 } -result {wrong # args: should be "zlib gunzip data ?-buffersize size?"}
86 test zlib-3.7 {zlib gunzip usage 6} -returnCodes error -body {
87 zlib gunzip aaa -buffersize 0
88 } -result {buffer size must be 0 to 2147483647}
90 test zlib-3.8 {zlib gzip usage 1} -returnCodes error -body {
92 } -result {wrong # args: should be "zlib gzip data ?-level level?"}
94 test zlib-3.9 {zlib gzip usage 2} -returnCodes error -body {
96 } -result {wrong # args: should be "zlib gzip data ?-level level?"}
98 test zlib-3.10 {zlib gzip usage 3} -returnCodes error -body {
100 } -result {wrong # args: should be "zlib gzip data ?-level level?"}
102 test zlib-3.11 {zlib gzip usage 4} -returnCodes error -body {
104 } -result {wrong # args: should be "zlib gzip data ?-level level?"}
106 test zlib-3.7 {zlib gunzip bad option} -returnCodes error -body {
107 zlib gunzip aaa -badoption
108 } -result {wrong # args: should be "zlib gunzip data ?-buffersize size?"}
110 test zlib-4.1 {zlib gzip/gunzip} {
111 zlib gunzip [zlib gzip abcdefghijklm]
114 test zlib-4.2 {zlib gzip/gunzip level and chunk size} {
115 zlib gunzip [zlib gzip abcdefghijklm -level 9] -buffersize 128
118 test zlib-4.3 {zlib gzip/gunzip bad level } -body {
119 zlib gzip abcdefghijklm -level -5
120 } -returnCodes error -result {level must be 0 to 9}
122 test zlib-4.4 {zlib gzip/gunzip bad level } -body {
123 zlib gzip abcdefghijklm -level 10
124 } -returnCodes error -result {level must be 0 to 9}
126 test zlib-4.5 {zlib gzip/gunzip non-int level } -body {
127 zlib gzip abcdefghijklm -level "abc"
128 } -returnCodes error -result {wrong # args: should be "zlib gzip data ?-level level?"}
130 test zlib-5.1 {zlib crc32} {
131 format %x [expr {[zlib crc32 abcdeabcdeabcdeabcdeabcdeabcde] & 0xffffffff}]
134 test zlib-5.2 {zlib crc32} {
135 format %x [expr {[zlib crc32 abcdeabcdeabcdeabcdeabcdeabcde 42] & 0xffffffff}]
138 test zlib-5.3 {zlib crc32 non-int arg} -body {
139 zlib crc32 abcdeabcdeabcdeabcdeabcdeabcde "abc"
140 } -returnCodes error -result {expected integer but got "abc"}