mirror of
				https://github.com/ctruLua/ctruLua.git
				synced 2025-10-28 16:59:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			101 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| 
 | |
| local gzip = require 'gzip'
 | |
| 
 | |
| 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
 | |
| 
 | |
| 
 | |
| line(' gzip', '=')
 | |
| 
 | |
| line(' gzip writing')
 | |
| local loops = 1000
 | |
| local testfile = "test.gz"
 | |
| 
 | |
| local of = gzip.open(testfile, "wb9")
 | |
| 
 | |
| if (not of) then
 | |
|     error("Failed to open file test.gz for writing")
 | |
| end
 | |
| 
 | |
| for i = 1, loops do
 | |
|     of:write(i, "\n")
 | |
| end
 | |
| 
 | |
| of:close()
 | |
| 
 | |
| local i = 0
 | |
| for l in gzip.lines(testfile) do
 | |
|     i = i + 1
 | |
|     if (tostring(i) ~= l) then
 | |
|         error(tostring(i))
 | |
|     end
 | |
| end
 | |
| 
 | |
| assert(i == loops)
 | |
| print('Ok.')
 | |
| line(' gzip reading')
 | |
| 
 | |
| local inf = gzip.open(testfile)
 | |
| 
 | |
| if (not inf) then
 | |
|     error("Failed to open file test.gz for reading")
 | |
| end
 | |
| 
 | |
| for i = 1, loops do
 | |
|     if (tostring(i) ~= inf:read("*l")) then
 | |
|         error(tostring(i))
 | |
|     end
 | |
| end
 | |
| 
 | |
| inf:close()
 | |
| 
 | |
| print('Ok.')
 | |
| if false then
 | |
| 	line(' compress seek')
 | |
| 
 | |
| 	of = gzip.open(testfile, "wb1")
 | |
| 
 | |
| 	if (not of) then
 | |
| 		error("Failed to open file test.gz for writing")
 | |
| 	end
 | |
| 
 | |
| 	assert(of:seek("cur", 5) == 5)
 | |
| 	assert(of:seek("set", 10) == 10)
 | |
| 
 | |
| 	of:write("1")
 | |
| 
 | |
| 	of:close()
 | |
| 
 | |
| 	print('Ok.')
 | |
| 
 | |
| 	line(' uncompress seek')
 | |
| 
 | |
| 	inf = gzip.open(testfile)
 | |
| 
 | |
| 	if (not inf) then
 | |
| 		error("Failed to open file test.gz for reading")
 | |
| 	end
 | |
| 
 | |
| 	assert(inf:seek("set", 6) == 6)
 | |
| 	assert(inf:seek("set", 4) == 4)
 | |
| 	assert(inf:seek("cur", 1) == 5)
 | |
| 	assert(inf:seek("cur", -1) == 4)
 | |
| 	assert(inf:seek("cur", 1) == 5)
 | |
| 	assert(inf:seek("set", 6) == 6)
 | |
| 
 | |
| 	inf:read(4)
 | |
| 
 | |
| 	assert(inf:read(1) == "1")
 | |
| 
 | |
| 	inf:close()
 | |
| 
 | |
| 	print('Ok.')
 | |
| 
 | |
| end
 | |
| 
 | |
| os.remove(testfile)
 | |
| 
 | |
| line(' gzip', '=')
 | 
