Module:Template test case: Difference between revisions

    (add getInvocation and getOutput methods for the TableInvocation class)
    (make a start on the exports)
    Line 187: Line 187:
    -- Exports
    -- Exports
    -------------------------------------------------------------------------------
    -------------------------------------------------------------------------------
    local function getTableArgs(frame, wrappers)
    return require('Module:Arguments').getArgs(frame, {
    wrappers = wrappers,
    valueFunc = function (k, v)
    if type(k) == 'string' and k:find('^_') then
    v = mw.text.trim(v)
    if v ~= '' then
    return v
    end
    else
    return v
    end
    end
    })
    end
    local p = {}
    function p._table(args)
    local invocation = TableInvocation.new(args)
    return invocation
    end
    function p.table(frame)
    return p._table(getTableArgs(frame, 'Template:Test case'))
    end
    function p.columns(frame)
    local args = getTableArgs(frame, 'Template:Testcase table')
    args._format = 'columns'
    return p._table(args)
    end
    function p.rows(frame)
    local args = getTableArgs(frame, 'Template:Testcase rows')
    args._format = 'rows'
    return p._table(args)
    end
    function p._exportClasses()
    return {
    TestCase = TestCase,
    Invocation = Invocation,
    NowikiInvocation = NowikiInvocation,
    TableInvocation = TableInvocation
    }
    end
    return p