Module:Template test case: Difference between revisions
add renderCells(), needs testing
m (white is harder to see; so I changed it to #90a8ee) |
(add renderCells(), needs testing) |
||
Line 181: | Line 181: | ||
tablerows = 'renderRows', | tablerows = 'renderRows', | ||
inline = 'renderInline', | inline = 'renderInline', | ||
cells = 'renderCells', | |||
default = 'renderDefault' | default = 'renderDefault' | ||
} | } | ||
Line 558: | Line 559: | ||
end | end | ||
return table.concat(ret, '\n') | return table.concat(ret, '\n') | ||
end | |||
function TestCase:renderCells() | |||
local root = mw.html.create() | |||
local dataRow = root:tag('tr') | |||
dataRow | |||
:css('vertical-align', 'top') | |||
:addClass(self.options.class) | |||
:cssText(self.options.style) | |||
-- Row header | |||
if self.options.rowheader then | |||
dataRow:tag('th') | |||
:attr('scope', 'row') | |||
:newline() | |||
:wikitext(self.options.rowheader or self:message('row-header')) | |||
end | |||
-- Caption | |||
if self.options.showcaption then | |||
dataRow:tag('th') | |||
:attr('scope', 'row') | |||
:newline() | |||
:wikitext(self.options.caption or self:message('columns-header')) | |||
end | |||
-- Show code | |||
if self.options.showcode then | |||
dataRow:tag('td') | |||
:newline() | |||
:wikitext(self:getInvocation('code')) | |||
end | |||
-- Template output | |||
for i, obj in ipairs(self.templates) do | |||
if self.options.output == 'nowiki+' then | |||
dataRow:tag('td') | |||
:newline() | |||
:wikitext(self.options.before) | |||
:wikitext(self:getTemplateOutput(obj)) | |||
:wikitext(self.options.after) | |||
:wikitext('<pre style="white-space: pre-wrap;">') | |||
:wikitext(mw.text.nowiki(self.options.before or "")) | |||
:wikitext(mw.text.nowiki(self:getTemplateOutput(obj))) | |||
:wikitext(mw.text.nowiki(self.options.after or "")) | |||
:wikitext('</pre>') | |||
elseif self.options.output == 'nowiki' then | |||
dataRow:tag('td') | |||
:newline() | |||
:wikitext(mw.text.nowiki(self.options.before or "")) | |||
:wikitext(mw.text.nowiki(self:getTemplateOutput(obj))) | |||
:wikitext(mw.text.nowiki(self.options.after or "")) | |||
else | |||
dataRow:tag('td') | |||
:newline() | |||
:wikitext(self.options.before) | |||
:wikitext(self:getTemplateOutput(obj)) | |||
:wikitext(self.options.after) | |||
end | |||
end | |||
return tostring(root) | |||
end | end | ||