66 lines
975 B
Lua
Executable File
66 lines
975 B
Lua
Executable File
-- test base64 library
|
|
|
|
require"base64"
|
|
|
|
print(base64.version)
|
|
print""
|
|
|
|
function test(s)
|
|
local a=base64.encode(s)
|
|
local b=base64.decode(a)
|
|
print(string.len(s),b==s,a,s)
|
|
assert(b==s)
|
|
end
|
|
|
|
for i=0,9 do
|
|
local s=string.sub("Lua-scripting-language",1,i)
|
|
test(s)
|
|
end
|
|
|
|
function test(p)
|
|
print("testing prefix "..string.len(p))
|
|
for i=0,255 do
|
|
local s=p..string.char(i)
|
|
local a=base64.encode(s)
|
|
local b=base64.decode(a)
|
|
assert(b==s,i)
|
|
end
|
|
end
|
|
|
|
print""
|
|
test""
|
|
test"x"
|
|
test"xy"
|
|
test"xyz"
|
|
|
|
print""
|
|
s="Lua-scripting-language"
|
|
a=base64.encode(s)
|
|
b=base64.decode(a)
|
|
print(a,b,string.len(b))
|
|
|
|
a=base64.encode(s)
|
|
a=string.gsub(a,"[A-Z]","?")
|
|
b=base64.decode(a)
|
|
print(a,b)
|
|
|
|
a=base64.encode(s)
|
|
a=string.gsub(a,"[a-z]","?")
|
|
b=base64.decode(a)
|
|
print(a,b)
|
|
|
|
a=base64.encode(s)
|
|
a=string.gsub(a,"[A-Z]","=")
|
|
b=base64.decode(a)
|
|
print(a,b,string.len(b))
|
|
|
|
a=base64.encode(s)
|
|
a=string.gsub(a,"[a-z]","=")
|
|
b=base64.decode(a)
|
|
print(a,b,string.len(b))
|
|
|
|
print""
|
|
print(base64.version)
|
|
|
|
-- eof
|