Modulo:String/test
Vai alla navigazione
Vai alla ricerca
La documentazione per questo modulo può essere creata in Modulo:String/test/man
-- Unit tests for [[Module:String]]. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_len() self:preprocess_equals_many('{{#invoke:String|len|', '}}', { {' foo ', '5'}, {'s= foo ', '3'}, {'', '0'}, {'s=', '0'}, {' ', '3'}, {'最近の更新', '5'}, }) end function p: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 function p: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 function p: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">Errore nel modulo String: Corrispondenza non trovata</strong>'}, {'dog (cat)|%((%a-)%)||2|ignore_errors=true', ''}, }) end function p: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 function p: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">Errore nel modulo String: la funzione rep si aspetta un secondo parametro con il numero di ripetizioni, ricevuto "glug"</strong>'}, {'bla|glug|ignore_errors=true', ''}, {'àèò|3', 'àèòàèòàèò'}, {'높지만|3', '높지만높지만높지만'}, }) end function p:test_decode() self:preprocess_equals_many('{{#invoke:String|decode|', '}}', { {'source=TEST%3D%3Dabc', 'TEST==abc'}, }) self:preprocess_equals_many('{{#invoke:String|decode|', '}}', { {'TEST%3D%3Dabc', 'TEST==abc'}, }) self:preprocess_equals_many('{{#invoke:String|decode|', '}}', { {'%24+%26', "$ &" }, }) self:preprocess_equals_many('{{#invoke:String|decode|', '}}', { {'%24+%26|PATH', "$+&" }, }) self:preprocess_equals_many('{{#invoke:String|decode|', '}}', { {'%24+%26|QUERY', "$ &" }, }) self:preprocess_equals_many('{{#invoke:String|decode|', '}}', { {'%24_%26|WIKI', "$ &" }, }) end function p:test_collate() self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {'Ameliè', 'Amelie'}, }) self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {'John le Carré', 'John le Carre'}, }) self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {"Anatolij Michajlovič Stessel'", "Anatolij Michajlovic Stessel'"}, }) self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {'Tōgō Heihachirō', "Togo Heihachiro"}, }) self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {'Tōgō Heihachirō', "Togo Heihachiro"}, }) self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {'Uryū Sotokichi', 'Uryu Sotokichi'}, }) self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {'Rolf Løvland', "Rolf Lovland"}, }) self:preprocess_equals_many('{{#invoke:String|collate|', '}}', { {'John Storgårds', "John Storgards"}, }) end function p:test_titolo_alfa() self:preprocess_equals_many('{{#invoke:String|titolo_alfa|', '}}', { {'prova', 'Prova'}, }) self:preprocess_equals_many('{{#invoke:String|titolo_alfa|', '}}', { {'prova (disambigua)', 'Prova'}, }) self:preprocess_equals_many('{{#invoke:String|titolo_alfa|', '}}', { {'...prova', 'Prova'}, }) self:preprocess_equals_many('{{#invoke:String|titolo_alfa|', '}}', { {'...prova (disambigua)', 'Prova'}, }) self:preprocess_equals_many('{{#invoke:String|titolo_alfa|', '}}', { {'Pròvâ', 'Prova'}, }) self:preprocess_equals_many('{{#invoke:String|titolo_alfa|', '}}', { {'Una prova', 'Prova, Una'}, }) self:preprocess_equals_many('{{#invoke:String|titolo_alfa|', '}}', { {'La prova (disambigua)', 'Prova, La'}, }) end return p