Module:Template test case: Difference between revisions

    (Further tweak)
    (Implement basic support for testing a module.)
    Line 94: Line 94:


    function Template:getFullPage()
    function Template:getFullPage()
    if self.template then
    if not self.template then
    return self.title.prefixedText
    elseif self.template:sub(1, 7) == '#invoke' then
    return 'Module' .. self.template:sub(8):gsub('|.*', '')
    else
    local strippedTemplate, hasColon = self.template:gsub('^:', '', 1)
    local strippedTemplate, hasColon = self.template:gsub('^:', '', 1)
    hasColon = hasColon > 0
    hasColon = hasColon > 0
    Line 106: Line 110:
    return mw.site.namespaces[10].name .. ':' .. strippedTemplate
    return mw.site.namespaces[10].name .. ':' .. strippedTemplate
    end
    end
    else
    return self.title.prefixedText
    end
    end
    end
    end
    Line 743: Line 745:


    function TableInvocation:getOutput(options)
    function TableInvocation:getOutput(options)
    if (options.template:sub(1, 7) == '#invoke') then
    local moduleCall = mw.text.split(options.template, '|', true)
    local args = mw.clone(self.invokeArgs)
    table.insert(args, 1, moduleCall[2])
    return mw.getCurrentFrame():callParserFunction(moduleCall[1], args)
    end
    return mw.getCurrentFrame():expandTemplate{
    return mw.getCurrentFrame():expandTemplate{
    title = options.template,
    title = options.template,