Jump to content

Module:Ustring/testcases

From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by GKFX (talk | contribs) at 11:40, 14 November 2021 (test gsub). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
-- Unit tests for [[Module:Ustring]]. Click talk page to run tests.
local p = require('Module:UnitTests')

-- Test sub function
function p:test_sub()
	self:preprocess_equals_sandbox_many('{{#invoke:ustring', 'sub', {
		{' hello | 1 | 3', ' he'},
		{' s1 = hello | 1 | 3', 'hel'},
		{' s1 = hello | 0 | 3', 'hel'},
		{' s1 = hello | -3 ', 'llo'},
		{' hello | -3 ', 'lo '},
	})
end

-- Test error supression
function p:test_onerror()
	self:preprocess_equals_sandbox_many('{{#invoke:ustring', 'sub', {
		{' hello | 1 | 3 | onerror = foo', ' he'},
		{' s1 = hello | bar | 3 | onerror = foo', 'foo'},
		{' s1 = hello | 0 |  | onerror = foo', 'foo'},
	})
end

-- Test find/replace
function p:test_gsub()
	self:preprocess_equals_sandbox_many('{{#invoke:ustring', 'gsub', {
		{' hello world | world | x ', ' hello x '},
		{' hello world| world | x ', ' hello world'},
	})
end

return p