local concat = table.concat
local format = string.format
local insert = table.insert
local nowiki = require("Module:string utilities").nowiki
local tostring = tostring
local frame = mw.getCurrentFrame()
local function preprocess(text)
return frame:preprocess(text)
end
local function dump_object(object)
if type(object) ~= "table" then
return object
end
return tostring(object)
end
local Token = {}
Token.__index = Token
Token.__tostring = function(t)
return t[1]
end
function Token:new(type)
return setmetatable({
type
}, Token)
end
local tests = require("Module:UnitTests")
local parser = require("Module:User:Theknightwho/wikitext parser")
function tests:compare(test, expected)
tests:equals(
{nowiki(test), test},
dump_object(parser.parse(test)),
expected,
{nowiki = true}
)
end
function tests:compare_preprocess(test, expected)
local preprocessed = preprocess(test)
tests:equals(
{nowiki(test), preprocessed},
dump_object(parser.parse(preprocessed)),
expected,
{nowiki = true}
)
end
--[==[
function tests:test_headings()
local tests = {
{"\n=foo=", {"\n", HeadingStart:new{1}, "foo", HeadingEnd}},
}
self:iterate(tests, "compare")
end
]==]
function tests:test_magic_links()
local tests = {
"ISBN",
{"ISBN 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN 0", "ISBN 0"},
{"ISBN 0123456789", "[[:Special:BookSources/0123456789|ISBN 0123456789]]"},
{"ISBN 1413304540-", "[[:Special:BookSources/1413304540|ISBN 1413304540]]-"},
{"ISBN 1413304540&", "[[:Special:BookSources/1413304540|ISBN 1413304540]]&"},
{"ISBN 1413304540…", "[[:Special:BookSources/1413304540|ISBN 1413304540]]…"},
{"ISBN 14133045405", "ISBN 14133045405"},
{"ISBN 1413304540q", "ISBN 1413304540q"},
{"ISBN 1413304540é", "ISBN 1413304540é"},
{"ISBN 1413304540𠀀", "ISBN 1413304540𠀀"},
{"ISBN 141330454X", "[[:Special:BookSources/141330454X|ISBN 141330454X]]"},
{"ISBN 141330454x", "[[:Special:BookSources/141330454X|ISBN 141330454x]]"},
{"ISBN 141330454-0", "[[:Special:BookSources/1413304540|ISBN 141330454-0]]"},
{"ISBN 14-1330-454-0", "[[:Special:BookSources/1413304540|ISBN 14-1330-454-0]]"},
{"ISBN 141330454-X", "[[:Special:BookSources/141330454X|ISBN 141330454-X]]"},
{"ISBN 141330454-x", "[[:Special:BookSources/141330454X|ISBN 141330454-x]]"},
{"ISBN 1-4-1-3-3-0-4-5-4-0", "[[:Special:BookSources/1413304540|ISBN 1-4-1-3-3-0-4-5-4-0]]"},
{"ISBN 1-4-1-3-3-0-4-5-4-X", "[[:Special:BookSources/141330454X|ISBN 1-4-1-3-3-0-4-5-4-X]]"},
{"ISBN 141330454", "ISBN 141330454"},
{"ISBN 14133045X", "ISBN 14133045X"},
{"ISBN 14133045x", "ISBN 14133045x"},
{"ISBN 14133045400", "ISBN 14133045400"},
{"ISBN 141330454x0", "ISBN 141330454x0"},
{"ISBN 1413304540X", "ISBN 1413304540X"},
{"ISBN -1413304540", "ISBN -1413304540"},
{"ISBN 1413304540-0", "[[:Special:BookSources/1413304540|ISBN 1413304540]]-0"},
{"ISBN 141330454x-0", "[[:Special:BookSources/141330454X|ISBN 141330454x]]-0"},
{"ISBN 1413304540-X", "[[:Special:BookSources/1413304540|ISBN 1413304540]]-X"},
{"ISBN 141330454-00", "ISBN 141330454-00"},
{"ISBN 141330454-x0", "ISBN 141330454-x0"},
{"ISBN 141330454-0X", "ISBN 141330454-0X"},
{"ISBN 141330454-0-0", "[[:Special:BookSources/1413304540|ISBN 141330454-0]]-0"},
{"ISBN 141330454-x-0", "[[:Special:BookSources/141330454X|ISBN 141330454-x]]-0"},
{"ISBN 141330454-0-X", "[[:Special:BookSources/1413304540|ISBN 141330454-0]]-X"},
{"ISBN 1-4-1-3-3-0-4-5-4-0-0", "[[:Special:BookSources/1413304540|ISBN 1-4-1-3-3-0-4-5-4-0]]-0"},
{"ISBN 1-4-1-3-3-0-4-5-4-x-0", "[[:Special:BookSources/141330454X|ISBN 1-4-1-3-3-0-4-5-4-x]]-0"},
{"ISBN 1-4-1-3-3-0-4-5-4-0-X", "[[:Special:BookSources/1413304540|ISBN 1-4-1-3-3-0-4-5-4-0]]-X"},
{"ISBN 141x304540", "ISBN 141x304540"},
{"ISBN 141X30454X", "ISBN 141X30454X"},
{"ISBN 141x304540X", "ISBN 141x304540X"},
{"ISBN 141X30454-0", "ISBN 141X30454-0"},
{"ISBN 141X30454-x", "ISBN 141X30454-x"},
{"ISBN 141x304540-X", "ISBN 141x304540-X"},
{"ISBN 141x30454-0X", "ISBN 141x30454-0X"},
{"ISBN 141x30454-0-X", "ISBN 141x30454-0-X"},
{"ISBN 14-1X30-454-0", "ISBN 14-1X30-454-0"},
{"ISBN 14-1X30-454-x", "ISBN 14-1X30-454-x"},
{"ISBN 14-1x30-4540-X", "ISBN 14-1x30-4540-X"},
{"ISBN 14-1x30-454-0X", "ISBN 14-1x30-454-0X"},
{"ISBN 14-1x30-454-0-X", "ISBN 14-1x30-454-0-X"},
{"ISBN 1-4-1-X-3-0-4-5-4-0", "ISBN 1-4-1-X-3-0-4-5-4-0"},
{"ISBN 1-4-1-X-3-0-4-5-4-x", "ISBN 1-4-1-X-3-0-4-5-4-x"},
{"ISBN 1-4-1-X-3-0-4-5-4-0-X", "ISBN 1-4-1-X-3-0-4-5-4-0-X"},
{"ISBN 14133045405", "[[:Special:BookSources/1413304540|ISBN 1413304540]]5"},
{"ISBN 1413304540q", "[[:Special:BookSources/1413304540|ISBN 1413304540]]q"},
{"ISBN 1413304540é", "[[:Special:BookSources/1413304540|ISBN 1413304540]]é"},
{"ISBN 1413304540𠀀", "[[:Special:BookSources/1413304540|ISBN 1413304540]]𠀀"},
{"ISBN \194\160 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN\225\154\128\226\129\159\226\128\131 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN 1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN   1413304540", "[[:Special:BookSources/1413304540|ISBN 1413304540]]"},
{"ISBN 1413304540", "ISBN 1413304540"},
{"ISBN 1413304540", "ISBN 1413304540"},
{"ISBN 1413304540", "ISBN 1413304540"},
{"ISBN 1413304540", "ISBN 1413304540"},
{"ISBN 1413304540 0", "[[:Special:BookSources/1413304540|ISBN 1413304540]] 0"},
{"ISBN 141330454x 0", "[[:Special:BookSources/141330454X|ISBN 141330454x]] 0"},
{"ISBN 1413304540 X", "[[:Special:BookSources/1413304540|ISBN 1413304540]] X"},
{"ISBN 141-3304540 0", "[[:Special:BookSources/1413304540|ISBN 141-3304540]] 0"},
{"ISBN 1-4133 0454x 0", "[[:Special:BookSources/141330454X|ISBN 1-4133 0454x]] 0"},
{"ISBN 1 4133 0454x 0", "[[:Special:BookSources/141330454X|ISBN 1 4133 0454x]] 0"},
{"ISBN-1413304540", "ISBN-1413304540"},
{"ISBN-1413304540", "ISBN-1413304540"},
{"ISBN 1413304540", "ISBN 1413304540"},
{"ISBN 14133-0454x", "ISBN 14133-0454x"},
{"ISBN 14133 -04540", "ISBN 14133 -04540"},
{"ISBN 14133- 04540", "ISBN 14133- 04540"},
{"ISBN 14133- 04540", "ISBN 14133- 04540"},
{"ISBN 14 13304540", "ISBN 14 13304540"},
{"ISBN 14133\226\128\130 04540", "ISBN 14133\226\128\130 04540"},
{"ISBN 14--133 04540", "ISBN 14--133 04540"},
{"ISBN 14 13304540", "ISBN 14 13304540"},
{"ISBN 1413304 540", "ISBN 1413304\226\128\135540"},
{"ISBN 9780306406157", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]"},
{"ISBN 9780306406157-", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]-"},
{"ISBN 9780306406157&", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]&"},
{"ISBN 9780306406157…", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]…"},
{"ISBN 97803064061575", "ISBN 97803064061575"},
{"ISBN 9780306406157q", "ISBN 9780306406157q"},
{"ISBN 9780306406157é", "ISBN 9780306406157é"},
{"ISBN 9780306406157𠀀", "ISBN 9780306406157𠀀"},
{"ISBN 97803064061575", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]5"},
{"ISBN 9780306406157q", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]q"},
{"ISBN 9780306406157é", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]é"},
{"ISBN 9780306406157𠀀", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]𠀀"},
{"ISBN 9790306406157", "[[:Special:BookSources/9790306406157|ISBN 9790306406157]]"},
{"ISBN 978030640615X", "[[:Special:BookSources/978030640615X|ISBN 978030640615X]]"},
{"ISBN 978030640615x", "[[:Special:BookSources/978030640615X|ISBN 978030640615x]]"},
{"ISBN 978-0-306-40615-7", "[[:Special:BookSources/9780306406157|ISBN 978-0-306-40615-7]]"},
{"ISBN 978-0-306-40615-X", "[[:Special:BookSources/978030640615X|ISBN 978-0-306-40615-X]]"},
{"ISBN 978-0-306-40615-x", "[[:Special:BookSources/978030640615X|ISBN 978-0-306-40615-x]]"},
{"ISBN 9-7-8-0-3-0-6-4-0-6-1-5-7", "[[:Special:BookSources/9780306406|ISBN 9-7-8-0-3-0-6-4-0-6]]-1-5-7"},
{"ISBN 9-7-8-0-3-0-6-4-0-6-1-5-X", "[[:Special:BookSources/9780306406|ISBN 9-7-8-0-3-0-6-4-0-6]]-1-5-X"},
{"ISBN 9780306406 157", "[[:Special:BookSources/9780306406157|ISBN 9780306406 157]]"},
{"ISBN 9780306406 157", "[[:Special:BookSources/9780306406157|ISBN 9780306406 157]]"},
{"ISBN 9770306406157", "ISBN 9770306406157"},
{"ISBN 9680306406157", "ISBN 9680306406157"},
{"ISBN 8780306406157", "ISBN 8780306406157"},
{"ISBN 9-780306406157", "ISBN 9-780306406157"},
{"ISBN 97-80306406157", "ISBN 97-80306406157"},
{"ISBN 978-0306406157", "[[:Special:BookSources/9780306406157|ISBN 978-0306406157]]"},
{"ISBN 97803064061", "ISBN 97803064061"},
{"ISBN 9780306406X", "ISBN 9780306406X"},
{"ISBN 9780306406x", "ISBN 9780306406x"},
{"ISBN 97803064061570", "ISBN 97803064061570"},
{"ISBN 9780306406157X", "ISBN 9780306406157X"},
{"ISBN 9780306406157x", "ISBN 9780306406157x"},
{"ISBN 97803064061x0", "ISBN 97803064061x0"},
{"ISBN -9780306406157", "ISBN -9780306406157"},
{"ISBN 9780306406157-0", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]-0"},
{"ISBN 978030640615x-0", "[[:Special:BookSources/978030640615X|ISBN 978030640615x]]-0"},
{"ISBN 9780306406157-X", "[[:Special:BookSources/9780306406157|ISBN 9780306406157]]-X"},
{"ISBN 978030640615-00", "ISBN 978030640615-00"},
{"ISBN 978030640615-x0", "ISBN 978030640615-x0"},
{"ISBN 978030640615-0X", "ISBN 978030640615-0X"},
{"ISBN 978030640615-7-0", "[[:Special:BookSources/9780306406157|ISBN 978030640615-7]]-0"},
{"ISBN 978030640615-x-0", "[[:Special:BookSources/978030640615X|ISBN 978030640615-x]]-0"},
{"ISBN 978030640615-7-X", "[[:Special:BookSources/9780306406157|ISBN 978030640615-7]]-X"},
{"ISBN 978-0-3-0-6-4-0-6-1-5-7-0", "[[:Special:BookSources/9780306406157|ISBN 978-0-3-0-6-4-0-6-1-5-7]]-0"},
{"ISBN 978-0-3-0-6-4-0-6-1-5-x-0", "[[:Special:BookSources/978030640615X|ISBN 978-0-3-0-6-4-0-6-1-5-x]]-0"},
{"ISBN 978-0-3-0-6-4-0-6-1-5-7-X", "[[:Special:BookSources/9780306406157|ISBN 978-0-3-0-6-4-0-6-1-5-7]]-X"},
{"ISBN 978-0-3-0-6-4-0-6-1-5", "[[:Special:BookSources/9780306406|ISBN 978-0-3-0-6-4-0-6]]-1-5"},
{"ISBN 978-0-3-0-6-4-0-6-1-x", "[[:Special:BookSources/9780306406|ISBN 978-0-3-0-6-4-0-6]]-1-x"},
{"ISBN 978-0-3-0-6-4-0-6-1", "[[:Special:BookSources/9780306406|ISBN 978-0-3-0-6-4-0-6]]-1"},
{"ISBN 978-0-3-0-6-4-0-6-X", "[[:Special:BookSources/9780306406|ISBN 978-0-3-0-6-4-0-6]]-X"},
{"ISBN 978-0-3-0-6-4-0-6", "[[:Special:BookSources/9780306406|ISBN 978-0-3-0-6-4-0-6]]"},
{"ISBN 978-0-3-0-6-4-0-X", "[[:Special:BookSources/978030640X|ISBN 978-0-3-0-6-4-0-X]]"},
{"ISBN 9-7-8-0-3-0-6-4-0-6-1-5-7-0", "[[:Special:BookSources/9780306406|ISBN 9-7-8-0-3-0-6-4-0-6]]-1-5-7-0"},
{"ISBN 9-7-8-0-3-0-6-4-0-6-1-5-x-0", "[[:Special:BookSources/9780306406|ISBN 9-7-8-0-3-0-6-4-0-6]]-1-5-x-0"},
{"ISBN 9-7-8-0-3-0-6-4-0-6-1-5-7-X", "[[:Special:BookSources/9780306406|ISBN 9-7-8-0-3-0-6-4-0-6]]-1-5-7-X"},
"PMID",
{"PMID 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID 0", "[//www.ncbi.nlm.nih.gov/pubmed/0?dopt=Abstract PMID 0]"},
{"PMID 0123456789", "[//www.ncbi.nlm.nih.gov/pubmed/0123456789?dopt=Abstract PMID 0123456789]"},
{"PMID 11209037-", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]-"},
{"PMID 11209037&", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]&"},
{"PMID 11209037…", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]…"},
{"PMID 112090375", "[//www.ncbi.nlm.nih.gov/pubmed/112090375?dopt=Abstract PMID 112090375]"},
{"PMID 11209037q", "PMID 11209037q"},
{"PMID 11209037é", "PMID 11209037é"},
{"PMID 11209037𠀀", "PMID 11209037𠀀"},
{"PMID 112090375", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]5"},
{"PMID 11209037q", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]q"},
{"PMID 11209037é", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]é"},
{"PMID 11209037𠀀", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]𠀀"},
{"PMID \194\160 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID\225\154\128\226\129\159\226\128\131 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID   11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt=Abstract PMID 11209037]"},
{"PMID 11209037", "PMID 11209037"},
{"PMID 11209037", "PMID 11209037"},
{"PMID 11209037", "PMID 11209037"},
{"PMID 11209037", "PMID 11209037"},
"RFC",
{"RFC 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC 0", "[https://tools.ietf.org/html/rfc0 RFC 0]"},
{"RFC 0123456789", "[https://tools.ietf.org/html/rfc0123456789 RFC 0123456789]"},
{"RFC 5620-", "[https://tools.ietf.org/html/rfc5620 RFC 5620]-"},
{"RFC 5620&", "[https://tools.ietf.org/html/rfc5620 RFC 5620]&"},
{"RFC 5620…", "[https://tools.ietf.org/html/rfc5620 RFC 5620]…"},
{"RFC 56205", "[https://tools.ietf.org/html/rfc56205 RFC 56205]"},
{"RFC 5620q", "RFC 5620q"},
{"RFC 5620é", "RFC 5620é"},
{"RFC 5620𠀀", "RFC 5620𠀀"},
{"RFC 56205", "[https://tools.ietf.org/html/rfc5620 RFC 5620]5"},
{"RFC 5620q", "[https://tools.ietf.org/html/rfc5620 RFC 5620]q"},
{"RFC 5620é", "[https://tools.ietf.org/html/rfc5620 RFC 5620]é"},
{"RFC 5620𠀀", "[https://tools.ietf.org/html/rfc5620 RFC 5620]𠀀"},
{"RFC \194\160 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC\225\154\128\226\129\159\226\128\131 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC 5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC   5620", "[https://tools.ietf.org/html/rfc5620 RFC 5620]"},
{"RFC 5620", "RFC 5620"},
{"RFC 5620", "RFC 5620"},
{"RFC 5620", "RFC 5620"},
{"RFC 5620", "RFC 5620"},
}
self:iterate(tests, "compare")
end
function tests:test_strip_markers()
local tests = {
{"<nowiki>foo</nowiki>", "foo"},
{"<nowiki>[[foo]]</nowiki>", "[[foo]]"},
{"<nowiki>[https://en.wiktionary.org/]</nowiki>", "[https://en.wiktionary.org/]"},
{"<nowiki>https://en.wiktionary.org/</nowiki>", "https://en.wiktionary.org/"},
{"<nowiki>&</nowiki>", "&"},
{"<nowiki>∾̳</nowiki>", "∾̳"},
}
self:iterate(tests, "compare_preprocess")
end
function tests:test_wikilinks()
local tests = {
{"[[foo]]", "[[:foo|foo]]"},
{"[[f%6Fo]]", "[[:foo|foo]]"},
{"[[fo%6f]]", "[[:foo|foo]]"},
{"[[%66%6F%6f]]", "[[:foo|foo]]"},
{"[[foo]]", "[[:foo|foo]]"},
{"[[foo]]", "[[:foo|foo]]"},
{"[[foo]]", "[[:foo|foo]]"},
{"[[foo]]", "[[:foo|foo]]"},
{"[[f%6Fo]]", "[[:foo|foo]]"},
{"[[f%26%23%78%36%46%3bo]]", "[[:foo|foo]]"},
{"[[%26%23%78%36%36%3B%26%23%31%31%31%3b%26%23%58%36%66%3B]]", "[[:foo|foo]]"},
{"[[f%25%36%66o]]", "[[f%25%36%66o]]"},
{"[[f%6fo]]", "[[f%6fo]]"},
{"[[[foo]]", "[[[foo]]"},
{"[[foo]]]", "[[:foo|foo]]]"},
{"[[[foo]]]", "[[[foo]]]"},
{"[[[[foo]]", "[[[[:foo|foo]]"},
{"[[foo]]]]", "[[:foo|foo]]]]"},
{"[[[[foo]]]", "[[[[:foo|foo]]]"},
{"[[[foo]]]]", "[[[foo]]]]"},
{"[[[[foo]]]]", "[[[[:foo|foo]]]]"},
{"[[[[[foo]]", "[[[[[foo]]"},
{"[[foo]]]]]", "[[:foo|foo]]]]]"},
{"[[[[[foo]]]", "[[[[[foo]]]"},
{"[[[foo]]]]]", "[[[foo]]]]]"},
{"[[[[[foo]]]]", "[[[[[foo]]]]"},
{"[[[[foo]]]]]", "[[[[:foo|foo]]]]]"},
{"[[[[[foo]]]]]", "[[[[[foo]]]]]"},
{"[[[[[[foo]]", "[[[[[[:foo|foo]]"},
{"[[foo]]]]]]", "[[:foo|foo]]]]]]"},
{"[[[[[[foo]]]", "[[[[[[:foo|foo]]]"},
{"[[[foo]]]]]]", "[[[foo]]]]]]"},
{"[[[[[[foo]]]]", "[[[[[[:foo|foo]]]]"},
{"[[[[foo]]]]]]", "[[[[:foo|foo]]]]]]"},
{"[[[[[[foo]]]]]", "[[[[[[:foo|foo]]]]]"},
{"[[[[[foo]]]]]]", "[[[[[foo]]]]]]"},
{"[[[[[[foo]]]]]]", "[[[[[[:foo|foo]]]]]]"},
{"[[foo|bar]]", "[[:foo|bar]]"},
{"[[[foo|bar]]", "[[[foo|bar]]"},
{"[[foo|bar]]]", "[[:foo|bar]]]"},
{"[[[foo|bar]]]", "[[[foo|bar]]]"},
{"[[[[foo|bar]]", "[[[[:foo|bar]]"},
{"[[foo|bar]]]]", "[[:foo|bar]]]]"},
{"[[[[foo|bar]]]", "[[[[:foo|bar]]]"},
{"[[[foo|bar]]]]", "[[[foo|bar]]]]"},
{"[[[[foo|bar]]]]", "[[[[:foo|bar]]]]"},
{"[[[[[foo|bar]]", "[[[[[foo|bar]]"},
{"[[foo|bar]]]]]", "[[:foo|bar]]]]]"},
{"[[[[[foo|bar]]]", "[[[[[foo|bar]]]"},
{"[[[foo|bar]]]]]", "[[[foo|bar]]]]]"},
{"[[[[[foo|bar]]]]", "[[[[[foo|bar]]]]"},
{"[[[[foo|bar]]]]]", "[[[[:foo|bar]]]]]"},
{"[[[[[foo|bar]]]]]", "[[[[[foo|bar]]]]]"},
{"[[[[[[foo|bar]]", "[[[[[[:foo|bar]]"},
{"[[foo|bar]]]]]]", "[[:foo|bar]]]]]]"},
{"[[[[[[foo|bar]]]", "[[[[[[:foo|bar]]]"},
{"[[[foo|bar]]]]]]", "[[[foo|bar]]]]]]"},
{"[[[[[[foo|bar]]]]", "[[[[[[:foo|bar]]]]"},
{"[[[[foo|bar]]]]]]", "[[[[:foo|bar]]]]]]"},
{"[[[[[[foo|bar]]]]]", "[[[[[[:foo|bar]]]]]"},
{"[[[[[foo|bar]]]]]]", "[[[[[foo|bar]]]]]]"},
{"[[[[[[foo|bar]]]]]]", "[[[[[[:foo|bar]]]]]]"},
{"[[foo|[bar]]", "[[:foo|[bar]]"},
{"[[[foo|[bar]]", "[[[foo|[bar]]"},
{"[[foo|[bar]]]", "[[:foo|[bar]]]"},
{"[[[foo|[bar]]]", "[[[foo|[bar]]]"},
{"[[[[foo|[bar]]", "[[[[:foo|[bar]]"},
{"[[foo|[bar]]]]", "[[:foo|[bar]]]]"},
{"[[[[foo|[bar]]]", "[[[[:foo|[bar]]]"},
{"[[[foo|[bar]]]]", "[[[foo|[bar]]]]"},
{"[[[[foo|[bar]]]]", "[[[[:foo|[bar]]]]"},
{"[[[[[foo|[bar]]", "[[[[[foo|[bar]]"},
{"[[foo|[bar]]]]]", "[[:foo|[bar]]]]]"},
{"[[[[[foo|[bar]]]", "[[[[[foo|[bar]]]"},
{"[[[foo|[bar]]]]]", "[[[foo|[bar]]]]]"},
{"[[[[[foo|[bar]]]]", "[[[[[foo|[bar]]]]"},
{"[[[[foo|[bar]]]]]", "[[[[:foo|[bar]]]]]"},
{"[[[[[foo|[bar]]]]]", "[[[[[foo|[bar]]]]]"},
{"[[[[[[foo|[bar]]", "[[[[[[:foo|[bar]]"},
{"[[foo|[bar]]]]]]", "[[:foo|[bar]]]]]]"},
{"[[foo|[bar]]]]]]]", "[[:foo|[bar]]]]]]]"},
{"[[[[[[foo|[bar]]]", "[[[[[[:foo|[bar]]]"},
{"[[[foo|[bar]]]]]]", "[[[foo|[bar]]]]]]"},
{"[[[foo|[bar]]]]]]]", "[[[foo|[bar]]]]]]]"},
{"[[[[[[foo|[bar]]]]", "[[[[[[:foo|[bar]]]]"},
{"[[[[foo|[bar]]]]]]", "[[[[:foo|[bar]]]]]]"},
{"[[[[foo|[bar]]]]]]]", "[[[[:foo|[bar]]]]]]]"},
{"[[[[[[foo|[bar]]]]]", "[[[[[[:foo|[bar]]]]]"},
{"[[[[[foo|[bar]]]]]]", "[[[[[foo|[bar]]]]]]"},
{"[[[[[foo|[bar]]]]]]]", "[[[[[foo|[bar]]]]]]]"},
{"[[[[[[foo|[bar]]]]]]", "[[[[[[:foo|[bar]]]]]]"},
{"[[[[[[foo|[bar]]]]]]]", "[[[[[[:foo|[bar]]]]]]]"},
{"[[foo|][][][][]]", "[[:foo|][][][][]]"},
{"[[foo|[][][][][]]", "[[:foo|[][][][][]]"},
{"[[foo|][][][][]]]", "[[:foo|][][][][]]]"},
{"[[foo|[][][][][]]]", "[[:foo|[][][][][]]]"},
{"[[foo|][][[][][]]", "[[foo|][][[][][]]"},
{"[[foo|[][][[][][]]", "[[foo|[][][[][][]]"},
{"[[foo|][][[][][]]]", "[[foo|][][[][][]]]"},
{"[[foo|[][][[][][]]]", "[[foo|[][][[][][]]]"},
{"[[foo[[bar]]", "[[foo[[:bar|bar]]"},
{"[[foo]]bar]]", "[[:foo|foobar]]]]"},
{"[[foo\000bar]]","[[:foobar|foobar]]"},
{"[[foo\1bar]]", "[[foo\1bar]]"},
{"[[foo\2bar]]", "[[foo\2bar]]"},
{"[[foo\3bar]]", "[[foo\3bar]]"},
{"[[foo\4bar]]", "[[foo\4bar]]"},
{"[[foo\5bar]]", "[[foo\5bar]]"},
{"[[foo\6bar]]", "[[foo\6bar]]"},
{"[[foo\abar]]", "[[foo\abar]]"},
{"[[foo\bbar]]", "[[foo\bbar]]"},
{"[[foo\tbar]]", "[[foo\tbar]]"},
{"[[foo\nbar]]", "[[foo\nbar]]"},
{"[[foo\vbar]]", "[[foo\vbar]]"},
{"[[foo\fbar]]", "[[foo\fbar]]"},
{"[[foo\rbar]]", "[[foo\nbar]]"},
{"[[foo\14bar]]", "[[foo\14bar]]"},
{"[[foo\15bar]]", "[[foo\15bar]]"},
{"[[foo\16bar]]", "[[foo\16bar]]"},
{"[[foo\17bar]]", "[[foo\17bar]]"},
{"[[foo\18bar]]", "[[foo\18bar]]"},
{"[[foo\19bar]]", "[[foo\19bar]]"},
{"[[foo\20bar]]", "[[foo\20bar]]"},
{"[[foo\21bar]]", "[[foo\21bar]]"},
{"[[foo\22bar]]", "[[foo\22bar]]"},
{"[[foo\23bar]]", "[[foo\23bar]]"},
{"[[foo\24bar]]", "[[foo\24bar]]"},
{"[[foo\25bar]]", "[[foo\25bar]]"},
{"[[foo\26bar]]", "[[foo\26bar]]"},
{"[[foo\27bar]]", "[[foo\27bar]]"},
{"[[foo\28bar]]", "[[foo\28bar]]"},
{"[[foo\29bar]]", "[[foo\29bar]]"},
{"[[foo\30bar]]", "[[foo\30bar]]"},
{"[[foo\31bar]]", "[[foo\31bar]]"},
{"[[foo bar]]", "[[:foo bar|foo bar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo=bar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo~bar]]", "[[:foo~bar|foo~bar]]"},
{"[[foo\127bar]]", "[[foo\127bar]]"},
{"[[foo%00bar]]", "[[foo%00bar]]"},
{"[[foo%01bar]]", "[[foo%01bar]]"},
{"[[foo%02bar]]", "[[foo%02bar]]"},
{"[[foo%03bar]]", "[[foo%03bar]]"},
{"[[foo%04bar]]", "[[foo%04bar]]"},
{"[[foo%05bar]]", "[[foo%05bar]]"},
{"[[foo%06bar]]", "[[foo%06bar]]"},
{"[[foo%07bar]]", "[[foo%07bar]]"},
{"[[foo%08bar]]", "[[foo%08bar]]"},
{"[[foo%09bar]]", "[[foo%09bar]]"},
{"[[foo%0Abar]]", "[[foo%0Abar]]"},
{"[[foo%0abar]]", "[[foo%0abar]]"},
{"[[foo%0Bbar]]", "[[foo%0Bbar]]"},
{"[[foo%0bbar]]", "[[foo%0bbar]]"},
{"[[foo%0Cbar]]", "[[foo%0Cbar]]"},
{"[[foo%0cbar]]", "[[foo%0cbar]]"},
{"[[foo%0Dbar]]", "[[foo%0Dbar]]"},
{"[[foo%0dbar]]", "[[foo%0dbar]]"},
{"[[foo%0Ebar]]", "[[foo%0Ebar]]"},
{"[[foo%0ebar]]", "[[foo%0ebar]]"},
{"[[foo%0Fbar]]", "[[foo%0Fbar]]"},
{"[[foo%0fbar]]", "[[foo%0fbar]]"},
{"[[foo%10bar]]", "[[foo%10bar]]"},
{"[[foo%11bar]]", "[[foo%11bar]]"},
{"[[foo%12bar]]", "[[foo%12bar]]"},
{"[[foo%13bar]]", "[[foo%13bar]]"},
{"[[foo%14bar]]", "[[foo%14bar]]"},
{"[[foo%15bar]]", "[[foo%15bar]]"},
{"[[foo%16bar]]", "[[foo%16bar]]"},
{"[[foo%17bar]]", "[[foo%17bar]]"},
{"[[foo%18bar]]", "[[foo%18bar]]"},
{"[[foo%19bar]]", "[[foo%19bar]]"},
{"[[foo%1Abar]]", "[[foo%1Abar]]"},
{"[[foo%1abar]]", "[[foo%1abar]]"},
{"[[foo%1Bbar]]", "[[foo%1Bbar]]"},
{"[[foo%1bbar]]", "[[foo%1bbar]]"},
{"[[foo%1Cbar]]", "[[foo%1Cbar]]"},
{"[[foo%1cbar]]", "[[foo%1cbar]]"},
{"[[foo%1Dbar]]", "[[foo%1Dbar]]"},
{"[[foo%1dbar]]", "[[foo%1dbar]]"},
{"[[foo%1Ebar]]", "[[foo%1Ebar]]"},
{"[[foo%1ebar]]", "[[foo%1ebar]]"},
{"[[foo%1Fbar]]", "[[foo%1Fbar]]"},
{"[[foo%1fbar]]", "[[foo%1fbar]]"},
{"[[foo%20bar]]", "[[:foo bar|foo bar]]"},
{"[[foo%3Cbar]]", "[[foo%3Cbar]]"},
{"[[foo%3cbar]]", "[[foo%3cbar]]"},
{"[[foo%3Dbar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo%3dbar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo%3Ebar]]", "[[foo%3Ebar]]"},
{"[[foo%3ebar]]", "[[foo%3ebar]]"},
{"[[foo%5Bbar]]", "[[foo%5Bbar]]"},
{"[[foo%5bbar]]", "[[foo%5bbar]]"},
{"[[foo%5Dbar]]", "[[foo%5Dbar]]"},
{"[[foo%5dbar]]", "[[foo%5dbar]]"},
{"[[foo%7Bbar]]", "[[foo%7Bbar]]"},
{"[[foo%7bbar]]", "[[foo%7bbar]]"},
{"[[foo%7Cbar]]", "[[foo%7Cbar]]"},
{"[[foo%7cbar]]", "[[foo%7cbar]]"},
{"[[foo%7Dbar]]", "[[foo%7Dbar]]"},
{"[[foo%7dbar]]", "[[foo%7dbar]]"},
{"[[foo%7Ebar]]", "[[:foo~bar|foo~bar]]"},
{"[[foo%7ebar]]", "[[:foo~bar|foo~bar]]"},
{"[[foo%7Fbar]]", "[[foo%7Fbar]]"},
{"[[foo%7fbar]]", "[[foo%7fbar]]"},
{"[[foo�bar]]", "[[foo&#0;bar]]"},
{"[[foobar]]", "[[foo&#1;bar]]"},
{"[[foobar]]", "[[foo&#2;bar]]"},
{"[[foobar]]", "[[foo&#3;bar]]"},
{"[[foobar]]", "[[foo&#4;bar]]"},
{"[[foobar]]", "[[foo&#5;bar]]"},
{"[[foobar]]", "[[foo&#6;bar]]"},
{"[[foobar]]", "[[foo&#7;bar]]"},
{"[[foobar]]", "[[foo&#8;bar]]"},
{"[[foo	bar]]", "[[foo\tbar]]"},
{"[[foo bar]]", "[[foo\nbar]]"},
{"[[foobar]]", "[[foo&#11;bar]]"},
{"[[foobar]]", "[[foo&#12;bar]]"},
{"[[foo bar]]", "[[foo&#13;bar]]"},
{"[[foobar]]", "[[foo&#14;bar]]"},
{"[[foobar]]", "[[foo&#15;bar]]"},
{"[[foobar]]", "[[foo&#16;bar]]"},
{"[[foobar]]", "[[foo&#17;bar]]"},
{"[[foobar]]", "[[foo&#18;bar]]"},
{"[[foobar]]", "[[foo&#19;bar]]"},
{"[[foobar]]", "[[foo&#20;bar]]"},
{"[[foobar]]", "[[foo&#21;bar]]"},
{"[[foobar]]", "[[foo&#22;bar]]"},
{"[[foobar]]", "[[foo&#23;bar]]"},
{"[[foobar]]", "[[foo&#24;bar]]"},
{"[[foobar]]", "[[foo&#25;bar]]"},
{"[[foobar]]", "[[foo&#26;bar]]"},
{"[[foobar]]", "[[foo&#27;bar]]"},
{"[[foobar]]", "[[foo&#28;bar]]"},
{"[[foobar]]", "[[foo&#29;bar]]"},
{"[[foobar]]", "[[foo&#30;bar]]"},
{"[[foobar]]", "[[foo&#31;bar]]"},
{"[[foo bar]]", "[[:foo bar|foo bar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo=bar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo~bar]]", "[[:foo~bar|foo~bar]]"},
{"[[foobar]]", "[[foo&#127;bar]]"},
{"[[foo�bar]]", "[[foo&#x0;bar]]"},
{"[[foo�bar]]", "[[foo&#X0;bar]]"},
{"[[foobar]]", "[[foo&#x1;bar]]"},
{"[[foobar]]", "[[foo&#X1;bar]]"},
{"[[foobar]]", "[[foo&#x2;bar]]"},
{"[[foobar]]", "[[foo&#X2;bar]]"},
{"[[foobar]]", "[[foo&#x3;bar]]"},
{"[[foobar]]", "[[foo&#X3;bar]]"},
{"[[foobar]]", "[[foo&#x4;bar]]"},
{"[[foobar]]", "[[foo&#X4;bar]]"},
{"[[foobar]]", "[[foo&#x5;bar]]"},
{"[[foobar]]", "[[foo&#X5;bar]]"},
{"[[foobar]]", "[[foo&#x6;bar]]"},
{"[[foobar]]", "[[foo&#X6;bar]]"},
{"[[foobar]]", "[[foo&#x7;bar]]"},
{"[[foobar]]", "[[foo&#X7;bar]]"},
{"[[foobar]]", "[[foo&#x8;bar]]"},
{"[[foobar]]", "[[foo&#X8;bar]]"},
{"[[foo	bar]]", "[[foo\tbar]]"},
{"[[foo	bar]]", "[[foo\tbar]]"},
{"[[foo
bar]]", "[[foo\nbar]]"},
{"[[foo
bar]]", "[[foo\nbar]]"},
{"[[foo
bar]]", "[[foo\nbar]]"},
{"[[foo
bar]]", "[[foo\nbar]]"},
{"[[foobar]]", "[[foo&#xB;bar]]"},
{"[[foobar]]", "[[foo&#XB;bar]]"},
{"[[foobar]]", "[[foo&#xb;bar]]"},
{"[[foobar]]", "[[foo&#Xb;bar]]"},
{"[[foobar]]", "[[foo&#xC;bar]]"},
{"[[foobar]]", "[[foo&#XC;bar]]"},
{"[[foobar]]", "[[foo&#xc;bar]]"},
{"[[foobar]]", "[[foo&#Xc;bar]]"},
{"[[foo
bar]]", "[[foo&#xD;bar]]"},
{"[[foo
bar]]", "[[foo&#XD;bar]]"},
{"[[foo
bar]]", "[[foo&#xd;bar]]"},
{"[[foo
bar]]", "[[foo&#Xd;bar]]"},
{"[[foobar]]", "[[foo&#xE;bar]]"},
{"[[foobar]]", "[[foo&#XE;bar]]"},
{"[[foobar]]", "[[foo&#xe;bar]]"},
{"[[foobar]]", "[[foo&#Xe;bar]]"},
{"[[foobar]]", "[[foo&#xF;bar]]"},
{"[[foobar]]", "[[foo&#XF;bar]]"},
{"[[foobar]]", "[[foo&#xf;bar]]"},
{"[[foobar]]", "[[foo&#Xf;bar]]"},
{"[[foobar]]", "[[foo&#x10;bar]]"},
{"[[foobar]]", "[[foo&#X10;bar]]"},
{"[[foobar]]", "[[foo&#x11;bar]]"},
{"[[foobar]]", "[[foo&#X11;bar]]"},
{"[[foobar]]", "[[foo&#x12;bar]]"},
{"[[foobar]]", "[[foo&#X12;bar]]"},
{"[[foobar]]", "[[foo&#x13;bar]]"},
{"[[foobar]]", "[[foo&#X13;bar]]"},
{"[[foobar]]", "[[foo&#x14;bar]]"},
{"[[foobar]]", "[[foo&#X14;bar]]"},
{"[[foobar]]", "[[foo&#x15;bar]]"},
{"[[foobar]]", "[[foo&#X15;bar]]"},
{"[[foobar]]", "[[foo&#x16;bar]]"},
{"[[foobar]]", "[[foo&#X16;bar]]"},
{"[[foobar]]", "[[foo&#x17;bar]]"},
{"[[foobar]]", "[[foo&#X17;bar]]"},
{"[[foobar]]", "[[foo&#x18;bar]]"},
{"[[foobar]]", "[[foo&#X18;bar]]"},
{"[[foobar]]", "[[foo&#x19;bar]]"},
{"[[foobar]]", "[[foo&#X19;bar]]"},
{"[[foobar]]", "[[foo&#x1A;bar]]"},
{"[[foobar]]", "[[foo&#X1A;bar]]"},
{"[[foobar]]", "[[foo&#x1a;bar]]"},
{"[[foobar]]", "[[foo&#X1a;bar]]"},
{"[[foobar]]", "[[foo&#x1B;bar]]"},
{"[[foobar]]", "[[foo&#X1B;bar]]"},
{"[[foobar]]", "[[foo&#x1b;bar]]"},
{"[[foobar]]", "[[foo&#X1b;bar]]"},
{"[[foobar]]", "[[foo&#x1C;bar]]"},
{"[[foobar]]", "[[foo&#X1C;bar]]"},
{"[[foobar]]", "[[foo&#x1c;bar]]"},
{"[[foobar]]", "[[foo&#X1c;bar]]"},
{"[[foobar]]", "[[foo&#x1D;bar]]"},
{"[[foobar]]", "[[foo&#X1D;bar]]"},
{"[[foobar]]", "[[foo&#x1d;bar]]"},
{"[[foobar]]", "[[foo&#X1d;bar]]"},
{"[[foobar]]", "[[foo&#x1E;bar]]"},
{"[[foobar]]", "[[foo&#X1E;bar]]"},
{"[[foobar]]", "[[foo&#x1e;bar]]"},
{"[[foobar]]", "[[foo&#X1e;bar]]"},
{"[[foobar]]", "[[foo&#x1F;bar]]"},
{"[[foobar]]", "[[foo&#X1F;bar]]"},
{"[[foobar]]", "[[foo&#x1f;bar]]"},
{"[[foobar]]", "[[foo&#X1f;bar]]"},
{"[[foo bar]]", "[[:foo bar|foo bar]]"},
{"[[foo bar]]", "[[:foo bar|foo bar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo=bar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo=bar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo=bar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo=bar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo~bar]]", "[[:foo~bar|foo~bar]]"},
{"[[foo~bar]]", "[[:foo~bar|foo~bar]]"},
{"[[foo~bar]]", "[[:foo~bar|foo~bar]]"},
{"[[foo~bar]]", "[[:foo~bar|foo~bar]]"},
{"[[foobar]]", "[[foo&#x7F;bar]]"},
{"[[foobar]]", "[[foo&#X7F;bar]]"},
{"[[foobar]]", "[[foo&#x7f;bar]]"},
{"[[foobar]]", "[[foo&#X7f;bar]]"},
{"[[foo	bar]]", "[[foo\tbar]]"},
{"[[foo
bar]]", "[[foo\nbar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo=bar]]", "[[:foo=bar|foo=bar]]"},
{"[[foo<bar]]", "[[foo<bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo>bar]]", "[[foo>bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo[bar]]", "[[foo[bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo]bar]]", "[[foo]bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo{bar]]", "[[foo{bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo|bar]]", "[[foo|bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo}bar]]", "[[foo}bar]]"},
{"[[foo#bar]]", "[[:foo#bar|foo#bar]]"},
}
self:iterate(tests, "compare")
end
return tests