Jump to content

Module:Citation/CS1/testcases/errors

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Trappist the monk (talk | contribs) at 19:35, 8 June 2020. 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:Citation/CS1]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_web()
    self:preprocess_equals_preprocess_many(
    	'{{cite web/new|', '}}',
		'{{cite web|', '}}',
		{
			{ [==[ ]==] },
			{ [==[ unrecognized_thing ]==] }, -- finds and then discards unrecognized_thing
			{ [==[ unrecognized_thing |unrecognized_thing2 ]==] }, -- finds and then discards unrecognized_things
			{ [==[ last = Last |unrecognized_thing ]==] },
			{ [==[ last = Last |unrecognized_thing |unrecognized_thing2 ]==] },
			{ [==[ unrecognized_parameter = unrecognized ]==] }, -- finds and then discards unrecognized parameter
			{ [==[ unrecognized_parameter = unrecognized  |unrecognized_parameter2 = unrecognized2 ]==] }, -- finds and then discards unrecognized parameters
			{ [==[ last=Last |1=unrecognized1 ]==] },
			{ [==[ last=Last |unrecognized_parameter = unrecognized |unrecognized_parameter2 = unrecognized2 ]==] },
		},
		{nowiki=false, templatestyles=true}
	)
end


--[[--------------------------< T E S T _ V A U T H O R S >----------------------------------------------------
]]

function p:test_vauthors()
    self:preprocess_equals_preprocess_many(
    	'{{cite book/new|', '}}', '{{cite book|', '}}',
		{
			{'title=Title |vauthors=Black ABC'},								-- too many initials
			{'title=Title |vauthors=Black A-B'},								-- hyphenated initials
			{'title=Title |vauthors=Black AB II'},								-- invalid generational suffix
			{'title=Title |vauthors=Black AB 3d'},								-- invalid generational suffix
			{'title=Title |vauthors=Black, AB, Brown, CD'},						-- improper puncutation
			{'title=Title |vauthors=Black AB; Brown CD'},						-- improper puncutation
			{'title=Title |vauthors=Black AB, Brown CD,'},						-- improper puncutation
			{'title=Title |vauthors=Black AB Brown CD'},						-- missing comma
			{'title=Title |vauthors=Black A B'},								-- spaced initials
		},
		{nowiki=false, templatestyles=true}
	)
end
return p