Module:TagQS/testcases

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Lua

CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules

✓[OK] All tests passed.

Name Expected Actual
✓[OK] test_Lua_functions_change
✓[OK] test_Lua_functions_remove
✓[OK] test_replaceUnlessQuoted
✓[OK] test_wiki_template

Code

local TagQS = require('Module:TagQS')-- the module to be tested
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

function suite:text4test()
	local text = 'The quick brown fox jumps over the lazy dog'
	local tag1 = TagQS.createTag('test_one', 'P1', 'Hello World 1')
	local tag2 = TagQS.createTag('test_two', 'P2', 'Hello World 2')
	return text .. tag1 .. text .. tag2
end

function suite:test_replaceUnlessQuoted()
	local text = 'A,B,"C,D",E'
	self:assertEquals( 'A|B|"C,D"|E', TagQS.replaceUnlessQuoted(text, ',', '|'))
end

function suite:test_Lua_functions_change()
	local text = suite:text4test()
	self:assertEquals( 'P1|Hello World 1', TagQS.readTag(text, 'test_one'))
	text = TagQS.changeField(text, 'test_two', 'test_three')
	self:assertEquals( 'P2|Hello World 2', TagQS.readTag(text, 'test_three'))
	text = TagQS.changeProperty(text, 'test_one', 'P1', 'P3')
	self:assertEquals( 'P3|Hello World 1', TagQS.readTag(text, 'test_one'))
	text = TagQS.changeProperty(text, 'test_one', nil, 'P4')
	self:assertEquals( 'P4|Hello World 1', TagQS.readTag(text, 'test_one'))
end

function suite:test_Lua_functions_remove()
	local text = suite:text4test()
	self:assertEquals( true, TagQS.hasTag(text, 'test_one'))
	text = TagQS.removeTag(text, 'test_one')
	self:assertEquals(false, TagQS.hasTag(text, 'test_one'))
	self:assertEquals( true, TagQS.hasTag(text, 'test_two'))
end

function suite:test_wiki_template()
	local tag1 = TagQS.createTag('test_one', 'P1', 'Hello World 1')
	self:assertResultEquals( tag1, '{{CreateTag|test_one|P1|Hello World 1}}')

end

return suite