Added string.starts string.ends functions

squeeze-backports
Victor Seva 12 years ago
parent 01f9289910
commit 8f1d52128c

@ -49,6 +49,26 @@ TestUtils = {} --class
function TestUtils:test_explode() function TestUtils:test_explode()
assertItemsEquals(explode(',',"1,2,3"), {'1','2','3'}) assertItemsEquals(explode(',',"1,2,3"), {'1','2','3'})
end end
function TestUtils:test_starts()
assertError(string.stats, nil, "g")
assertTrue(string.starts("goga", "g"))
assertTrue(string.starts("goga", "go"))
assertTrue(string.starts("goga", "gog"))
assertTrue(string.starts("goga", "goga"))
assertFalse(string.starts("goga", "a"))
assertError(string.starts, "goga", nil)
end
function TestUtils:test_ends()
assertError(string.ends, nil, "g")
assertTrue(string.ends("goga", "a"))
assertTrue(string.ends("goga", "ga"))
assertTrue(string.ends("goga", "oga"))
assertTrue(string.ends("goga", "goga"))
assertFalse(string.ends("goga", "f"))
assertError(string.ends, "goga", nil)
end
-- class TestUtils -- class TestUtils
TestStack = {} TestStack = {}

@ -120,6 +120,14 @@ function explode(delimiter, text)
return list return list
end end
function string.starts(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
function string.ends(String,End)
return End=='' or string.sub(String,-string.len(End))==End
end
-- Stack Table -- Stack Table
-- Uses a table as stack, use <table>:push(value) and <table>:pop() -- Uses a table as stack, use <table>:push(value) and <table>:pop()
-- Lua 5.1 compatible -- Lua 5.1 compatible

Loading…
Cancel
Save