Jump to content

Module:String2/testcases

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Gonnym (talk | contribs) at 09:20, 19 February 2025. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
-- Unit tests for [[Module:{{ROOTPAGENAME}}]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_sentence()
	self:preprocess_equals_sandbox_many('{{#invoke:String2', 'sentence', {
        {'*teSt', '\n*Test'},
        {'[[tEst]]', '[[Test]]'},
        {'[[test|pipeTest]]', '[[test|Pipetest]]'},
        {'32ND', '32nd'},
        {'3 ×', '3 ×'},
        {'<li>TEST</li>', '<li>Test</li>'},
        {'1900 &ndash; 2000', '1900 &ndash; 2000'},
        {'éclair', 'Éclair'},
        {'Äpfel', 'Äpfel'},
        -- this requires options.stripmarker to be implemented for preprocess_equals_sandbox_many
        {'teXT <nowiki>TeXT</nowiki>', 'Text <nowiki>TeXT</nowiki>'},
	})
end

function p:test_ucfirst()
	self:preprocess_equals_sandbox_many('{{#invoke:String2', 'ucfirst', {
        {'*test', '\n*Test'},
        {'[[test]]', '[[Test]]'},
        {'[[test|pipetest]]', '[[test|Pipetest]]'},
        {'32nd', '32nd'},
        {'3 &times;', '3 &times;'},
        {'<li>test</li>', '<li>Test</li>'},
        {'1900 &ndash; 2000', '1900 &ndash; 2000'},
        {'éclair', 'Éclair'},
        {'äpfel', 'Äpfel'},
        {'[[endocrinology]], [[infectious disease (medical specialty)|infectious disease]]', '[[Endocrinology]], [[infectious disease (medical specialty)|infectious disease]]'},
        {'[//example.com ext link test]', '[//example.com ext link test]'},
    })
end

function p:test_matchAny()
    self:preprocess_equals_sandbox_many('{{#invoke:String2','matchAny', {
    	{'123|abc|source=adc 123', '1'},
    	{'123|abc|source=adc 124', ''},
    	{'123|abc|source=abc 124', '2'},
     },{nowiki=1})
end

function p:test_getError()
    self:preprocess_equals_sandbox_many('{{#invoke:String2','getError', {
    	{'123', ''},
    	{'error', ''},
    	{'Expression error', ''},
    	{'text<strong class="error">Expression error: Unrecognized word &quot;california&quot;.</strong>text', '<strong class="error">Expression error: Unrecognized word &quot;california&quot;.</strong>'},
     },{nowiki=1})
end

return p