local p = require('Module:UnitTests')
function p:test_module()
self:preprocess_equals_many('{{#invoke:Official website|main | ', ' }}', {
{
'example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'//example.com',
'<span class="official-website"><span class="url">[//example.com Official website]</span></span>'
},
{
'',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'www.example.com/path?section=96',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'1= www.example.com/path?section=96',
'<span class="official-website"><span class="url">[http://www.example.com/path?section=96 Official website]</span></span>'
},
{
'url= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'URL= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http:/example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com/',
'<span class="official-website"><span class="url">[http://example.com/ Official website]</span></span>'
},
{
'http://www.example.com:80',
'<span class="official-website"><span class="url">[http://www.example.com:80 Official website]</span></span>'
},
{
'https://example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span>'
},
{
'ftp://example.com',
'<span class="official-website"><span class="url">[ftp://example.com Official website]</span></span>'
},
{
'http://example.com | Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'url= http://example.com |name= Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'http://example.com |format= flash',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span>'
},
{
'http://example.com |mobile= http://m.example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> (<span class="url">[http://m.example.com Mobile]</span>)'
},
{
'https://example.com |format= flash |mobile= https://m.example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span> (<span class="url">[https://m.example.com Mobile]</span>)'
},
} )
end
function p:test_module_nowiki()
self:preprocess_equals_many('{{#invoke:Official website|main | ', ' }}', {
{
'example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'//example.com',
'<span class="official-website"><span class="url">[//example.com Official website]</span></span>'
},
{
'',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'www.example.com/path?section=96',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'1= www.example.com/path?section=96',
'<span class="official-website"><span class="url">[http://www.example.com/path?section=96 Official website]</span></span>'
},
{
'url= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'URL= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http:/example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com/',
'<span class="official-website"><span class="url">[http://example.com/ Official website]</span></span>'
},
{
'http://www.example.com:80',
'<span class="official-website"><span class="url">[http://www.example.com:80 Official website]</span></span>'
},
{
'https://example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span>'
},
{
'ftp://example.com',
'<span class="official-website"><span class="url">[ftp://example.com Official website]</span></span>'
},
{
'http://example.com | Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'url= http://example.com |name= Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'http://example.com |format= flash',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span>'
},
{
'http://example.com |mobile= http://m.example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> (<span class="url">[http://m.example.com Mobile]</span>)'
},
{
'https://example.com |format= flash |mobile= https://m.example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span> (<span class="url">[https://m.example.com Mobile]</span>)'
},
},{nowiki=1})
end
function p:test_sandbox()
self:preprocess_equals_many('{{#invoke:Official website/sandbox|main | ', ' }}', {
{
'example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'//example.com',
'<span class="official-website"><span class="url">[//example.com Official website]</span></span>'
},
{
'',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'www.example.com/path?section=96',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'1= www.example.com/path?section=96',
'<span class="official-website"><span class="url">[http://www.example.com/path?section=96 Official website]</span></span>'
},
{
'url= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'URL= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http:/example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com/',
'<span class="official-website"><span class="url">[http://example.com/ Official website]</span></span>'
},
{
'http://www.example.com:80',
'<span class="official-website"><span class="url">[http://www.example.com:80 Official website]</span></span>'
},
{
'https://example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span>'
},
{
'ftp://example.com',
'<span class="official-website"><span class="url">[ftp://example.com Official website]</span></span>'
},
{
'http://example.com | Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'url= http://example.com |name= Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'http://example.com |format= flash',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span>'
},
{
'http://example.com |mobile= http://m.example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> (<span class="url">[http://m.example.com Mobile]</span>)'
},
{
'https://example.com |format= flash |mobile= https://m.example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span> (<span class="url">[https://m.example.com Mobile]</span>)'
},
{
'http://example.jp | lang= jp',
'<span class="official-website"><span class="url">[http://example.jp Official website]</span></span> <span class="languageicon">(in Japanese)</span>'
},
{
'http://example.com | lang= en',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> <span class="languageicon">(in English)</span>'
},
{
'https://example.com |format= flash |mobile= https://m.example.com | lang= es',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span> (<span class="url">[https://m.example.com Mobile]</span>) <span class="languageicon">(in Spanish)</span>'
},
} )
end
function p:test_sandbox_nowiki()
self:preprocess_equals_many('{{#invoke:Official website/sandbox|main | ', ' }}', {
{
'example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'//example.com',
'<span class="official-website"><span class="url">[//example.com Official website]</span></span>'
},
{
'',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'www.example.com/path?section=96',
'<strong class="error">No URL found. Please specify a URL here or add one to Wikidata.</strong>'
},
{
'1= www.example.com/path?section=96',
'<span class="official-website"><span class="url">[http://www.example.com/path?section=96 Official website]</span></span>'
},
{
'url= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'URL= example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http:/example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span>'
},
{
'http://example.com/',
'<span class="official-website"><span class="url">[http://example.com/ Official website]</span></span>'
},
{
'http://www.example.com:80',
'<span class="official-website"><span class="url">[http://www.example.com:80 Official website]</span></span>'
},
{
'https://example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span>'
},
{
'ftp://example.com',
'<span class="official-website"><span class="url">[ftp://example.com Official website]</span></span>'
},
{
'http://example.com | Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'url= http://example.com |name= Example',
'<span class="official-website"><span class="url">[http://example.com Example]</span></span>'
},
{
'http://example.com |format= flash',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span>'
},
{
'http://example.com |mobile= http://m.example.com',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> (<span class="url">[http://m.example.com Mobile]</span>)'
},
{
'https://example.com |format= flash |mobile= https://m.example.com',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span> (<span class="url">[https://m.example.com Mobile]</span>)'
},
{
'http://example.jp | lang= jp',
'<span class="official-website"><span class="url">[http://example.jp Official website]</span></span> <span class="languageicon">(in Japanese)</span>'
},
{
'http://example.com | lang= en',
'<span class="official-website"><span class="url">[http://example.com Official website]</span></span> <span class="languageicon">(in English)</span>'
},
{
'https://example.com |format= flash |mobile= https://m.example.com | lang= es',
'<span class="official-website"><span class="url">[https://example.com Official website]</span></span> <span style="color:#505050">(Requires [[Adobe Flash Player]])</span> (<span class="url">[https://m.example.com Mobile]</span>) <span class="languageicon">(in Spanish)</span>'
},
},{nowiki=1})
end
return p