|
|
|
@ -8,6 +8,9 @@ function test.startswith()
|
|
|
|
|
|
|
|
|
|
expect.true_((''):startswith(''))
|
|
|
|
|
expect.false_((''):startswith('a'))
|
|
|
|
|
|
|
|
|
|
expect.false_(('str'):startswith('.'),
|
|
|
|
|
'ensure we match literals, not patterns')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function test.endswith()
|
|
|
|
@ -18,6 +21,41 @@ function test.endswith()
|
|
|
|
|
|
|
|
|
|
expect.true_((''):endswith(''))
|
|
|
|
|
expect.false_((''):endswith('a'))
|
|
|
|
|
|
|
|
|
|
expect.false_(('str'):endswith('.'),
|
|
|
|
|
'ensure we match literals, not patterns')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- uncomment once gui/load-screen's string:split implementation is removed
|
|
|
|
|
--[[
|
|
|
|
|
function test.split()
|
|
|
|
|
expect.table_eq({'hello','world'}, ('hello world'):split())
|
|
|
|
|
expect.table_eq({'hello','','world'}, ('hello world'):split())
|
|
|
|
|
expect.table_eq({'hello','world'}, ('hello world'):split(' +'))
|
|
|
|
|
|
|
|
|
|
expect.table_eq({'hello','world'}, ('hello.world'):split('.', true),
|
|
|
|
|
'ensure literal interpretation when plain is true')
|
|
|
|
|
|
|
|
|
|
-- we don't actually care what this returns, just that it does return
|
|
|
|
|
expect.true_(('hello world'):split('.*'), 'ensure no infinite loop')
|
|
|
|
|
|
|
|
|
|
expect.table_eq({'hello ', ' world'}, ('hello , world'):split(','),
|
|
|
|
|
'ensure spaces are kept when they are not the delimiter')
|
|
|
|
|
expect.table_eq({'hello'}, ('hello'):split(), 'no delimiter')
|
|
|
|
|
end
|
|
|
|
|
]]
|
|
|
|
|
|
|
|
|
|
function test.trim()
|
|
|
|
|
expect.eq('hello', ('hello'):trim())
|
|
|
|
|
expect.eq('hello', (' hello'):trim())
|
|
|
|
|
expect.eq('hello', ('hello '):trim())
|
|
|
|
|
expect.eq('hello', (' hello '):trim())
|
|
|
|
|
expect.eq('', (''):trim())
|
|
|
|
|
expect.eq('', (' '):trim())
|
|
|
|
|
expect.eq('', (' \t \n \v '):trim())
|
|
|
|
|
expect.eq('hel lo', (' hel lo '):trim(), 'keep interior spaces')
|
|
|
|
|
expect.eq('hel \n lo', (' hel \n lo '):trim(),
|
|
|
|
|
'keep interior spaces across newlines')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function test.wrap()
|
|
|
|
@ -29,5 +67,5 @@ function test.wrap()
|
|
|
|
|
expect.eq('hello\nworld', ('hello world'):wrap(8))
|
|
|
|
|
expect.eq('hel\nlo\nwor\nld', ('hello world'):wrap(3))
|
|
|
|
|
expect.eq('hel\nloo\nwor\nldo', ('helloo worldo'):wrap(3))
|
|
|
|
|
expect.eq('', (''):wrap(10))
|
|
|
|
|
expect.eq('', (''):wrap())
|
|
|
|
|
end
|
|
|
|
|