Jump to content

Module:URL/testcases

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Dcoetzee (talk | contribs) at 01:26, 27 February 2013. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
-- Unit tests for [[Module:URL]]. Click talk page to run tests.
local p = require('Module:UnitTests')
 
function p:test_url()
    cases = {
        '{{#invoke:URL|url}}',
        '{{#invoke:URL|url|}}',
        '{{#invoke:URL|url||}}',
    }
    for i, str in cases do
        self:preprocess_equals(str, self.frame:expandTemplate{ title = 'tlx', args = { 'URL', "''example.com''", "''optional display text''" } })
    end
        
    cases = {
        {'EXAMPLE.com', '[http://EXAMPLE.com example.com]'},
        {'example.com', '[http://example.com example.com]'},
        {'www.example.com', '[http://www.example.com www.example.com]'},
        {'http://www.example.com', '[http://www.example.com www.example.com]'},
        {'https://www.example.com', '[https://www.example.com www.example.com]'},
        {'ftp://www.example.com', '[ftp://www.example.com www.example.com]'},
        {'ftp://ftp.example.com', '[ftp://ftp.example.com ftp.example.com]'},
        {'http://www.example.com/', '[http://www.example.com/ www.example.com]'},
        {'http://www.example.com/path', '[http://www.example.com/path www.example.com/path]'},
        {'www.example.com/foo', '[http://www.example.com/foo www.example.com/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.example.com/path/]'},
        {'www.example.com/foo/', '[http://www.example.com/foo/ www.example.com/foo/]'},
        {'1=http://www.example.com/path?section=17', '[http://www.example.com/path?section=17 www.example.com/path?section=17]'},
        {'1=www.example.com/foo?page=42 ', '[http://www.example.com/foo?page=42 www.example.com/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:// ]'},
    }

    for i, case in ipairs(cases) do
        self:preprocess_equals('{{#invoke:URL|url|' .. case[1] .. '}}', '<span class="url">' .. case[2] .. '</span>', {nowiki=true})
    end
end

return p