Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:String2/testcases

From Wikipedia, the free encyclopedia
-- 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 \127\'"`UNIQ--nowiki-00000001-QINU`"\'\127'},
	}, {stripmarker=1})
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]'},
	}, {nowiki=1})
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', ''},
		{'1=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

function p:test_isInteger()
	self:preprocess_equals_sandbox_many('{{#invoke:String2','isInteger', {
		{'1993', 'true'},
		{'1993|02|24|08|30', 'true'},
		{'1993|02||08|30|empty=yes', 'true'},
		{'1993|02| |08|30|empty=yes', 'true'},
		{'', 'false'},
		{'1993|02||08|30', 'false'},
	},{nowiki=1})
end

function p:test_strip()
	self:preprocess_equals_sandbox_many('{{#invoke:String2','strip', {
		{'abc123def|123', 'abcdef'},
		{'abc123def|xyz', 'abc123def'},
		{'abc123def|%d+|false', 'abcdef'},
		{'abc123def|%d+|true', 'abc123ef'},
		{'source=abc123def|chars=123', 'abcdef'},
		{'source=abc123def|chars=%d+|plain=false', 'abcdef'},
		{'source=abc123def|chars=%d+|plain=true', 'abc123ef'},
	},{nowiki=1})
end

return p