Skip to content

Commit

Permalink
Modernise string_op test.
Browse files Browse the repository at this point in the history
  • Loading branch information
corsix committed Apr 9, 2016
1 parent b8bbda3 commit f40304d
Show file tree
Hide file tree
Showing 6 changed files with 113 additions and 110 deletions.
2 changes: 2 additions & 0 deletions test/lib/string/index
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,7 @@ dump.lua
format
len.lua
lower_upper.lua
multiple_functions.lua
rep.lua
reverse.lua
sub.lua
35 changes: 35 additions & 0 deletions test/lib/string/lower_upper.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,38 @@ do --- repeated
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
16 changes: 16 additions & 0 deletions test/lib/string/multiple_functions.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
do --- string_op
local t, y = {}, {}
for i=1,100 do t[i] = string.char(i, 16+i, 32+i) end
for i=1,100 do t[i] = string.reverse(t[i]) end
assert(t[100] == "\132\116\100")
for i=1,100 do t[i] = string.reverse(t[i]) end
for i=1,100 do assert(t[i] == string.char(i, 16+i, 32+i)) end
for i=1,100 do y[i] = string.upper(t[i]) end
assert(y[65] == "AQA")
assert(y[97] == "AQ\129")
assert(y[100] == "DT\132")
for i=1,100 do y[i] = string.lower(t[i]) end
assert(y[65] == "aqa")
assert(y[97] == "aq\129")
assert(y[100] == "dt\132")
end
47 changes: 47 additions & 0 deletions test/lib/string/rep.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
local rep = string.rep

do --- smoke
assert(("p"):rep(0) == "")
assert(("a"):rep(3) == "aaa")
Expand All @@ -11,3 +13,48 @@ do --- versus concat
assert(s == ("{}"):rep(i))
end
end

do --- misc
local y
for i=1,100 do y = rep("a", 10) end
assert(y == "aaaaaaaaaa")
for i=1,100 do y = rep("ab", 10) end
assert(y == "abababababababababab")
for i=1,100 do y = rep("ab", 10, "c") end
assert(y == "abcabcabcabcabcabcabcabcabcab")
local x = "a"
for i=1,100 do y = rep(x, 10) end
assert(y == "aaaaaaaaaa")
local n = 10
for i=1,100 do y = rep(x, n) end
assert(y == "aaaaaaaaaa")
x = "ab"
for i=1,100 do y = rep(x, n) end
assert(y == "abababababababababab")
x = 12
n = "10"
for i=1,100 do y = rep(x, n) end
assert(y == "12121212121212121212")
end

do --- iterate to table
local t = {}
for i=1,100 do t[i] = rep("ab", i-85) end
assert(t[100] == "ababababababababababababababab")
for i=1,100 do t[i] = rep("ab", i-85, "c") end
assert(t[85] == "")
assert(t[86] == "ab")
assert(t[87] == "abcab")
assert(t[100] == "abcabcabcabcabcabcabcabcabcabcabcabcabcabcab")
end

do --- iterate and concat
local y, z
local x = "ab"
for i=1,100 do
y = rep(x, i-90)
z = y.."fgh"
end
assert(y == "abababababababababab")
assert(z == "ababababababababababfgh")
end
13 changes: 13 additions & 0 deletions test/lib/string/reverse.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
local reverse = string.reverse

do --- misc
local y
for i=1,100 do y = reverse("abc") end
assert(y == "cba")
local x = "abcd"
for i=1,100 do y = reverse(x) end
assert(y == "dcba")
x = 1234
for i=1,100 do y = reverse(x) end
assert(y == "4321")
end
110 changes: 0 additions & 110 deletions test/misc/string_op.lua

This file was deleted.

0 comments on commit f40304d

Please sign in to comment.