do --- smoke
assert(("abc123DEF_<>"):lower() == "abc123def_<>")
assert(("abc123DEF_<>"):upper() == "ABC123DEF_<>")
end
do --- repeated
local l = "the quick brown fox..."
local u = "THE QUICK BROWN FOX..."
local s = l
for i = 1, 75 do
s = s:upper()
assert(s == u)
s = s:lower()
assert(s == l)
end
end
do --- repeated with growing string
local y, z
local x = "aBcDe"
for i=1,100 do
y = string.upper(x)
z = y.."fgh"
end
assert(y == "ABCDE")
assert(z == "ABCDEfgh")
end
do --- misc upper
local y
for i=1,100 do y = string.upper("aBc9") end
assert(y == "ABC9")
local x = ":abCd+"
for i=1,100 do y = string.upper(x) end
assert(y == ":ABCD+")
x = 1234
for i=1,100 do y = string.upper(x) end
assert(y == "1234")
end
do --- misc lower
local y
for i=1,100 do y = string.lower("aBc9") end
assert(y == "abc9")
local x = ":abcd+"
for i=1,100 do y = string.lower(x) end
assert(y == ":abcd+")
x = 1234
for i=1,100 do y = string.lower(x) end
assert(y == "1234")
end