Difference between revisions of "Module:Delink/testcases"
Jump to navigation
Jump to search
blackwiki>Mr. Stradivarius (reverse pipe trick test cases) |
blackwiki>Mr. Stradivarius (give the test functions numbers - this should put them in order on the results page) |
||
Line 1: | Line 1: | ||
local p = require('Module:UnitTests') | local p = require('Module:UnitTests') | ||
− | function p: | + | function p:test_1_basic() |
self:preprocess_equals('{{#invoke:Delink|delink|[[Apple]]}}', 'Apple') | self:preprocess_equals('{{#invoke:Delink|delink|[[Apple]]}}', 'Apple') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[[Orange]]s are dissimilar to [[Apple]]s}}', 'Oranges are dissimilar to Apples') | self:preprocess_equals('{{#invoke:Delink|delink|[[Orange]]s are dissimilar to [[Apple]]s}}', 'Oranges are dissimilar to Apples') | ||
− | + | self:preprocess_equals('{{#invoke:Delink|delink|[[Apple]]s and [[orange]]s and [[fruit salad|other kinds of fruit]]}}', 'Apples and oranges and other kinds of fruit') | |
self:preprocess_equals('{{#invoke:Delink|delink|All [[Gone]] [[wikt:to|]] [[Bed]] [[Now]]}}', 'All Gone to Bed Now') | self:preprocess_equals('{{#invoke:Delink|delink|All [[Gone]] [[wikt:to|]] [[Bed]] [[Now]]}}', 'All Gone to Bed Now') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[[Survey]] of [http://books.google.com Google Books] on [[UK|Britain]]}}', 'Survey of Google Books on Britain') | self:preprocess_equals('{{#invoke:Delink|delink|[[Survey]] of [http://books.google.com Google Books] on [[UK|Britain]]}}', 'Survey of Google Books on Britain') | ||
end | end | ||
− | function p: | + | function p:test_2_cats_and_interwikis() |
self:preprocess_equals('{{#invoke:Delink|delink|[[Category:Foo]]}}', '') | self:preprocess_equals('{{#invoke:Delink|delink|[[Category:Foo]]}}', '') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[[es:Foo]]}}', '') | self:preprocess_equals('{{#invoke:Delink|delink|[[es:Foo]]}}', '') | ||
Line 18: | Line 18: | ||
end | end | ||
− | function p: | + | function p:test_3_colontrick() |
self:preprocess_equals('{{#invoke:Delink|delink|[[:Category:Foo]]}}', 'Category:Foo') | self:preprocess_equals('{{#invoke:Delink|delink|[[:Category:Foo]]}}', 'Category:Foo') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[[:es:Foo]]}}', 'es:Foo') | self:preprocess_equals('{{#invoke:Delink|delink|[[:es:Foo]]}}', 'es:Foo') | ||
Line 27: | Line 27: | ||
end | end | ||
− | function p: | + | function p:test_4_pipetrick() |
self:preprocess_equals('{{#invoke:Delink|delink|[[Pipe (computing)|]]}}', 'Pipe') | self:preprocess_equals('{{#invoke:Delink|delink|[[Pipe (computing)|]]}}', 'Pipe') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[[Boston, Massachusetts|]]}}', 'Boston') | self:preprocess_equals('{{#invoke:Delink|delink|[[Boston, Massachusetts|]]}}', 'Boston') | ||
Line 41: | Line 41: | ||
end | end | ||
− | function p: | + | function p:test_5_reverse_pipetrick() |
self:preprocess_equals('{{#invoke:Delink|delink|[[|foo]]}}', 'foo') | self:preprocess_equals('{{#invoke:Delink|delink|[[|foo]]}}', 'foo') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[[|multiple|pipes]]}}', '[[|multiple|pipes]]') | self:preprocess_equals('{{#invoke:Delink|delink|[[|multiple|pipes]]}}', '[[|multiple|pipes]]') | ||
Line 49: | Line 49: | ||
end | end | ||
− | function p: | + | function p:test_6_badlinks() |
self:preprocess_equals('{{#invoke:Delink|delink|[[<]]}}', '[[<]]') | self:preprocess_equals('{{#invoke:Delink|delink|[[<]]}}', '[[<]]') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[[Category:<]]}}', '[[Category:<]]') | self:preprocess_equals('{{#invoke:Delink|delink|[[Category:<]]}}', '[[Category:<]]') | ||
Line 70: | Line 70: | ||
end | end | ||
− | function p: | + | function p:test_7_URI_slashes() |
self:preprocess_equals('{{#invoke:Delink|delink|[/foo]}}', '[/foo]') | self:preprocess_equals('{{#invoke:Delink|delink|[/foo]}}', '[/foo]') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[/foo bar]}}', '[/foo bar]') | self:preprocess_equals('{{#invoke:Delink|delink|[/foo bar]}}', '[/foo bar]') | ||
Line 83: | Line 83: | ||
end | end | ||
− | function p: | + | function p:test_8_URI_prefixes() |
self:preprocess_equals('{{#invoke:Delink|delink|[://foo]}}', '[://foo]') | self:preprocess_equals('{{#invoke:Delink|delink|[://foo]}}', '[://foo]') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[:://foo]}}', '[:://foo]') | self:preprocess_equals('{{#invoke:Delink|delink|[:://foo]}}', '[:://foo]') | ||
Line 111: | Line 111: | ||
end | end | ||
− | function p: | + | function p:test_9_URI_special_characters() |
self:preprocess_equals('{{#invoke:Delink|delink|[:http://foo]}}', '[:http://foo]') | self:preprocess_equals('{{#invoke:Delink|delink|[:http://foo]}}', '[:http://foo]') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[http://<foo]}}', '<foo') | self:preprocess_equals('{{#invoke:Delink|delink|[http://<foo]}}', '<foo') | ||
Line 122: | Line 122: | ||
end | end | ||
− | function p: | + | function p:test_10_nesting() |
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|text[[<s name=]]>stricken</s>more text]]}}', 'text[[<s name=]]>stricken</s>more text]]') | self:preprocess_equals_preprocess('{{#invoke:Delink|delink|text[[<s name=]]>stricken</s>more text]]}}', 'text[[<s name=]]>stricken</s>more text]]') | ||
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|text[[<s>stricken</s>more text]]}}', 'text[[<s>stricken</s>more text]]') | self:preprocess_equals_preprocess('{{#invoke:Delink|delink|text[[<s>stricken</s>more text]]}}', 'text[[<s>stricken</s>more text]]') | ||
Line 131: | Line 131: | ||
end | end | ||
− | function p: | + | function p:test_11_http_links() |
self:preprocess_equals('{{#invoke:Delink|delink|[http]}}', '[http]') | self:preprocess_equals('{{#invoke:Delink|delink|[http]}}', '[http]') | ||
self:preprocess_equals('{{#invoke:Delink|delink|[http:foo]}}', '[http:foo]') | self:preprocess_equals('{{#invoke:Delink|delink|[http:foo]}}', '[http:foo]') |
Revision as of 18:09, 3 April 2013
Documentation for this module may be created at Module:Delink/testcases/doc
local p = require('Module:UnitTests')
function p:test_1_basic()
self:preprocess_equals('{{#invoke:Delink|delink|[[Apple]]}}', 'Apple')
self:preprocess_equals('{{#invoke:Delink|delink|[[Orange]]s are dissimilar to [[Apple]]s}}', 'Oranges are dissimilar to Apples')
self:preprocess_equals('{{#invoke:Delink|delink|[[Apple]]s and [[orange]]s and [[fruit salad|other kinds of fruit]]}}', 'Apples and oranges and other kinds of fruit')
self:preprocess_equals('{{#invoke:Delink|delink|All [[Gone]] [[wikt:to|]] [[Bed]] [[Now]]}}', 'All Gone to Bed Now')
self:preprocess_equals('{{#invoke:Delink|delink|[[Survey]] of [http://books.google.com Google Books] on [[UK|Britain]]}}', 'Survey of Google Books on Britain')
end
function p:test_2_cats_and_interwikis()
self:preprocess_equals('{{#invoke:Delink|delink|[[Category:Foo]]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[[es:Foo]]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[[wikt:Foo]]}}', 'wikt:Foo')
self:preprocess_equals('{{#invoke:Delink|delink|[[es:Wikipedia:Políticas]]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[[abcd:efgh:ijkl]]}}', 'abcd:efgh:ijkl')
self:preprocess_equals('{{#invoke:Delink|delink|[[cbk-zam:abcd:efgh]]}}', '')
end
function p:test_3_colontrick()
self:preprocess_equals('{{#invoke:Delink|delink|[[:Category:Foo]]}}', 'Category:Foo')
self:preprocess_equals('{{#invoke:Delink|delink|[[:es:Foo]]}}', 'es:Foo')
self:preprocess_equals('{{#invoke:Delink|delink|[[:wikt:Foo]]}}', 'wikt:Foo')
self:preprocess_equals('{{#invoke:Delink|delink|[[:es:Wikipedia:Políticas]]}}', 'es:Wikipedia:Políticas')
self:preprocess_equals('{{#invoke:Delink|delink|[[:abcd:efgh:ijkl]]}}', 'abcd:efgh:ijkl')
self:preprocess_equals('{{#invoke:Delink|delink|[[:cbk-zam:abcd:efgh]]}}', 'cbk-zam:abcd:efgh')
end
function p:test_4_pipetrick()
self:preprocess_equals('{{#invoke:Delink|delink|[[Pipe (computing)|]]}}', 'Pipe')
self:preprocess_equals('{{#invoke:Delink|delink|[[Boston, Massachusetts|]]}}', 'Boston')
self:preprocess_equals('{{#invoke:Delink|delink|[[Wikipedia:Verifiability|]]}}', 'Verifiability')
self:preprocess_equals('{{#invoke:Delink|delink|[[User:Example|]]}}', 'Example')
self:preprocess_equals('{{#invoke:Delink|delink|[[Template:Welcome|]]}}', 'Welcome')
self:preprocess_equals('{{#invoke:Delink|delink|[[Yours, Mine and Ours (1968 film)|]]}}', 'Yours, Mine and Ours')
self:preprocess_equals('{{#invoke:Delink|delink|[[:es:Wikipedia:Políticas|]]}}', 'Wikipedia:Políticas')
self:preprocess_equals('{{#invoke:Delink|delink|[[Il Buono, il Brutto, il Cattivo|]]}}', 'Il Buono')
self:preprocess_equals('{{#invoke:Delink|delink|[[Wikipedia:Manual of Style (Persian)|]]}}', 'Manual of Style')
self:preprocess_equals('{{#invoke:Delink|delink|[[Wikipedia:Manual of Style(Persian)|]]}}', 'Manual of Style')
self:preprocess_equals('{{#invoke:Delink|delink|[[foo|bar|]]}}', 'bar|')
end
function p:test_5_reverse_pipetrick()
self:preprocess_equals('{{#invoke:Delink|delink|[[|foo]]}}', 'foo')
self:preprocess_equals('{{#invoke:Delink|delink|[[|multiple|pipes]]}}', '[[|multiple|pipes]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[|foo (bar)]]}}', 'foo (bar)')
self:preprocess_equals('{{#invoke:Delink|delink|[[|foo, bar (baz)]]}}', 'foo, bar (baz)')
self:preprocess_equals('{{#invoke:Delink|delink|[[|simultaneous pipe trick|]]}}', '[[|simultaneous pipe trick|]]')
end
function p:test_6_badlinks()
self:preprocess_equals('{{#invoke:Delink|delink|[[<]]}}', '[[<]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[Category:<]]}}', '[[Category:<]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[:Category:<]]}}', '[[:Category:<]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[:Category:<|Foo]]}}', '[[:Category:<|Foo]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[:Category:<|]]}}', '[[:Category:<|]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[:Category:Foo|<]]}}', '<')
self:preprocess_equals('{{#invoke:Delink|delink|[[Category:Foo|<]]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[[Foo:Bar|<]]}}', '<')
self:preprocess_equals('{{#invoke:Delink|delink|[[Foo:Bar:>]]}}', '[[Foo:Bar:>]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[es:Wikipedia:<]]}}', '[[es:Wikipedia:<]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[es:Wikipedia:Foo|<]]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[[:es:Wikipedia:<]]}}', '[[:es:Wikipedia:<]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[:es:Wikipedia:Foo|<]]}}', '<')
self:preprocess_equals('{{#invoke:Delink|delink|[[Foo:Bar:Foo#>]]}}', 'Foo:Bar:Foo#>')
self:preprocess_equals('{{#invoke:Delink|delink|[[Foo:Bar:Foo>#Baz]]}}', '[[Foo:Bar:Foo>#Baz]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[Foo#Bar>#Baz]]}}', 'Foo#Bar>#Baz')
self:preprocess_equals('{{#invoke:Delink|delink|[[Foo>#Bar#Baz]]}}', '[[Foo>#Bar#Baz]]')
self:preprocess_equals('{{#invoke:Delink|delink|[[wikt:es:asdf:�Template:title#Fragment]]}}', '[[wikt:es:asdf:�Template:title#Fragment]]')
end
function p:test_7_URI_slashes()
self:preprocess_equals('{{#invoke:Delink|delink|[/foo]}}', '[/foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[/foo bar]}}', '[/foo bar]')
self:preprocess_equals('{{#invoke:Delink|delink|[//foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[//foo bar]}}', 'bar')
self:preprocess_equals('{{#invoke:Delink|delink|[///foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[///foo bar]}}', 'bar')
self:preprocess_equals('{{#invoke:Delink|delink|[////foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[////foo bar]}}', 'bar')
self:preprocess_equals('{{#invoke:Delink|delink|[///////////////////////////////////foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[///////////////////////////////////foo bar]}}', 'bar')
end
function p:test_8_URI_prefixes()
self:preprocess_equals('{{#invoke:Delink|delink|[://foo]}}', '[://foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[:://foo]}}', '[:://foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[abcd://]}}', '[abcd://]')
self:preprocess_equals('{{#invoke:Delink|delink|[abcd://foo]}}', '[abcd://foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[http://]}}', '[http://]')
self:preprocess_equals('{{#invoke:Delink|delink|[http://foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[https://]}}', '[https://]')
self:preprocess_equals('{{#invoke:Delink|delink|[https://foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[ftp://]}}', '[ftp://]')
self:preprocess_equals('{{#invoke:Delink|delink|[ftp://foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[gopher://]}}', '[gopher://]')
self:preprocess_equals('{{#invoke:Delink|delink|[gopher://foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[mailto:]}}', '[mailto:]')
self:preprocess_equals('{{#invoke:Delink|delink|[mailto:foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[news]}}', '[news]')
self:preprocess_equals('{{#invoke:Delink|delink|[news at ten]}}', '[news at ten]')
self:preprocess_equals('{{#invoke:Delink|delink|[news:]}}', '[news:]')
self:preprocess_equals('{{#invoke:Delink|delink|[news: at ten]}}', '[news: at ten]')
self:preprocess_equals('{{#invoke:Delink|delink|[news:/]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[news:/ at ten]}}', 'at ten')
self:preprocess_equals('{{#invoke:Delink|delink|[news://]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[news://foo]}}', '')
self:preprocess_equals('{{#invoke:Delink|delink|[news://foo at ten]}}', 'at ten')
self:preprocess_equals('{{#invoke:Delink|delink|[irc://]}}', '[irc://]')
self:preprocess_equals('{{#invoke:Delink|delink|[irc://foo]}}', '')
end
function p:test_9_URI_special_characters()
self:preprocess_equals('{{#invoke:Delink|delink|[:http://foo]}}', '[:http://foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[http://<foo]}}', '<foo')
self:preprocess_equals('{{#invoke:Delink|delink|[http://foo"bar]}}', '"bar')
self:preprocess_equals('{{#invoke:Delink|delink|[http://"foo]}}', '[http://"foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[http://>foo]}}', '>foo')
self:preprocess_equals('{{#invoke:Delink|delink|[http://foo<bar]}}', '<bar')
self:preprocess_equals('{{#invoke:Delink|delink|[http://foo>bar]}}', '>bar')
self:preprocess_equals('{{#invoke:Delink|delink|[http:// foo]}}', '[http:// foo]')
end
function p:test_10_nesting()
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|text[[<s name=]]>stricken</s>more text]]}}', 'text[[<s name=]]>stricken</s>more text]]')
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|text[[<s>stricken</s>more text]]}}', 'text[[<s>stricken</s>more text]]')
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|[[outer[[inner]]outer]]}}', '[[outerinnerouter]]')
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|[http://outer outer [[inner]] outer]}}', 'outer inner outer')
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|[[outer[http://inner inner]outer]]}}', '[[outerinnerouter]]')
self:preprocess_equals_preprocess('{{#invoke:Delink|delink|[[outer[http://inner]outer]]]}}', '[[outerouter]]]')
end
function p:test_11_http_links()
self:preprocess_equals('{{#invoke:Delink|delink|[http]}}', '[http]')
self:preprocess_equals('{{#invoke:Delink|delink|[http:foo]}}', '[http:foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[http:]}}', '[http:]')
self:preprocess_equals('{{#invoke:Delink|delink|[http:foo]}}', '[http:foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[http:/]}}', '[http:/]')
self:preprocess_equals('{{#invoke:Delink|delink|[http:/foo]}}', '[http:/foo]')
self:preprocess_equals('{{#invoke:Delink|delink|[http://]}}', '[http://]')
self:preprocess_equals('{{#invoke:Delink|delink|[http://foo]}}', '')
end
return p