Jump to content
MediaWiki

Module:String/testcases

From mediawiki.org
This is the test suite for the module Module:String. Results of the test cases.
 -- Unit tests for [[Module:String]]. Click talk page to run tests.
 localp=require('Module:UnitTests')

 functionp:test_len()
 self:preprocess_equals_many('{{#invoke:String|len|','}}',{
 {' foo ','5'},
 {'s= foo ','3'},
 {'','0'},
 {'s=','0'},
 {' ','3'},
 {'最近の更新','5'},
 })
 end

 functionp:test_replace()
 self:preprocess_equals_many('{{#invoke:String|replace|','}}',{
 {'1.1.1.1|.|/','1/1/1/1'},
 {'alpha (beta)| (| gamma (','alpha gamma (beta)'},
 {'Dog (cat)|%s%(.*%)||plain=false','Dog'},
 })
 end

 functionp:test_match()
 self:preprocess_equals_many('{{#invoke:String|match|','}}',{
 {'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','<strong class="error">String Module Error: Match not found</strong>'},
 {'dog (cat)|%((%a-)%)||2|ignore_errors=true',''},
 })
 end
 functionp:test_match()
 self:preprocess_equals_many('{{#invoke:String|match|','}}',{
 {'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','<strong class="error">String Module Error: Match not found</strong>'},
 {'dog (cat)|%((%a-)%)||2|ignore_errors=true',''},
 })
 end

 functionp:test_find()
 self:preprocess_equals_many('{{#invoke:String|find|','}}',{
 {'','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

 functionp:test_rep()
 self:preprocess_equals_many('{{#invoke:String|rep|','}}',{
 {'abc|1','abc'},
 {'a b|7','a ba ba ba ba ba ba b'},
 {'bla|glug|no_category=true','<strong class="error">String Module Error: function rep expects a number as second parameter, received "glug"</strong>'},
 {'bla|glug|ignore_errors=true',''},
 {'àèò|3','àèòàèòàèò'}
 })
 end

 returnp

AltStyle によって変換されたページ (->オリジナル) /