Module:Urltowiki/testcases

-- Unit tests for Module:Urltowiki. Click talk page to run tests. local p = require('Module:UnitTests')

function p:test_simple self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Banana', 'Banana'},        {'https://en.wikipedia.org/wiki/English_language', 'English language'},        {'https://en.wikipedia.org/wiki/Module:UnitTests', 'Module:UnitTests'},        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion', 'Wikipedia talk:Articles for deletion'},    }) end

function p:test_index_php self:preprocess_equals_many('', {       {'1=https://en.wikipedia.org/w/index.php?title=Banana', 'Banana'},        {'1=https://en.wikipedia.org/w/index.php?title=English_language', 'English language'},        {'1=https://en.wikipedia.org/w/index.php?title=Module:UnitTests', 'Module:UnitTests'},        {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion', 'Wikipedia talk:Articles for deletion'},    }) end

function p:test_url_parameter self:preprocess_equals_many('', {       {'url=https://en.wikipedia.org/w/index.php?title=Banana', 'Banana'},        {'url=https://en.wikipedia.org/w/index.php?title=English_language', 'English language'},        {'url=https://en.wikipedia.org/w/index.php?title=Module:UnitTests', 'Module:UnitTests'},        {'url=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion', 'Wikipedia talk:Articles for deletion'},    }) end

function p:test_partial_urls self:preprocess_equals_many('', {       {'Banana', 'Banana'},        {'English_language', 'English language'},        {'Module:UnitTests', 'Module:UnitTests'},        {'Wikipedia_talk:Articles_for_deletion', 'Wikipedia talk:Articles for deletion'},    }) end

function p:test_fragments self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Banana#Etymology', 'Banana'},        {'https://en.wikipedia.org/wiki/English_language#Classification_and_related_languages', 'English language'},        {'https://en.wikipedia.org/wiki/Module:UnitTests#preprocess_equals_many', 'Module:UnitTests'},        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion#Foo_bar', 'Wikipedia talk:Articles for deletion'},        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization', 'Wikipedia talk:Articles for deletion/Archive 1'},        {'1=https://en.wikipedia.org/w/index.php?title=Banana#Etymology', 'Banana'},        {'1=https://en.wikipedia.org/w/index.php?title=English_language#Classification_and_related_languages', 'English language'}, {'1=https://en.wikipedia.org/w/index.php?title=Module:UnitTests#preprocess_equals_many', 'Module:UnitTests'}, {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion#Foo_bar', 'Wikipedia talk:Articles for deletion'}, {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization', 'Wikipedia talk:Articles for deletion/Archive 1'}, {'Banana#Etymology', 'Banana'}, {'English_language#Classification_and_related_languages', 'English language'}, {'Module:UnitTests#preprocess_equals_many', 'Module:UnitTests'}, {'Wikipedia_talk:Articles_for_deletion#Foo_bar', 'Wikipedia talk:Articles for deletion'}, {'Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization', 'Wikipedia talk:Articles for deletion/Archive 1'}, }) end

function p:test_random_sites self:preprocess_equals_many('', {       {'http://www.theguardian.com/tv-and-radio/2013/sep/22/the-simpsons-secret-formula-maths-simon-singh', 'http://www.theguardian.com/tv-and-radio/2013/sep/22/the-simpsons-secret-formula-maths-simon-singh'},        {'1=http://www.youtube.com/watch?v=AxTiaInrLW4', 'http://www.youtube.com/watch?v=AxTiaInrLW4'},        {'http://www.ietf.org/rfc/rfc3092.txt', 'http://www.ietf.org/rfc/rfc3092.txt'},    }) end

function p:test_actions self:preprocess_equals_many('', {       {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia%3AArticles_for_deletion&#x26;action=history', 'Articles for deletion'},        {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia:Articles_for_deletion&#x26;offset=20121106111840&#x26;action=history', 'Articles for deletion'},        {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia:Articles_for_deletion&#x26;action=edit', 'Articles for deletion'},    }) end

function p:test_interwikis self:preprocess_equals_many('', {       {'https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual', 'mw:Extension:Scribunto/Lua reference manual'},        {'https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Lua_language', 'mw:Extension:Scribunto/Lua reference manual'},        {'1=https://www.mediawiki.org/w/index.php?title=Extension:Scribunto/Lua_reference_manual#Lua_language', 'mw:Extension:Scribunto/Lua reference manual'},        {'https://meta.wikimedia.org/wiki/Translation_requests/WMF', 'Translation requests/WMF'},    }) end

function p:test_colon_trick self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Category:Wikipedians', 'Category:Wikipedians'},        {'https://en.wikipedia.org/wiki/File:Example.png', 'File:Example.png'},        {'https://en.wikipedia.org/wiki/Image:Example.png', 'Image:Example.png'},        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion', 'Wikipedia talk:Articles for deletion'},        {'https://es.wikipedia.org/wiki/Milord_%28tratamiento%29', 'es:Milord (tratamiento)'},        {'https://es.wikipedia.org/wiki/Wikipedia:Cartelera_de_acontecimientos', 'es:Wikipedia:Cartelera de acontecimientos'},    }) end

function p:test_no_link self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Banana|link=no', 'Banana'},        {'https://en.wikipedia.org/wiki/English_language|link=no', 'English language'},        {'https://en.wikipedia.org/wiki/Module:UnitTests|link=no', 'Module:UnitTests'},        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion|link=no', 'Wikipedia talk:Articles for deletion'},        {'1=https://en.wikipedia.org/w/index.php?title=Banana|link=no', 'Banana'},        {'1=https://en.wikipedia.org/w/index.php?title=English_language|link=no', 'English language'},        {'1=https://en.wikipedia.org/w/index.php?title=Module:UnitTests|link=no', 'Module:UnitTests'},        {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion|link=no', 'Wikipedia talk:Articles for deletion'},        {'Banana|link=no', 'Banana'},        {'English_language|link=no', 'English language'}, {'Module:UnitTests|link=no', 'Module:UnitTests'}, {'Wikipedia_talk:Articles_for_deletion|link=no', 'Wikipedia talk:Articles for deletion'}, {'https://en.wikipedia.org/wiki/Category:Wikipedians|link=no', 'Category:Wikipedians'}, {'https://en.wikipedia.org/wiki/File:Example.png|link=no', 'File:Example.png'}, {'https://en.wikipedia.org/wiki/Image:Example.png|link=no', 'Image:Example.png'}, {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion|link=no', 'Wikipedia talk:Articles for deletion'}, {'https://es.wikipedia.org/wiki/Milord_%28tratamiento%29|link=no', 'es:Milord (tratamiento)'}, {'https://es.wikipedia.org/wiki/Wikipedia:Cartelera_de_acontecimientos|link=no', 'es:Wikipedia:Cartelera de acontecimientos'}, {'https://en.wikipedia.org/wiki/English_language|link=no|display=Foo', 'English language'}, {'1=https://en.wikipedia.org/w/index.php?title=English_language|link=no|display=Foo', 'English language'}, {'Banana|link=no|display=Foo', 'Banana'}, {'https://es.wikipedia.org/wiki/Milord_%28tratamiento%29|link=no|display=Foo', 'es:Milord (tratamiento)'}, }) end

function p:test_no_colon_trick self:preprocess_equals_many(, {       {'https://en.wikipedia.org/wiki/Category:Wikipedians|colontrick=no', },        {'https://en.wikipedia.org/wiki/File:Example.png|colontrick=no', },        {'https://en.wikipedia.org/wiki/Image:Example.png|colontrick=no', },        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion|colontrick=no', 'Wikipedia talk:Articles for deletion'},        {'https://es.wikipedia.org/wiki/Milord_%28tratamiento%29|colontrick=no', 'Milord (tratamiento)'},        {'https://es.wikipedia.org/wiki/Wikipedia:Cartelera_de_acontecimientos|colontrick=no', 'es:Wikipedia:Cartelera de acontecimientos'},    }, {nowiki = true}) end

function p:test_display self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Banana|display=Foo', 'Foo'},        {'https://en.wikipedia.org/wiki/English_language|display=Foo', 'Foo'},        {'https://en.wikipedia.org/wiki/Module:UnitTests|display=Foo', 'Foo'},        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion|display=Foo', 'Foo'},        {'1=https://en.wikipedia.org/w/index.php?title=Banana|display=Foo', 'Foo'},        {'1=https://en.wikipedia.org/w/index.php?title=English_language|display=Foo', 'Foo'},        {'1=https://en.wikipedia.org/w/index.php?title=Module:UnitTests|display=Foo', 'Foo'},        {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion|display=Foo', 'Foo'}, {'Banana|display=Foo', 'Foo'}, {'English_language|display=Foo', 'Foo'}, {'Module:UnitTests|display=Foo', 'Foo'}, {'Wikipedia_talk:Articles_for_deletion|display=Foo', 'Foo'}, {'https://en.wikipedia.org/wiki/Banana#Etymology|display=Foo', 'Foo'}, {'https://en.wikipedia.org/wiki/English_language#Classification_and_related_languages|display=Foo', 'Foo'}, {'https://en.wikipedia.org/wiki/Module:UnitTests#preprocess_equals_many|display=Foo', 'Foo'}, {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion#Foo_bar|display=Foo', 'Foo'}, {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization|display=Foo', 'Foo'}, {'1=https://en.wikipedia.org/w/index.php?title=Banana#Etymology|display=Foo', 'Foo'}, {'1=https://en.wikipedia.org/w/index.php?title=English_language#Classification_and_related_languages|display=Foo', 'Foo'}, {'1=https://en.wikipedia.org/w/index.php?title=Module:UnitTests#preprocess_equals_many|display=Foo', 'Foo'}, {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion#Foo_bar|display=Foo', 'Foo'}, {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization|display=Foo', 'Foo'}, {'Banana#Etymology|display=Foo', 'Foo'}, {'English_language#Classification_and_related_languages|display=Foo', 'Foo'}, {'Module:UnitTests#preprocess_equals_many|display=Foo', 'Foo'}, {'Wikipedia_talk:Articles_for_deletion#Foo_bar|display=Foo', 'Foo'}, {'Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization|display=Foo', 'Foo'}, }) end

function p:test_display_no_colon_trick self:preprocess_equals_many(, {       {'https://en.wikipedia.org/wiki/Category:Wikipedians|colontrick=no|display=Foo', },        {'https://en.wikipedia.org/wiki/File:Example.png|colontrick=no|display=Foo', },        {'https://en.wikipedia.org/wiki/Image:Example.png|colontrick=no|display=Foo', },        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion|colontrick=no|display=Foo', 'Foo'},        {'https://es.wikipedia.org/wiki/Milord_%28tratamiento%29|colontrick=no|display=Foo', 'Foo'},        {'https://es.wikipedia.org/wiki/Wikipedia:Cartelera_de_acontecimientos|colontrick=no|display=Foo', 'Foo'},    }, {nowiki = true}) end

function p:test_no_section self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Banana|section=no', 'Banana'},        {'https://en.wikipedia.org/wiki/English_language|section=no', 'English language'},        {'https://en.wikipedia.org/wiki/Module:UnitTests|section=no', 'Module:UnitTests'},        {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion|section=no', 'Wikipedia talk:Articles for deletion'},        {'1=https://en.wikipedia.org/w/index.php?title=Banana|section=no', 'Banana'},        {'1=https://en.wikipedia.org/w/index.php?title=English_language|section=no', 'English language'},        {'1=https://en.wikipedia.org/w/index.php?title=Module:UnitTests|section=no', 'Module:UnitTests'},        {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion|section=no', 'Wikipedia talk:Articles for deletion'},        {'Banana|section=no', 'Banana'}, {'English_language|section=no', 'English language'}, {'Module:UnitTests|section=no', 'Module:UnitTests'}, {'Wikipedia_talk:Articles_for_deletion|section=no', 'Wikipedia talk:Articles for deletion'}, {'https://en.wikipedia.org/wiki/Banana#Etymology|section=no', 'Banana'}, {'https://en.wikipedia.org/wiki/English_language#Classification_and_related_languages|section=no', 'English language'}, {'https://en.wikipedia.org/wiki/Module:UnitTests#preprocess_equals_many|section=no', 'Module:UnitTests'}, {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion#Foo_bar|section=no', 'Wikipedia talk:Articles for deletion'}, {'https://en.wikipedia.org/wiki/Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization|section=no', 'Wikipedia talk:Articles for deletion/Archive 1'}, {'1=https://en.wikipedia.org/w/index.php?title=Banana#Etymology|section=no', 'Banana'}, {'1=https://en.wikipedia.org/w/index.php?title=English_language#Classification_and_related_languages|section=no', 'English language'}, {'1=https://en.wikipedia.org/w/index.php?title=Module:UnitTests#preprocess_equals_many|section=no', 'Module:UnitTests'}, {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion#Foo_bar|section=no', 'Wikipedia talk:Articles for deletion'}, {'1=https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization|section=no', 'Wikipedia talk:Articles for deletion/Archive 1'}, {'Banana#Etymology|section=no', 'Banana'}, {'English_language#Classification_and_related_languages|section=no', 'English language'}, {'Module:UnitTests#preprocess_equals_many|section=no', 'Module:UnitTests'}, {'Wikipedia_talk:Articles_for_deletion#Foo_bar|section=no', 'Wikipedia talk:Articles for deletion'}, {'Wikipedia_talk:Articles_for_deletion/Archive_1#Proposed_reorganization|section=no', 'Wikipedia talk:Articles for deletion/Archive 1'}, }) end

function p:test_funky_characters self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Wikipedia:Village_pump_%28policy%29/Archive_102#Using_.7B.7BComment.7D.7D_on_articles', 'Village pump (policy)/Archive 102'},        {'https://es.wikivoyage.org/wiki/Bogot%C3%A1#En_avi.C3.B3n', 'Bogotá'},        {'https://ja.wikipedia.org/wiki/%E6%BC%A2%E5%AD%97', 'ja:漢字'},    }) end

function p:test_identical_page_and_display self:preprocess_equals_many('', {       {'https://en.wikipedia.org/wiki/Banana|Banana', 'Banana'},        {'https://en.wikipedia.org/wiki/Banana|banana', 'banana'},        {'https://en.wikipedia.org/wiki/Category:Foo|Category:Foo', 'Category:Foo'},    }) end

return p