From f40304dded5d07a0dd755751c811cd8ccaf9565b Mon Sep 17 00:00:00 2001 From: Peter Cawley Date: Sat, 9 Apr 2016 15:29:53 +0100 Subject: [PATCH] Modernise string_op test. --- test/lib/string/index | 2 + test/lib/string/lower_upper.lua | 35 ++++++++ test/lib/string/multiple_functions.lua | 16 ++++ test/lib/string/rep.lua | 47 +++++++++++ test/lib/string/reverse.lua | 13 +++ test/misc/string_op.lua | 110 ------------------------- 6 files changed, 113 insertions(+), 110 deletions(-) create mode 100644 test/lib/string/multiple_functions.lua create mode 100644 test/lib/string/reverse.lua delete mode 100644 test/misc/string_op.lua diff --git a/test/lib/string/index b/test/lib/string/index index a51f80651c..bad5cffec2 100644 --- a/test/lib/string/index +++ b/test/lib/string/index @@ -5,5 +5,7 @@ dump.lua format len.lua lower_upper.lua +multiple_functions.lua rep.lua +reverse.lua sub.lua diff --git a/test/lib/string/lower_upper.lua b/test/lib/string/lower_upper.lua index 52c5739706..1a05fc353c 100644 --- a/test/lib/string/lower_upper.lua +++ b/test/lib/string/lower_upper.lua @@ -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 diff --git a/test/lib/string/multiple_functions.lua b/test/lib/string/multiple_functions.lua new file mode 100644 index 0000000000..725803d66d --- /dev/null +++ b/test/lib/string/multiple_functions.lua @@ -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 diff --git a/test/lib/string/rep.lua b/test/lib/string/rep.lua index d06b4ee4ed..5a27e5321b 100644 --- a/test/lib/string/rep.lua +++ b/test/lib/string/rep.lua @@ -1,3 +1,5 @@ +local rep = string.rep + do --- smoke assert(("p"):rep(0) == "") assert(("a"):rep(3) == "aaa") @@ -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 diff --git a/test/lib/string/reverse.lua b/test/lib/string/reverse.lua new file mode 100644 index 0000000000..34a8ffb013 --- /dev/null +++ b/test/lib/string/reverse.lua @@ -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 diff --git a/test/misc/string_op.lua b/test/misc/string_op.lua deleted file mode 100644 index 6adb790ee2..0000000000 --- a/test/misc/string_op.lua +++ /dev/null @@ -1,110 +0,0 @@ - -do - local y - for i=1,100 do y = string.reverse("abc") end - assert(y == "cba") - local x = "abcd" - for i=1,100 do y = string.reverse(x) end - assert(y == "dcba") - x = 1234 - for i=1,100 do y = string.reverse(x) end - assert(y == "4321") -end - -do - 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 - 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 - -do - 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 - -do - 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 - local y - for i=1,100 do y = string.rep("a", 10) end - assert(y == "aaaaaaaaaa") - for i=1,100 do y = string.rep("ab", 10) end - assert(y == "abababababababababab") - for i=1,100 do y = string.rep("ab", 10, "c") end - assert(y == "abcabcabcabcabcabcabcabcabcab") - local x = "a" - for i=1,100 do y = string.rep(x, 10) end - assert(y == "aaaaaaaaaa") - local n = 10 - for i=1,100 do y = string.rep(x, n) end - assert(y == "aaaaaaaaaa") - x = "ab" - for i=1,100 do y = string.rep(x, n) end - assert(y == "abababababababababab") - x = 12 - n = "10" - for i=1,100 do y = string.rep(x, n) end - assert(y == "12121212121212121212") -end - -do - local t = {} - for i=1,100 do t[i] = string.rep("ab", i-85) end - assert(t[100] == "ababababababababababababababab") - for i=1,100 do t[i] = string.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 = string.rep(x, i-90) - z = y.."fgh" - end - assert(y == "abababababababababab") - assert(z == "ababababababababababfgh") -end -