summaryrefslogtreecommitdiff
path: root/Build/source/libs/luazlib/test_zlib.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/luazlib/test_zlib.lua')
-rw-r--r--Build/source/libs/luazlib/test_zlib.lua106
1 files changed, 106 insertions, 0 deletions
diff --git a/Build/source/libs/luazlib/test_zlib.lua b/Build/source/libs/luazlib/test_zlib.lua
new file mode 100644
index 00000000000..9368b6aef8e
--- /dev/null
+++ b/Build/source/libs/luazlib/test_zlib.lua
@@ -0,0 +1,106 @@
+-- $Id: test_zlib.lua,v 1.3 2004/07/22 19:10:47 tngd Exp $
+-- zlib = loadlib("./lzlib.so", "luaopen_zlib")()
+
+
+local function line(header, c)
+ header = header or ''
+ c = c or '-'
+ print(string.rep(string.sub(c, 1, 1), 78 - string.len(header))..header)
+end
+
+local function ipart(value)
+ return value - math.mod(value, 1)
+end
+
+local function bitvalues(value, bstart, num)
+ value = ipart(value / 2^bstart)
+ return math.mod(value, 2^num)
+end
+
+line(' zlib '..zlib.version(), '=')
+
+line(' adler32')
+local adler = zlib.adler32()
+print('adler32 init : '..adler)
+adler = zlib.adler32(adler, 'some text')
+print('updated adler: '..adler)
+adler = zlib.adler32(adler, 'some text')
+print('updated adler: '..adler)
+adler = zlib.adler32(adler, 'some text')
+print('updated adler: '..adler)
+adler = zlib.adler32(adler, 'some text')
+print('updated adler: '..adler)
+adler = zlib.adler32(adler, 'some text')
+print('updated adler: '..adler)
+adler = zlib.adler32(adler, 'some textd')
+print('updated adler: '..adler)
+
+line(' crc32')
+local crc = zlib.crc32()
+print('crc32 init : '..crc)
+crc = zlib.crc32(crc, 'some text')
+print('updated crc: '..crc)
+crc = zlib.crc32(crc, 'some text')
+print('updated crc: '..crc)
+crc = zlib.crc32(crc, 'some text')
+print('updated crc: '..crc)
+crc = zlib.crc32(crc, 'some text')
+print('updated crc: '..crc)
+crc = zlib.crc32(crc, 'some text')
+print('updated crc: '..crc)
+crc = zlib.crc32(crc, 'some textd')
+print('updated crc: '..crc)
+
+
+line(' deflate/inflate')
+local us
+f = io.open('lzlib.c') -- f = io.open('../all.tar')
+us = f:read('*a')
+f:close()
+
+do -- local block
+
+local f, cs, zd, zi, aux_res, res, ret, count
+
+print('file length : '..string.len(us))
+
+cs = ''
+zd = zlib.compressobj(1)
+print('deflate stream : '..tostring(zd))
+
+cs = cs .. zd:compress(string.sub(us, 1, string.len(us)/2))
+cs = cs .. zd:compress(string.sub(us, string.len(us)/2+1))
+cs = cs .. zd:flush()
+
+print('compressed length : '..string.len(cs))
+print('compressed adler : '..tostring(zd:adler()))
+zd:close()
+
+zi = zlib.decompressobj()
+print('inflate stream : '..tostring(zi))
+res = ''
+res = res .. zi:decompress(string.sub(cs, 1, 10))
+res = res .. zi:decompress(string.sub(cs, 11))
+res = res .. zi:flush()
+print('uncompressed length : '..string.len(res))
+print('uncompressed adler : '..tostring(zi:adler()))
+zi:close()
+print('result == uncompressed : '..tostring(res == us))
+print('compression ratio : '..tostring(string.len(us)/string.len(cs)))
+
+end -- local block
+collectgarbage()
+
+line(' compress/uncompress')
+do -- local block
+local cs, res
+print('file length : '..string.len(us))
+cs = zlib.compress(us,1)
+print('compressed length : '..string.len(cs))
+res = zlib.decompress(cs)
+print('compressed length : '..string.len(res))
+print('result == uncompressed : '..tostring(res == us))
+print('compression ratio : '..tostring(string.len(us)/string.len(cs)))
+end -- local block
+
+line(' zlib '..zlib.version(), '=')