Koha Test Wiki MW Canasta on Koha Portainer
Test major Koha Wiki changes or bug fixes here without fear of breaking the production wiki.
For the current Koha Wiki, visit https://wiki.koha-community.org .Module:URL/testcases
Jump to navigation
Jump to search
Documentation for this module may be created at Module:URL/testcases/doc
-- Unit tests for [[Module:URL]]. Click talk page to run tests.
local p = require('Module:UnitTests')
function p:test_url()
local cases = {
'{{#invoke:URL/sandbox|url}}',
'{{#invoke:URL/sandbox|url|}}',
'{{#invoke:URL/sandbox|url||}}',
}
text = self.frame:expandTemplate{ title = 'tlx', args = { 'URL', "''example.com''", "''optional display text''" } }
for _, case in ipairs(cases) do
self:preprocess_equals(case, text)
end
cases = {
{'http://www.example.com/foo/bar?a=b&c=d', '[http://www.example.com/foo/bar?a=b&c=d www<wbr/>.example<wbr/>.com<wbr/>/foo<wbr/>/bar?a=b&c=d]'},
{'EXAMPLE.com', '[http://EXAMPLE.com example<wbr/>.com]'},
{'example.com', '[http://example.com example<wbr/>.com]'},
{'www.example.com', '[http://www.example.com www<wbr/>.example<wbr/>.com]'},
{'http://www.example.com', '[http://www.example.com www<wbr/>.example<wbr/>.com]'},
{'https://www.example.com', '[https://www.example.com www<wbr/>.example<wbr/>.com]'},
{'ftp://www.example.com', '[ftp://www.example.com www<wbr/>.example<wbr/>.com]'},
{'//www.example.com', '[//www.example.com www<wbr/>.example<wbr/>.com]'},
{'ftp://ftp.example.com', '[ftp://ftp.example.com ftp<wbr/>.example<wbr/>.com]'},
{'http://www.example.com/', '[http://www.example.com/ www<wbr/>.example<wbr/>.com]'},
{'http://www.example.com/path', '[http://www.example.com/path www<wbr/>.example<wbr/>.com<wbr/>/path]'},
{'www.example.com/foo', '[http://www.example.com/foo www<wbr/>.example<wbr/>.com<wbr/>/foo]'},
{'http://www.example.com/foo | link', '[http://www.example.com/foo link]'},
{'www.example.com/foo | link', '[http://www.example.com/foo link]'},
{'http://www.example.com/path/', '[http://www.example.com/path/ www<wbr/>.example<wbr/>.com<wbr/>/path<wbr/>/]'},
{'www.example.com/foo/', '[http://www.example.com/foo/ www<wbr/>.example<wbr/>.com<wbr/>/foo<wbr/>/]'},
{'1=http://www.example.com/path?section=17', '[http://www.example.com/path?section=17 www<wbr/>.example<wbr/>.com<wbr/>/path?section=17]'},
{'1=www.example.com/foo?page=42 ', '[http://www.example.com/foo?page=42 www<wbr/>.example<wbr/>.com<wbr/>/foo?page=42]'},
{'http://www.example.com/foo/ | link', '[http://www.example.com/foo/ link]'},
{'www.example.com/foo/ | link', '[http://www.example.com/foo/ link]'},
-- From [[Template:URL/testcases]] (and not already listed above)
{'http://', '[http:// ]'},
{'WWW.EXAMPLE.COM', '[http://WWW.EXAMPLE.COM www<wbr/>.example<wbr/>.com]'},
{'https://www.EXAMPLE.cOm', '[https://www.EXAMPLE.cOm www<wbr/>.example<wbr/>.com]'},
{'HTTPS://www.EXAMPLE.cOm/', '[HTTPS://www.EXAMPLE.cOm/ www<wbr/>.example<wbr/>.com]'},
{'https://www.example.com/', '[https://www.example.com/ www<wbr/>.example<wbr/>.com]'},
{'http://example.com', '[http://example.com example<wbr/>.com]'},
{'https://example.com', '[https://example.com example<wbr/>.com]'},
{'ftp://example.com', '[ftp://example.com example<wbr/>.com]'},
{'http://www.example.com/foo/bar', '[http://www.example.com/foo/bar www<wbr/>.example<wbr/>.com<wbr/>/foo<wbr/>/bar]'},
{'http://www.example.com/foo/bar/', '[http://www.example.com/foo/bar/ www<wbr/>.example<wbr/>.com<wbr/>/foo<wbr/>/bar<wbr/>/]'},
{'http://www.example.com/foO/BaR', '[http://www.example.com/foO/BaR www<wbr/>.example<wbr/>.com<wbr/>/foO<wbr/>/BaR]'},
{'https://www.example.com/foo/bar', '[https://www.example.com/foo/bar www<wbr/>.example<wbr/>.com<wbr/>/foo<wbr/>/bar]'},
{'http://example.com/foo/bar', '[http://example.com/foo/bar example<wbr/>.com<wbr/>/foo<wbr/>/bar]'},
{'https://example.com/foo/bar', '[https://example.com/foo/bar example<wbr/>.com<wbr/>/foo<wbr/>/bar]'},
{'example.com/foo/bar', '[http://example.com/foo/bar example<wbr/>.com<wbr/>/foo<wbr/>/bar]'},
{'www.example.com/foo/bar', '[http://www.example.com/foo/bar www<wbr/>.example<wbr/>.com<wbr/>/foo<wbr/>/bar]'},
{'http://example.com/foo/bar | ', '[http://example.com/foo/bar example<wbr/>.com<wbr/>/foo<wbr/>/bar]'},
{'1=http://www.example.com?foo=BaR', '[http://www.example.com?foo=BaR www<wbr/>.example<wbr/>.com?foo=BaR]'},
{'http://www.example.com#fooBaR', '[http://www.example.com#fooBaR www<wbr/>.example<wbr/>.com<wbr/>#fooBaR]'},
{'http://www.example.com:8080', '[http://www.example.com:8080 www<wbr/>.example<wbr/>.com:8080]'},
{'http://www.example.com:8080/foo/bar', '[http://www.example.com:8080/foo/bar www<wbr/>.example<wbr/>.com:8080<wbr/>/foo<wbr/>/bar]'},
{'www.example.com:8080', '[http://www.example.com:8080 www<wbr/>.example<wbr/>.com:8080]'},
{'www.example.com:8080/foo/bar', '[http://www.example.com:8080/foo/bar www<wbr/>.example<wbr/>.com:8080<wbr/>/foo<wbr/>/bar]'},
{'http://www.example.com/foo bar', '[http://www.example.com/foo%20bar www<wbr/>.example<wbr/>.com<wbr/>/foo%20bar]'},
{'www.example.com/foo bar', '[http://www.example.com/foo%20bar www<wbr/>.example<wbr/>.com<wbr/>/foo%20bar]'},
{'http://example.com/foo/bar | link', '[http://example.com/foo/bar link]'},
{'https://example.com/foo/bar | link', '[https://example.com/foo/bar link]'},
{'example.com/foo/bar | link', '[http://example.com/foo/bar link]'},
{'www.example.com/foo/bar | link', '[http://www.example.com/foo/bar link]'},
{'www.example.com/foo/bar | 捦挺挎', '[http://www.example.com/foo/bar 捦挺挎]'},
{'www.example.com/foo/捦挺挎/bar | link', '[http://www.example.com/foo/捦挺挎/bar link]'},
{'عمان.icom.museum', '[http://عمان.icom.museum عمان<wbr/>.icom<wbr/>.museum]'},
{'http://عمان.icom.museum', '[http://عمان.icom.museum عمان<wbr/>.icom<wbr/>.museum]'},
{'1964thetribute.com', '[http://1964thetribute.com 1964thetribute<wbr/>.com]'},
{'1964thetribute.com | 1964thetribute.com', '[http://1964thetribute.com 1964thetribute<wbr/>.com]'},
{'1= http://www.example.com/foo/bar?a=b&c=d', '[http://www.example.com/foo/bar?a=b&c=d www<wbr/>.example<wbr/>.com<wbr/>/foo<wbr/>/bar?a=b&c=d]'},
{'1=www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath;cc=umhistmath;rgn=full%20text;idno=ABS3153.0001.001;didno=ABS3153.0001.001;view=image;seq=00000140',
'[http://www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath;cc=umhistmath;rgn=full%20text;idno=ABS3153.0001.001;didno=ABS3153.0001.001;view=image;seq=00000140 www<wbr/>.hti<wbr/>.umich<wbr/>.edu<wbr/>/cgi<wbr/>/t<wbr/>/text<wbr/>/pageviewer-idx?c=umhistmath%3Bcc%3Dumhistmath%3Brgn%3Dfull+text%3Bidno%3DABS3153<wbr/>.0001<wbr/>.001%3Bdidno%3DABS3153<wbr/>.0001<wbr/>.001%3Bview%3Dimage%3Bseq%3D00000140]'},
{'http://www.sho.com/site/dexter/home.sho | \'\'Dexter\'\'{{\'}}s official website',
'[http://www.sho.com/site/dexter/home.sho \'\'Dexter\'\'<span class="nowrap" style="padding-left:0.1em;">'</span>s official website]' },
}
for _, case in ipairs(cases) do
self:preprocess_equals('{{#invoke:URL/sandbox|url|' .. case[1] .. '}}', '<span class="url">' .. case[2] .. '</span>', {nowiki=true})
end
self:preprocess_equals('{{#invoke:URL/sandbox|url|2= example.com}}', 'example.com', {nowiki=true})
self:preprocess_equals('{{#invoke:URL/sandbox|url|2= http://example.com/foo}}', 'http://example.com/foo', {nowiki=true})
end
return p