Module:String/testcases

From LIMSWiki
Jump to navigationJump to search

-- Unit tests for Module:String. Click talk page to run tests. local p = require('Module:UnitTests')

function p:test_len()

   self:preprocess_equals_many('Script error: No such module "String/sandbox".', {
       {' foo ', '5'},
       {'s= foo ', '3'},
       {, '0'},
       {'s=', '0'},
       {'   ', '3'},
       {'最近の更新', '5'},
   })

end

function p:test_replace()

   self:preprocess_equals_many('Script error: No such module "String/sandbox".', {
       {'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('Script error: No such module "String/sandbox".', {
       {'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('Script error: No such module "String/sandbox".', {
       {'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('Script error: No such module "String/sandbox".', {
       {, '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('Script error: No such module "String/sandbox".', {
       {'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