summaryrefslogtreecommitdiff
path: root/tests/modules/string/test.lua
diff options
context:
space:
mode:
authorOpportunity <[email protected]>2020-01-20 20:26:08 +0800
committerOpportunity <[email protected]>2020-01-20 22:21:47 +0800
commit929d2d1e48456e45118754ded06dd0dd420415f1 (patch)
tree52599db7bfe57b76e02802253d88cd7177b88985 /tests/modules/string/test.lua
parentab317d02fb8442204813b5b66457406498e48c1c (diff)
fix string.split
Diffstat (limited to 'tests/modules/string/test.lua')
-rw-r--r--tests/modules/string/test.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/modules/string/test.lua b/tests/modules/string/test.lua
index 538dfd893..57e00dd7e 100644
--- a/tests/modules/string/test.lua
+++ b/tests/modules/string/test.lua
@@ -66,14 +66,23 @@ function test_split(t)
t:are_equal(("1\n\n2\n3"):split('\n', {strict = true}), {"1", "", "2", "3"})
t:are_equal(("abc123123xyz123abc"):split('123', {strict = true}), {"abc", "", "xyz", "abc"})
t:are_equal(("abc123123xyz123abc"):split('[123]+', {strict = true}), {"abc", "xyz", "abc"})
+ t:are_equal(("123abc123123xyz123abc123"):split('[123]+', {strict = true}), {"", "abc", "xyz", "abc", ""})
+ t:are_equal(("123123"):split('[123]+', {strict = true}), {"", ""})
+ t:are_equal((""):split('[123]+', {strict = true}), {""})
-- plain match and contains empty string
t:are_equal(("1\n\n2\n3"):split('\n', {plain = true, strict = true}), {"1", "", "2", "3"})
t:are_equal(("abc123123xyz123abc"):split('123', {plain = true, strict = true}), {"abc", "", "xyz", "abc"})
+ t:are_equal(("123abc123123xyz123abc123"):split('123', {plain = true, strict = true}), {"", "abc", "", "xyz", "abc", ""})
+ t:are_equal(("123"):split('123', {plain = true, strict = true}), {"", ""})
+ t:are_equal((""):split('123', {plain = true, strict = true}), {""})
-- limit split count
t:are_equal(("1\n\n2\n3"):split('\n', {limit = 2}), {"1", "2\n3"})
t:are_equal(("1\n\n2\n3"):split('\n', {limit = 2, strict = true}), {"1", "\n2\n3"})
+ t:are_equal(("\n1\n\n2\n3"):split('\n', {limit = 2, strict = true}), {"", "1\n\n2\n3"})
t:are_equal(("1.2.3.4.5"):split('%.', {limit = 3}), {"1", "2", "3.4.5"})
t:are_equal(("123.45"):split('%.', {limit = 3}), {"123", "45"})
+ t:are_equal((""):split('123', {plain = true, limit = 2, strict = true}), {""})
+ t:are_equal(("123123"):split('123', {plain = true, limit = 2, strict = true}), {"", "123"})
end