diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2008-12-11 14:13:33 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2008-12-11 14:13:33 (GMT) |
commit | 936a7590ee71857bd3d31be363540e25cf74a346 (patch) | |
tree | e8041b301a592f2008f9f59411a68d336889e1c7 /tests/zlib.test | |
parent | 07779703b451dce687221a6608d0bef01e3afde0 (diff) | |
download | tcl-936a7590ee71857bd3d31be363540e25cf74a346.zip tcl-936a7590ee71857bd3d31be363540e25cf74a346.tar.gz tcl-936a7590ee71857bd3d31be363540e25cf74a346.tar.bz2 |
Added basic test suite for zlib
Diffstat (limited to 'tests/zlib.test')
-rw-r--r-- | tests/zlib.test | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/tests/zlib.test b/tests/zlib.test new file mode 100644 index 0000000..2e66530 --- /dev/null +++ b/tests/zlib.test @@ -0,0 +1,104 @@ +# The file tests the tclZlib.c file. +# +# 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) 1996-1998 by Sun Microsystems, Inc. +# Copyright (c) 1998-1999 by Scriptics Corporation. +# +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: zlib.test,v 1.1 2008/12/11 14:13:33 dkf Exp $ + +if {[lsearch [namespace children] ::tcltest] == -1} { + package require tcltest 2.1 + namespace import -force ::tcltest::* +} + +test zlib-1.1 {zlib basics} -returnCodes error -body { + zlib +} -result {wrong # args: should be "zlib command arg ?...?"} +test zlib-1.2 {zlib basics} -returnCodes error -body { + zlib ? {} +} -result {bad command "?": must be adler32, compress, crc32, decompress, deflate, gunzip, gzip, inflate, stack, stream, or unstack} + +test zlib-2.1 {zlib compress/decompress} { + zlib decompress [zlib compress abcdefghijklm] +} abcdefghijklm + +test zlib-3.1 {zlib deflate/inflate} { + zlib inflate [zlib deflate abcdefghijklm] +} abcdefghijklm + +test zlib-4.1 {zlib gzip/gunzip} { + zlib gunzip [zlib gzip abcdefghijklm] +} abcdefghijklm + +test zlib-5.1 {zlib adler32} { + format %x [zlib adler32 abcdeabcdeabcdeabcdeabcdeabcde] +} b3b50b9b +test zlib-5.2 {zlib adler32} { + format %x [zlib adler32 abcdeabcdeabcdeabcdeabcdeabcde 42] +} b8830bc4 +test zlib-5.3 {zlib adler32} -returnCodes error -body { + zlib adler32 abcdeabcdeabcdeabcdeabcdeabcde 42 x +} -result {wrong # args: should be "zlib adler32 data ?startValue?"} + +test zlib-6.1 {zlib crc32} { + format %x [zlib crc32 abcdeabcdeabcdeabcdeabcdeabcde] +} 6f73e901 +test zlib-6.2 {zlib crc32} { + format %x [zlib crc32 abcdeabcdeabcdeabcdeabcdeabcde 42] +} ce1c4914 +test zlib-6.3 {zlib crc32} -returnCodes error -body { + zlib crc32 abcdeabcdeabcdeabcdeabcdeabcde 42 x +} -result {wrong # args: should be "zlib crc32 data ?startValue?"} + +test zlib-7.0 {zlib stream} -returnCodes error -setup { + set s [zlib stream compress] +} -body { + $s ? +} -cleanup { + $s close +} -result {bad option "?": must be add, adler32, close, eof, finalize, flush, fullflush, get, put, or reset} +test zlib-7.1 {zlib stream} { + set s [zlib stream compress] + $s put -finalize abcdeEDCBA + set data [$s get] + set result [list [$s get] [format %x [$s adler32]]] + $s close + lappend result [zlib decompress $data] +} {{} 136f033f abcdeEDCBA} +test zlib-7.2 {zlib stream} { + set s [zlib stream decompress] + $s put -finalize [zlib compress abcdeEDCBA] + set data [$s get] + set result [list [$s get] [format %x [$s adler32]]] + $s close + lappend result $data +} {{} 136f033f abcdeEDCBA} +test zlib-7.3 {zlib stream} { + set s [zlib stream deflate] + $s put -finalize abcdeEDCBA + set data [$s get] + set result [list [$s get] [format %x [$s adler32]]] + $s close + lappend result [zlib inflate $data] +} {{} 1 abcdeEDCBA} +test zlib-7.4 {zlib stream} { + set s [zlib stream inflate] + $s put -finalize [zlib deflate abcdeEDCBA] + set data [$s get] + set result [list [$s get] [format %x [$s adler32]]] + $s close + lappend result $data +} {{} 1 abcdeEDCBA} + +::tcltest::cleanupTests +return + +# Local Variables: +# mode: tcl +# End: |