Module:URL/testcases

-- Unit tests for Module:URL. Click talk page to run tests. local p = require('Module:UnitTests') function p:test_url local cases = { ,       ,        ,        ,    }    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 = { {'EXAMPLE.com', 'example.com'}, {'example.com', 'example.com'}, {'www.example.com', 'www.example.com'}, {'http://www.example.com', 'www.example.com'}, {'https://www.example.com', 'www.example.com'}, {'ftp://www.example.com', 'www.example.com'}, {'ftp://ftp.example.com', 'ftp.example.com'}, {'http://www.example.com/', 'www.example.com'}, {'http://www.example.com/path', 'www.example.com/path'}, {'www.example.com/foo', 'www.example.com/foo'}, {'http://www.example.com/foo | link', 'link'}, {'www.example.com/foo | link', 'link'}, {'http://www.example.com/path/', 'www.example.com/path/'}, {'www.example.com/foo/', 'www.example.com/foo/'}, {'1=http://www.example.com/path?section=17', 'www.example.com/path?section=17'}, {'1=www.example.com/foo?page=42 ', 'www.example.com/foo?page=42'}, {'http://www.example.com/foo/ | link', 'link'}, {'www.example.com/foo/ | link', 'link'}, -- From Template:URL/testcases (and not already listed above) {'http://', '[http:// ]'}, {'WWW.EXAMPLE.COM', 'www.example.com'}, {'https://www.EXAMPLE.cOm', 'www.example.com'}, {'HTTPS://www.EXAMPLE.cOm/', '[HTTPS://www.EXAMPLE.cOm/ www.example.com]'}, {'https://www.example.com/', 'www.example.com'}, {'http://example.com', 'example.com'}, {'https://example.com', 'example.com'}, {'ftp://example.com', 'example.com'}, {'http://www.example.com/foo/bar', 'www.example.com/foo/bar'}, {'http://www.example.com/foo/bar/', 'www.example.com/foo/bar/'}, {'http://www.example.com/foO/BaR', 'www.example.com/foO/BaR'}, {'https://www.example.com/foo/bar', 'www.example.com/foo/bar'}, {'http://example.com/foo/bar', 'example.com/foo/bar'}, {'https://example.com/foo/bar', 'example.com/foo/bar'}, {'example.com/foo/bar', 'example.com/foo/bar'}, {'www.example.com/foo/bar', 'www.example.com/foo/bar'}, {'http://example.com/foo/bar | ', 'example.com/foo/bar'}, {'1=http://www.example.com?foo=BaR', 'www.example.com?foo=BaR'}, {'http://www.example.com#fooBaR', 'www.example.com#fooBaR'}, {'http://www.example.com:8080', 'www.example.com:8080'}, {'http://www.example.com:8080/foo/bar', 'www.example.com:8080/foo/bar'}, {'www.example.com:8080', 'www.example.com:8080'}, {'www.example.com:8080/foo/bar', 'www.example.com:8080/foo/bar'}, {'http://www.example.com/foo bar', 'www.example.com/foo%20bar'}, {'www.example.com/foo bar', 'www.example.com/foo%20bar'}, {'http://example.com/foo/bar | link', 'link'}, {'https://example.com/foo/bar | link', 'link'}, {'example.com/foo/bar | link', 'link'}, {'www.example.com/foo/bar | link', 'link'}, {'www.example.com/foo/bar | 捦挺挎', '捦挺挎'}, {'www.example.com/foo/捦挺挎/bar | link', 'link'}, {'عمان.icom.museum', 'عمان.icom.museum'}, {'http://عمان.icom.museum', 'عمان.icom.museum'}, {'1964thetribute.com', '1964thetribute.com'}, {'1964thetribute.com | 1964thetribute.com', '1964thetribute.com'}, {'1= http://www.example.com/foo/bar?a=b&c=d', 'www.example.com/foo/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', 'www.hti.umich.edu/cgi/t/text/pageviewer-idx?c=umhistmath%3Bcc%3Dumhistmath%3Brgn%3Dfull+text%3Bidno%3DABS3153.0001.001%3Bdidno%3DABS3153.0001.001%3Bview%3Dimage%3Bseq%3D00000140'}, }   for _, case in ipairs(cases) do        self:preprocess_equals('', ' ' .. case[2] .. ' ', {nowiki=true}) end

self:preprocess_equals('', 'example.com', {nowiki=true}) self:preprocess_equals('', 'http://example.com/foo', {nowiki=true}) end

return p