Module:String/testcases
-- Unit tests for Module:String. Click talk page to run tests. local p = require('Module:UnitTests')
function p:test_len()
self:preprocess_equals_many('4', { {' foo ', '5'}, {'s= foo ', '3'}, {, '0'}, {'s=', '0'}, {' ', '3'}, {'最近の更新', '5'}, })
end
function p:test_replace()
self:preprocess_equals_many(, , { {'1.1.1.1|.|/', '1/1/1/1'}, {'alpha (beta)| (| gamma (', 'alpha gamma (beta)'}, {'Dog (cat)|%s%(.*%)||plain=false', 'Dog'}, })
end
function p:test_match()
self:preprocess_equals_many('String Module Error: Pattern string is empty', { {'dog (cat)|%((%a-)%)', 'cat'}, {'dog (cat) (canary) (fish)|%((%a-)%)||-1', 'fish'}, {'dog (cat) (canary) (fish)|%((%a-)%)||2', 'canary'}, {'dog (cat) (canary) (fish)|%((%a-)%)|6|1', 'canary'}, {'dog (cat) (canary) (fish)|%((%a-)%)|6|2', 'fish'}, {'dog (cat)|%((%a-)%)||2|no_category=true', 'String Module Error: Match not found'}, {'dog (cat)|%((%a-)%)||2|ignore_errors=true', }, })
end function p:test_match()
self:preprocess_equals_many('String Module Error: Pattern string is empty', { {'dog (cat)|%((%a-)%)', 'cat'}, {'dog (cat) (canary) (fish)|%((%a-)%)||-1', 'fish'}, {'dog (cat) (canary) (fish)|%((%a-)%)||2', 'canary'}, {'dog (cat) (canary) (fish)|%((%a-)%)|6|1', 'canary'}, {'dog (cat) (canary) (fish)|%((%a-)%)|6|2', 'fish'}, {'dog (cat)|%((%a-)%)||2|no_category=true', 'String Module Error: Match not found'}, {'dog (cat)|%((%a-)%)||2|ignore_errors=true', }, })
end
function p:test_find()
self:preprocess_equals_many('0', { {, '0'}, {'source=', '0'}, {'source=|target=', '0'}, {'source=|target=Bob', '0'}, {'Bob|Joe', '0'}, {'Bob|b', '3'}, {'Bob Joe|oe', '6'}, {'source= Bob |o', '2'}, {' Bob |o', '3'}, {'높지만 급격히|만', '3'}, {'source=BAAAB|target=%w|plain=false', '1'}, {'source=BAAAB|target=%w|start=3|plain=false', '3'}, {'source=BAAAB|target=(%w)%1|plain=false', '2'}, })
end
function p:test_rep()
self:preprocess_equals_many('String Module Error: function rep expects a number as second parameter, received ""', { {'abc|1', 'abc'}, {'a b|7', 'a ba ba ba ba ba ba b'}, {'bla|glug|no_category=true', 'String Module Error: function rep expects a number as second parameter, received "glug"'}, {'bla|glug|ignore_errors=true', }, {'àèò|3', 'àèòàèòàèò'} })
end
return p