functests: Add tests

This commit is contained in:
ZyX
2017-06-20 18:17:19 +03:00
parent 60c0252672
commit 607dc3e0f9
2 changed files with 180 additions and 3 deletions

View File

@@ -284,7 +284,7 @@ local function concat_tables(...)
return ret
end
local function dedent(str)
local function dedent(str, leave_indent)
-- find minimum common indent across lines
local indent = nil
for line in str:gmatch('[^\n]+') do
@@ -297,12 +297,13 @@ local function dedent(str)
-- no minimum common indent
return str
end
local left_indent = (' '):rep(leave_indent or 0)
-- create a pattern for the indent
indent = indent:gsub('%s', '[ \t]')
-- strip it from the first line
str = str:gsub('^'..indent, '')
str = str:gsub('^'..indent, left_indent)
-- strip it from the remaining lines
str = str:gsub('[\n]'..indent, '\n')
str = str:gsub('[\n]'..indent, '\n' .. left_indent)
return str
end