Jump to content

Module:Infobox television episode/testcases

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Gonnym (talk | contribs) at 10:29, 31 August 2021 (Created page with '-- Unit tests for Module:Infobox television episode. Click talk page to run tests. local p = require('Module:UnitTests') local function expandTemplate(template, value) local frame = mw.getCurrentFrame return frame:expandTemplate{title = template, args = {value}} end function p:test_1_1_unlinked_and_unformatted_live() self:preprocess_equals_many('{{#invoke:Infobox television episode|verify_values', '}}', { {'episode=1', ''}, {'season=1', ''},...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
-- Unit tests for [[Module:Infobox television episode]]. Click talk page to run tests.
local p = require('Module:UnitTests')

local function expandTemplate(template, value)
	local frame = mw.getCurrentFrame
	return frame:expandTemplate{title = template, args = {value}}
end

function p:test_1_1_unlinked_and_unformatted_live()
	self:preprocess_equals_many('{{#invoke:Infobox television episode|verify_values', '}}', {
		{'episode=1', ''},
		{'season=1', ''},
		{'series_no=1', ''},
		{'episode_list=List of Lost episodes', ''},
		{'episode=[[1]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'season=[[1]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'series_no=[[1]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'episode_list=[[List of Lost episodes]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"episode=''1''", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"season=''1''", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"series_no=''1''", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"episode_list=List of ''Lost'' episodes]]", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
    }, {nowiki=1})
end

function p:test_1_2_unlinked_and_unformatted_sandbox()
	self:preprocess_equals_many('{{#invoke:Infobox television episode/sandbox|verify_values', '}}', {
		{'episode=1', ''},
		{'season=1', ''},
		{'series_no=1', ''},
		{'episode_list=List of Lost episodes', ''},
		{'episode=[[1]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'season=[[1]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'series_no=[[1]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'episode_list=[[List of Lost episodes]]', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"episode=''1''", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"season=''1''", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"series_no=''1''", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{"episode_list=List of ''Lost'' episodes]]", '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
    }, {nowiki=1})
end

function p:test_2_1_using_overall_live()
	self:preprocess_equals_many('{{#invoke:Infobox television episode|verify_values', '}}', {
		{'episode=1', ''},
		{'season=1', ''},
		{'series_no=1', ''},
		{'episode=1 (1 overall)', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'season=1 (1 overall)', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'series_no=1 (1 overall)', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
    }, {nowiki=1})
end

function p:test_2_2_using_overall_sandbox()
	self:preprocess_equals_many('{{#invoke:Infobox television episode/sandbox|verify_values', '}}', {
		{'episode=1', ''},
		{'season=1', ''},
		{'series_no=1', ''},
		{'episode=1 (1 overall)', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'season=1 (1 overall)', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
		{'series_no=1 (1 overall)', '[[Category:Pages using infobox television episode with incorrectly formatted values]]'},
    }, {nowiki=1})
end

function p:test_3_1_image_auxiliary_values_live()
	self:preprocess_equals_many('{{#invoke:Infobox television episode|verify_values', '}}', {
		{'image=test|image_size=1', ''},
		{'image_size=1', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'image_upright=1', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'image_alt=test', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'alt=test', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'caption=test', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
    }, {nowiki=1})
end

function p:test_3_2_image_auxiliary_values_sandbox()
	self:preprocess_equals_many('{{#invoke:Infobox television episode/sandbox|verify_values', '}}', {
		{'image=test|image_size=1', ''},
		{'image_size=1', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'image_upright=1', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'image_alt=test', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'alt=test', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
		{'caption=test', '[[Category:Pages using infobox television episode with image-related values without an image]]'},
    }, {nowiki=1})
end

function p:test_4_1_infobox_title_equal_to_article_title_live()
	self:preprocess_equals_many('{{#invoke:Infobox television episode|verify_values', '}}', {
		{'page_title_test='Test|title=' .. expandTemplate("Space+single", "") .. "Test", ''},
		{'page_title_test=Test'|title=Test' .. expandTemplate("Single+space", ""), ''},
		{'page_title_test='Test'|title=' .. expandTemplate("Space+single", "") .. "Test" .. expandTemplate("Single+space", ""), ''},
		{'page_title_test=Long article title|title=' .. expandTemplate("Nowrap", "Long article title"), ''},
		{'page_title_test=Long article title|title=Long article <br>title', ''},
		{'page_title_test=Long article title|title=Long article <br >title', ''},
		{'page_title_test=Long article title|title=Long article <br/>title', ''},
		{'page_title_test=Long article title|title=Long article <br />title', ''},
		{'page_title_test=Long article title|title=Long article <br/> title', ''},
		{'page_title_test=&#39;Test (dab)|title=' .. expandTemplate("Space+single", "") .. "Test", ''},
		{'page_title_test=Long article title (dab)|title=' .. expandTemplate("Nowrap", "Long article title"), ''},
		{'page_title_test=Long article title (dab)|title=Long article <br>title', ''},
		{'page_title_test=Test|title=Test', '[[Category:Pages using infobox television episode with unnecessary title parameter]]'},
		{'page_title_test=Test (dab)|title=Test', '[[Category:Pages using infobox television episode with unnecessary title parameter]]'},
		{'page_title_test=Test|title=test', '[[Category:Pages using infobox television episode with non-matching title]]'},
		{'page_title_test=&#39;Test|title=' .. expandTemplate("Space+single", "") .. "test", '[[Category:Pages using infobox television episode with non-matching title]]'},
		{'page_title_test=Long article title|title=' .. expandTemplate("Nowrap", "Long article Title"), ''},
		{'page_title_test=Long article title|title=Long article <br/> Title', '[[Category:Pages using infobox television episode with non-matching title]]'},
    }, {nowiki=1})
end

function p:test_4_2_infobox_title_equal_to_article_title_sandbox()
	self:preprocess_equals_many('{{#invoke:Infobox television episode/sandbox|verify_values', '}}', {
		{'page_title_test=&#39;Test|title=' .. expandTemplate("Space+single", "") .. "Test", ''},
		{'page_title_test=Test&#39;|title=Test' .. expandTemplate("Single+space", ""), ''},
		{'page_title_test=&#39;Test&#39;|title=' .. expandTemplate("Space+single", "") .. "Test" .. expandTemplate("Single+space", ""), ''},
		{'page_title_test=Long article title|title=' .. expandTemplate("Nowrap", "Long article title"), ''},
		{'page_title_test=Long article title|title=Long article <br>title', ''},
		{'page_title_test=Long article title|title=Long article <br >title', ''},
		{'page_title_test=Long article title|title=Long article <br/>title', ''},
		{'page_title_test=Long article title|title=Long article <br />title', ''},
		{'page_title_test=Long article title|title=Long article <br/> title', ''},
		{'page_title_test=&#39;Test (dab)|title=' .. expandTemplate("Space+single", "") .. "Test", ''},
		{'page_title_test=Long article title (dab)|title=' .. expandTemplate("Nowrap", "Long article title"), ''},
		{'page_title_test=Long article title (dab)|title=Long article <br>title', ''},
		{'page_title_test=Test|title=Test', '[[Category:Pages using infobox television episode with unnecessary title parameter]]'},
		{'page_title_test=Test (dab)|title=Test', '[[Category:Pages using infobox television episode with unnecessary title parameter]]'},
		{'page_title_test=Test|title=test', '[[Category:Pages using infobox television episode with non-matching title]]'},
		{'page_title_test=&#39;Test|title=' .. expandTemplate("Space+single", "") .. "test", '[[Category:Pages using infobox television episode with non-matching title]]'},
		{'page_title_test=Long article title|title=' .. expandTemplate("Nowrap", "Long article Title"), ''},
		{'page_title_test=Long article title|title=Long article <br/> Title', '[[Category:Pages using infobox television episode with non-matching title]]'},
    }, {nowiki=1})
end

return p