local rep = string.rep
do assert(("p"):rep(0) == "")
assert(("a"):rep(3) == "aaa")
assert(("x\0z"):rep(4) == "x\0zx\0zx\0zx\0z")
end
do local s = ""
for i = 1, 75 do
s = s .. "{}"
assert(s == ("{}"):rep(i))
end
end
do 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")
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 local y
for i=1,100 do y = rep("ab", 10, "c") end
assert(y == "abcabcabcabcabcabcabcabcabcab")
end
do local t = {}
for i=1,100 do t[i] = rep("ab", i-85) end
assert(t[100] == "ababababababababababababababab")
end
do local t = {}
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 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