Module:User:Theknightwho/wikitext parser/testcases

3 of 0 tests failed. (refresh)

RawtextRaw displayExpectedActual
test_magic_links:
ISBN
Script error during testing: Module:User:Theknightwho/wikitext_parser/testcases:37: attempt to call upvalue 'nowiki' (a nil value)
stack traceback:
	[C]: in function 'nowiki'
	Module:User:Theknightwho/wikitext_parser/testcases:37: in function 'func'
	Module:UnitTests:295: in function '?'
	Module:User:Theknightwho/wikitext_parser/testcases:265: in function <Module:User:Theknightwho/wikitext_parser/testcases:63>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:369: in function <Module:UnitTests:328>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:856: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
RawtextRaw displayExpectedActual
test_strip_markers:
Script error during testing: Module:User:Theknightwho/wikitext_parser/testcases:47: attempt to call upvalue 'nowiki' (a nil value)
stack traceback:
	[C]: in function 'nowiki'
	Module:User:Theknightwho/wikitext_parser/testcases:47: in function 'func'
	Module:UnitTests:295: in function 'iterate'
	Module:User:Theknightwho/wikitext_parser/testcases:277: in function <Module:User:Theknightwho/wikitext_parser/testcases:268>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:369: in function <Module:UnitTests:328>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:856: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
RawtextRaw displayExpectedActual
test_wikilinks:
Script error during testing: Module:User:Theknightwho/wikitext_parser/testcases:37: attempt to call upvalue 'nowiki' (a nil value)
stack traceback:
	[C]: in function 'nowiki'
	Module:User:Theknightwho/wikitext_parser/testcases:37: in function 'func'
	Module:UnitTests:295: in function '?'
	Module:User:Theknightwho/wikitext_parser/testcases:684: in function <Module:User:Theknightwho/wikitext_parser/testcases:280>
	(tail call): ?
	[C]: in function 'xpcall'
	Module:UnitTests:369: in function <Module:UnitTests:328>
	(tail call): ?
	mw.lua:527: in function <mw.lua:507>
	[C]: ?
	[C]: in function 'expandTemplate'
	mw.lua:333: in function 'expandTemplate'
	Module:documentation:856: in function 'chunk'
	mw.lua:527: in function <mw.lua:507>
	[C]: ?

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&#32;1413304540]]"},
		{"ISBN 0", "ISBN&#32;0"},
		{"ISBN 0123456789", "[[:Special:BookSources/0123456789|ISBN&#32;0123456789]]"},
		{"ISBN 1413304540-", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]-"},
		{"ISBN 1413304540&", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]&#38;"},
		{"ISBN 1413304540…", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]…"},
		{"ISBN 14133045405", "ISBN&#32;14133045405"},
		{"ISBN 1413304540q", "ISBN&#32;1413304540q"},
		{"ISBN 1413304540é", "ISBN&#32;1413304540é"},
		{"ISBN 1413304540𠀀", "ISBN&#32;1413304540𠀀"},
		{"ISBN 141330454X", "[[:Special:BookSources/141330454X|ISBN&#32;141330454X]]"},
		{"ISBN 141330454x", "[[:Special:BookSources/141330454X|ISBN&#32;141330454x]]"},
		{"ISBN 141330454-0", "[[:Special:BookSources/1413304540|ISBN&#32;141330454-0]]"},
		{"ISBN 14-1330-454-0", "[[:Special:BookSources/1413304540|ISBN&#32;14-1330-454-0]]"},
		{"ISBN 141330454-X", "[[:Special:BookSources/141330454X|ISBN&#32;141330454-X]]"},
		{"ISBN 141330454-x", "[[:Special:BookSources/141330454X|ISBN&#32;141330454-x]]"},
		{"ISBN 1-4-1-3-3-0-4-5-4-0", "[[:Special:BookSources/1413304540|ISBN&#32;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&#32;1-4-1-3-3-0-4-5-4-X]]"},
		{"ISBN 141330454", "ISBN&#32;141330454"},
		{"ISBN 14133045X", "ISBN&#32;14133045X"},
		{"ISBN 14133045x", "ISBN&#32;14133045x"},
		{"ISBN 14133045400", "ISBN&#32;14133045400"},
		{"ISBN 141330454x0", "ISBN&#32;141330454x0"},
		{"ISBN 1413304540X", "ISBN&#32;1413304540X"},
		{"ISBN -1413304540", "ISBN&#32;-1413304540"},
		{"ISBN 1413304540-0", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]-0"},
		{"ISBN 141330454x-0", "[[:Special:BookSources/141330454X|ISBN&#32;141330454x]]-0"},
		{"ISBN 1413304540-X", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]-X"},
		{"ISBN 141330454-00", "ISBN&#32;141330454-00"},
		{"ISBN 141330454-x0", "ISBN&#32;141330454-x0"},
		{"ISBN 141330454-0X", "ISBN&#32;141330454-0X"},
		{"ISBN 141330454-0-0", "[[:Special:BookSources/1413304540|ISBN&#32;141330454-0]]-0"},
		{"ISBN 141330454-x-0", "[[:Special:BookSources/141330454X|ISBN&#32;141330454-x]]-0"},
		{"ISBN 141330454-0-X", "[[:Special:BookSources/1413304540|ISBN&#32;141330454-0]]-X"},
		{"ISBN 1-4-1-3-3-0-4-5-4-0-0", "[[:Special:BookSources/1413304540|ISBN&#32;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&#32;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&#32;1-4-1-3-3-0-4-5-4-0]]-X"},
		{"ISBN 141x304540", "ISBN&#32;141x304540"},
		{"ISBN 141X30454X", "ISBN&#32;141X30454X"},
		{"ISBN 141x304540X", "ISBN&#32;141x304540X"},
		{"ISBN 141X30454-0", "ISBN&#32;141X30454-0"},
		{"ISBN 141X30454-x", "ISBN&#32;141X30454-x"},
		{"ISBN 141x304540-X", "ISBN&#32;141x304540-X"},
		{"ISBN 141x30454-0X", "ISBN&#32;141x30454-0X"},
		{"ISBN 141x30454-0-X", "ISBN&#32;141x30454-0-X"},
		{"ISBN 14-1X30-454-0", "ISBN&#32;14-1X30-454-0"},
		{"ISBN 14-1X30-454-x", "ISBN&#32;14-1X30-454-x"},
		{"ISBN 14-1x30-4540-X", "ISBN&#32;14-1x30-4540-X"},
		{"ISBN 14-1x30-454-0X", "ISBN&#32;14-1x30-454-0X"},
		{"ISBN 14-1x30-454-0-X", "ISBN&#32;14-1x30-454-0-X"},
		{"ISBN 1-4-1-X-3-0-4-5-4-0", "ISBN&#32;1-4-1-X-3-0-4-5-4-0"},
		{"ISBN 1-4-1-X-3-0-4-5-4-x", "ISBN&#32;1-4-1-X-3-0-4-5-4-x"},
		{"ISBN 1-4-1-X-3-0-4-5-4-0-X", "ISBN&#32;1-4-1-X-3-0-4-5-4-0-X"},
		{"ISBN 1413304540&#x35;", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]5"},
		{"ISBN 1413304540&#x71;", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]&#113;"},
		{"ISBN 1413304540&eacute;", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]é"},
		{"ISBN 1413304540&#131072;", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]𠀀"},
		{"ISBN  \194\160 1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN\225\154\128\226\129\159\226\128\131 1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN&nbsp;1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN&#160;1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN&#0000160;1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN&#xA0;1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN&#x000a0;1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN&#x0A0;&#160;&nbsp;1413304540", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]]"},
		{"ISBN&NonBreakingSpace;1413304540", "ISBN&#160;1413304540"},
		{"ISBN&#x20;1413304540", "ISBN&#32;1413304540"},
		{"ISBN&#32;1413304540", "ISBN&#32;1413304540"},
		{"ISBN&#x2002;1413304540", "ISBN&#8194;1413304540"},
		{"ISBN 1413304540 0", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]] 0"},
		{"ISBN 141330454x 0", "[[:Special:BookSources/141330454X|ISBN&#32;141330454x]] 0"},
		{"ISBN 1413304540 X", "[[:Special:BookSources/1413304540|ISBN&#32;1413304540]] X"},
		{"ISBN 141-3304540 0", "[[:Special:BookSources/1413304540|ISBN&#32;141-3304540]] 0"},
		{"ISBN 1-4133 0454x 0", "[[:Special:BookSources/141330454X|ISBN&#32;1-4133 0454x]] 0"},
		{"ISBN 1&#x000a0;4133&nbsp;0454x 0", "[[:Special:BookSources/141330454X|ISBN&#32;1&#160;4133&#160;0454x]] 0"},
		{"ISBN-1413304540", "ISBN-1413304540"},
		{"ISBN&#45;1413304540", "ISBN-1413304540"},
		{"ISBN 14133&#x30;4540", "ISBN&#32;1413304540"},
		{"ISBN 14133&#x2d;0454x", "ISBN&#32;14133-0454x"},
		{"ISBN 14133 -04540", "ISBN&#32;14133 -04540"},
		{"ISBN 14133- 04540", "ISBN&#32;14133- 04540"},
		{"ISBN 14133-&nbsp;04540", "ISBN&#32;14133-&#160;04540"},
		{"ISBN 14  13304540", "ISBN&#32;14  13304540"},
		{"ISBN 14133\226\128\130 04540", "ISBN&#32;14133\226\128\130 04540"},
		{"ISBN 14--133 04540", "ISBN&#32;14--133 04540"},
		{"ISBN 14&NonBreakingSpace;13304540", "ISBN&#32;14&#160;13304540"},
		{"ISBN 1413304&#x2007;540", "ISBN&#32;1413304\226\128\135540"},
		{"ISBN 9780306406157", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]"},
		{"ISBN 9780306406157-", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]-"},
		{"ISBN 9780306406157&", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]&#38;"},
		{"ISBN 9780306406157…", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]…"},
		{"ISBN 97803064061575", "ISBN&#32;97803064061575"},
		{"ISBN 9780306406157q", "ISBN&#32;9780306406157q"},
		{"ISBN 9780306406157é", "ISBN&#32;9780306406157é"},
		{"ISBN 9780306406157𠀀", "ISBN&#32;9780306406157𠀀"},
		{"ISBN 9780306406157&#x35;", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]5"},
		{"ISBN 9780306406157&#x71;", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]&#113;"},
		{"ISBN 9780306406157&eacute;", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]é"},
		{"ISBN 9780306406157&#131072;", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]𠀀"},
		{"ISBN 9790306406157", "[[:Special:BookSources/9790306406157|ISBN&#32;9790306406157]]"},
		{"ISBN 978030640615X", "[[:Special:BookSources/978030640615X|ISBN&#32;978030640615X]]"},
		{"ISBN 978030640615x", "[[:Special:BookSources/978030640615X|ISBN&#32;978030640615x]]"},
		{"ISBN 978-0-306-40615-7", "[[:Special:BookSources/9780306406157|ISBN&#32;978-0-306-40615-7]]"},
		{"ISBN 978-0-306-40615-X", "[[:Special:BookSources/978030640615X|ISBN&#32;978-0-306-40615-X]]"},
		{"ISBN 978-0-306-40615-x", "[[:Special:BookSources/978030640615X|ISBN&#32;978-0-306-40615-x]]"},
		{"ISBN 9-7-8-0-3-0-6-4-0-6-1-5-7", "[[:Special:BookSources/9780306406|ISBN&#32;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&#32;9-7-8-0-3-0-6-4-0-6]]-1-5-X"},
		{"ISBN 9780306406 157", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406 157]]"},
		{"ISBN 9780306406&nbsp;157", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406&#160;157]]"},
		{"ISBN 9770306406157", "ISBN&#32;9770306406157"},
		{"ISBN 9680306406157", "ISBN&#32;9680306406157"},
		{"ISBN 8780306406157", "ISBN&#32;8780306406157"},
		{"ISBN 9-780306406157", "ISBN&#32;9-780306406157"},
		{"ISBN 97-80306406157", "ISBN&#32;97-80306406157"},
		{"ISBN 978-0306406157", "[[:Special:BookSources/9780306406157|ISBN&#32;978-0306406157]]"},
		{"ISBN 97803064061", "ISBN&#32;97803064061"},
		{"ISBN 9780306406X", "ISBN&#32;9780306406X"},
		{"ISBN 9780306406x", "ISBN&#32;9780306406x"},
		{"ISBN 97803064061570", "ISBN&#32;97803064061570"},
		{"ISBN 9780306406157X", "ISBN&#32;9780306406157X"},
		{"ISBN 9780306406157x", "ISBN&#32;9780306406157x"},
		{"ISBN 97803064061x0", "ISBN&#32;97803064061x0"},
		{"ISBN -9780306406157", "ISBN&#32;-9780306406157"},
		{"ISBN 9780306406157-0", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]-0"},
		{"ISBN 978030640615x-0", "[[:Special:BookSources/978030640615X|ISBN&#32;978030640615x]]-0"},
		{"ISBN 9780306406157-X", "[[:Special:BookSources/9780306406157|ISBN&#32;9780306406157]]-X"},
		{"ISBN 978030640615-00", "ISBN&#32;978030640615-00"},
		{"ISBN 978030640615-x0", "ISBN&#32;978030640615-x0"},
		{"ISBN 978030640615-0X", "ISBN&#32;978030640615-0X"},
		{"ISBN 978030640615-7-0", "[[:Special:BookSources/9780306406157|ISBN&#32;978030640615-7]]-0"},
		{"ISBN 978030640615-x-0", "[[:Special:BookSources/978030640615X|ISBN&#32;978030640615-x]]-0"},
		{"ISBN 978030640615-7-X", "[[:Special:BookSources/9780306406157|ISBN&#32;978030640615-7]]-X"},
		{"ISBN 978-0-3-0-6-4-0-6-1-5-7-0", "[[:Special:BookSources/9780306406157|ISBN&#32;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&#32;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&#32;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&#32;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&#32;978-0-3-0-6-4-0-6]]-1-x"},
		{"ISBN 978-0-3-0-6-4-0-6-1", "[[:Special:BookSources/9780306406|ISBN&#32;978-0-3-0-6-4-0-6]]-1"},
		{"ISBN 978-0-3-0-6-4-0-6-X", "[[:Special:BookSources/9780306406|ISBN&#32;978-0-3-0-6-4-0-6]]-X"},
		{"ISBN 978-0-3-0-6-4-0-6", "[[:Special:BookSources/9780306406|ISBN&#32;978-0-3-0-6-4-0-6]]"},
		{"ISBN 978-0-3-0-6-4-0-X", "[[:Special:BookSources/978030640X|ISBN&#32;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&#32;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&#32;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&#32;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&#61;Abstract PMID&#32;11209037]"},
		{"PMID 0", "[//www.ncbi.nlm.nih.gov/pubmed/0?dopt&#61;Abstract PMID&#32;0]"},
		{"PMID 0123456789", "[//www.ncbi.nlm.nih.gov/pubmed/0123456789?dopt&#61;Abstract PMID&#32;0123456789]"},
		{"PMID 11209037-", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]-"},
		{"PMID 11209037&", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]&#38;"},
		{"PMID 11209037…", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]…"},
		{"PMID 112090375", "[//www.ncbi.nlm.nih.gov/pubmed/112090375?dopt&#61;Abstract PMID&#32;112090375]"},
		{"PMID 11209037q", "PMID&#32;11209037q"},
		{"PMID 11209037é", "PMID&#32;11209037é"},
		{"PMID 11209037𠀀", "PMID&#32;11209037𠀀"},
		{"PMID 11209037&#x35;", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]5"},
		{"PMID 11209037&#x71;", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]q"},
		{"PMID 11209037&eacute;", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]é"},
		{"PMID 11209037&#131072;", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]𠀀"},
		{"PMID  \194\160 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID\225\154\128\226\129\159\226\128\131 11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID&nbsp;11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID&#160;11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID&#0000160;11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID&#xA0;11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID&#x000a0;11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID&#x0A0;&#160;&nbsp;11209037", "[//www.ncbi.nlm.nih.gov/pubmed/11209037?dopt&#61;Abstract PMID&#32;11209037]"},
		{"PMID&NonBreakingSpace;11209037", "PMID&#160;11209037"},
		{"PMID&#x20;11209037", "PMID&#32;11209037"},
		{"PMID&#32;11209037", "PMID&#32;11209037"},
		{"PMID&#x2002;11209037", "PMID&#8194;11209037"},
		"RFC",
		{"RFC 5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC 0", "[https://tools.ietf.org/html/rfc0 RFC&#32;0]"},
		{"RFC 0123456789", "[https://tools.ietf.org/html/rfc0123456789 RFC&#32;0123456789]"},
		{"RFC 5620-", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]-"},
		{"RFC 5620&", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]&#38;"},
		{"RFC 5620…", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]…"},
		{"RFC 56205", "[https://tools.ietf.org/html/rfc56205 RFC&#32;56205]"},
		{"RFC 5620q", "RFC&#32;5620q"},
		{"RFC 5620é", "RFC&#32;5620é"},
		{"RFC 5620𠀀", "RFC&#32;5620𠀀"},
		{"RFC 5620&#x35;", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]5"},
		{"RFC 5620&#x71;", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]q"},
		{"RFC 5620&eacute;", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]é"},
		{"RFC 5620&#131072;", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]𠀀"},
		{"RFC  \194\160 5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC\225\154\128\226\129\159\226\128\131 5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC&nbsp;5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC&#160;5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC&#0000160;5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC&#xA0;5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC&#x000a0;5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC&#x0A0;&#160;&nbsp;5620", "[https://tools.ietf.org/html/rfc5620 RFC&#32;5620]"},
		{"RFC&NonBreakingSpace;5620", "RFC&#160;5620"},
		{"RFC&#x20;5620", "RFC&#32;5620"},
		{"RFC&#32;5620", "RFC&#32;5620"},
		{"RFC&#x2002;5620", "RFC&#8194;5620"},
	}
	self:iterate(tests, "compare")
end

function tests:test_strip_markers()
	local tests = {
		{"<nowiki>foo</nowiki>", "foo"},
		{"<nowiki>[[foo]]</nowiki>", "&#91;&#91;foo&#93;&#93;"},
		{"<nowiki>[https://en.wiktionary.org/]</nowiki>", "&#91;https&#58;//en.wiktionary.org/&#93;"},
		{"<nowiki>https://en.wiktionary.org/</nowiki>", "https&#58;//en.wiktionary.org/"},
		{"<nowiki>&amp;</nowiki>", "&#38;"},
		{"<nowiki>&acE;</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]]"},
		{"[[f&#111;o]]", "[[:foo|foo]]"},
		{"[[fo&#x6f;]]", "[[:foo|foo]]"},
		{"[[fo&#X6f;]]", "[[:foo|foo]]"},
		{"[[&#102;&#x6F;&#X6F;]]", "[[:foo|foo]]"},
		{"[[&#x66;%6F&#111;]]", "[[: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]]", "&#91;&#91;f%25%36%66o&#93;&#93;"},
		{"[[f&#x25;&#54;&#X66;o]]", "&#91;&#91;f%6fo&#93;&#93;"},
		{"[[[foo]]", "&#91;&#91;&#91;foo&#93;&#93;"},
		{"[[foo]]]", "[[:foo|foo]]&#93;"},
		{"[[[foo]]]", "&#91;&#91;&#91;foo&#93;&#93;&#93;"},
		{"[[[[foo]]", "&#91;&#91;[[:foo|foo]]"},
		{"[[foo]]]]", "[[:foo|foo]]&#93;&#93;"},
		{"[[[[foo]]]", "&#91;&#91;[[:foo|foo]]&#93;"},
		{"[[[foo]]]]", "&#91;&#91;&#91;foo&#93;&#93;&#93;&#93;"},
		{"[[[[foo]]]]", "&#91;&#91;[[:foo|foo]]&#93;&#93;"},
		{"[[[[[foo]]", "&#91;&#91;&#91;&#91;&#91;foo&#93;&#93;"},
		{"[[foo]]]]]", "[[:foo|foo]]&#93;&#93;&#93;"},
		{"[[[[[foo]]]", "&#91;&#91;&#91;&#91;&#91;foo&#93;&#93;&#93;"},
		{"[[[foo]]]]]", "&#91;&#91;&#91;foo&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[foo]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#93;&#93;&#93;&#93;"},
		{"[[[[foo]]]]]", "&#91;&#91;[[:foo|foo]]&#93;&#93;&#93;"},
		{"[[[[[foo]]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo]]", "&#91;&#91;&#91;&#91;[[:foo|foo]]"},
		{"[[foo]]]]]]", "[[:foo|foo]]&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo]]]", "&#91;&#91;&#91;&#91;[[:foo|foo]]&#93;"},
		{"[[[foo]]]]]]", "&#91;&#91;&#91;foo&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo]]]]", "&#91;&#91;&#91;&#91;[[:foo|foo]]&#93;&#93;"},
		{"[[[[foo]]]]]]", "&#91;&#91;[[:foo|foo]]&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo]]]]]", "&#91;&#91;&#91;&#91;[[:foo|foo]]&#93;&#93;&#93;"},
		{"[[[[[foo]]]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo]]]]]]", "&#91;&#91;&#91;&#91;[[:foo|foo]]&#93;&#93;&#93;&#93;"},
		{"[[foo|bar]]", "[[:foo|bar]]"},
		{"[[[foo|bar]]", "&#91;&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo|bar]]]", "[[:foo|bar]]&#93;"},
		{"[[[foo|bar]]]", "&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;"},
		{"[[[[foo|bar]]", "&#91;&#91;[[:foo|bar]]"},
		{"[[foo|bar]]]]", "[[:foo|bar]]&#93;&#93;"},
		{"[[[[foo|bar]]]", "&#91;&#91;[[:foo|bar]]&#93;"},
		{"[[[foo|bar]]]]", "&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;&#93;"},
		{"[[[[foo|bar]]]]", "&#91;&#91;[[:foo|bar]]&#93;&#93;"},
		{"[[[[[foo|bar]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo|bar]]]]]", "[[:foo|bar]]&#93;&#93;&#93;"},
		{"[[[[[foo|bar]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;"},
		{"[[[foo|bar]]]]]", "&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[foo|bar]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;&#93;"},
		{"[[[[foo|bar]]]]]", "&#91;&#91;[[:foo|bar]]&#93;&#93;&#93;"},
		{"[[[[[foo|bar]]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|bar]]", "&#91;&#91;&#91;&#91;[[:foo|bar]]"},
		{"[[foo|bar]]]]]]", "[[:foo|bar]]&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|bar]]]", "&#91;&#91;&#91;&#91;[[:foo|bar]]&#93;"},
		{"[[[foo|bar]]]]]]", "&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|bar]]]]", "&#91;&#91;&#91;&#91;[[:foo|bar]]&#93;&#93;"},
		{"[[[[foo|bar]]]]]]", "&#91;&#91;[[:foo|bar]]&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|bar]]]]]", "&#91;&#91;&#91;&#91;[[:foo|bar]]&#93;&#93;&#93;"},
		{"[[[[[foo|bar]]]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;bar&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|bar]]]]]]", "&#91;&#91;&#91;&#91;[[:foo|bar]]&#93;&#93;&#93;&#93;"},
		{"[[foo|[bar]]", "[[:foo|&#91;bar]]"},
		{"[[[foo|[bar]]", "&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;"},
		{"[[foo|[bar]]]", "[[:foo|&#91;bar&#93;]]"},
		{"[[[foo|[bar]]]", "&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;"},
		{"[[[[foo|[bar]]", "&#91;&#91;[[:foo|&#91;bar]]"},
		{"[[foo|[bar]]]]", "[[:foo|&#91;bar&#93;]]&#93;"},
		{"[[[[foo|[bar]]]", "&#91;&#91;[[:foo|&#91;bar&#93;]]"},
		{"[[[foo|[bar]]]]", "&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;"},
		{"[[[[foo|[bar]]]]", "&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;"},
		{"[[[[[foo|[bar]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;"},
		{"[[foo|[bar]]]]]", "[[:foo|&#91;bar&#93;]]&#93;&#93;"},
		{"[[[[[foo|[bar]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;"},
		{"[[[foo|[bar]]]]]", "&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[foo|[bar]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;"},
		{"[[[[foo|[bar]]]]]", "&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;&#93;"},
		{"[[[[[foo|[bar]]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|[bar]]", "&#91;&#91;&#91;&#91;[[:foo|&#91;bar]]"},
		{"[[foo|[bar]]]]]]", "[[:foo|&#91;bar&#93;]]&#93;&#93;&#93;"},
		{"[[foo|[bar]]]]]]]", "[[:foo|&#91;bar&#93;]]&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|[bar]]]", "&#91;&#91;&#91;&#91;[[:foo|&#91;bar&#93;]]"},
		{"[[[foo|[bar]]]]]]", "&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[foo|[bar]]]]]]]", "&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|[bar]]]]", "&#91;&#91;&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;"},
		{"[[[[foo|[bar]]]]]]", "&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;&#93;&#93;"},
		{"[[[[foo|[bar]]]]]]]", "&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|[bar]]]]]", "&#91;&#91;&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;&#93;"},
		{"[[[[[foo|[bar]]]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[foo|[bar]]]]]]]", "&#91;&#91;&#91;&#91;&#91;foo&#124;&#91;bar&#93;&#93;&#93;&#93;&#93;&#93;&#93;"},
		{"[[[[[[foo|[bar]]]]]]", "&#91;&#91;&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;&#93;&#93;"},
		{"[[[[[[foo|[bar]]]]]]]", "&#91;&#91;&#91;&#91;[[:foo|&#91;bar&#93;]]&#93;&#93;&#93;&#93;"},
		{"[[foo|][][][][]]", "[[:foo|&#93;&#91;&#93;&#91;&#93;&#91;&#93;&#91;]]"},
		{"[[foo|[][][][][]]", "[[:foo|&#91;&#93;&#91;&#93;&#91;&#93;&#91;&#93;&#91;]]"},
		{"[[foo|][][][][]]]", "[[:foo|&#93;&#91;&#93;&#91;&#93;&#91;&#93;&#91;&#93;]]"},
		{"[[foo|[][][][][]]]", "[[:foo|&#91;&#93;&#91;&#93;&#91;&#93;&#91;&#93;&#91;&#93;]]"},
		{"[[foo|][][[][][]]", "&#91;&#91;foo&#124;&#93;&#91;&#93;&#91;&#91;&#93;&#91;&#93;&#91;&#93;&#93;"},
		{"[[foo|[][][[][][]]", "&#91;&#91;foo&#124;&#91;&#93;&#91;&#93;&#91;&#91;&#93;&#91;&#93;&#91;&#93;&#93;"},
		{"[[foo|][][[][][]]]", "&#91;&#91;foo&#124;&#93;&#91;&#93;&#91;&#91;&#93;&#91;&#93;&#91;&#93;&#93;&#93;"},
		{"[[foo|[][][[][][]]]", "&#91;&#91;foo&#124;&#91;&#93;&#91;&#93;&#91;&#91;&#93;&#91;&#93;&#91;&#93;&#93;&#93;"},
		{"[[foo[[bar]]", "&#91;&#91;foo[[:bar|bar]]"},
		{"[[foo]]bar]]", "[[:foo|foobar]]&#93;&#93;"},
		{"[[foo\000bar]]","[[:foobar|foobar]]"},
		{"[[foo\1bar]]", "&#91;&#91;foo\1bar&#93;&#93;"},
		{"[[foo\2bar]]", "&#91;&#91;foo\2bar&#93;&#93;"},
		{"[[foo\3bar]]", "&#91;&#91;foo\3bar&#93;&#93;"},
		{"[[foo\4bar]]", "&#91;&#91;foo\4bar&#93;&#93;"},
		{"[[foo\5bar]]", "&#91;&#91;foo\5bar&#93;&#93;"},
		{"[[foo\6bar]]", "&#91;&#91;foo\6bar&#93;&#93;"},
		{"[[foo\abar]]", "&#91;&#91;foo\abar&#93;&#93;"},
		{"[[foo\bbar]]", "&#91;&#91;foo\bbar&#93;&#93;"},
		{"[[foo\tbar]]", "&#91;&#91;foo\tbar&#93;&#93;"},
		{"[[foo\nbar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo\vbar]]", "&#91;&#91;foo\vbar&#93;&#93;"},
		{"[[foo\fbar]]", "&#91;&#91;foo\fbar&#93;&#93;"},
		{"[[foo\rbar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo\14bar]]", "&#91;&#91;foo\14bar&#93;&#93;"},
		{"[[foo\15bar]]", "&#91;&#91;foo\15bar&#93;&#93;"},
		{"[[foo\16bar]]", "&#91;&#91;foo\16bar&#93;&#93;"},
		{"[[foo\17bar]]", "&#91;&#91;foo\17bar&#93;&#93;"},
		{"[[foo\18bar]]", "&#91;&#91;foo\18bar&#93;&#93;"},
		{"[[foo\19bar]]", "&#91;&#91;foo\19bar&#93;&#93;"},
		{"[[foo\20bar]]", "&#91;&#91;foo\20bar&#93;&#93;"},
		{"[[foo\21bar]]", "&#91;&#91;foo\21bar&#93;&#93;"},
		{"[[foo\22bar]]", "&#91;&#91;foo\22bar&#93;&#93;"},
		{"[[foo\23bar]]", "&#91;&#91;foo\23bar&#93;&#93;"},
		{"[[foo\24bar]]", "&#91;&#91;foo\24bar&#93;&#93;"},
		{"[[foo\25bar]]", "&#91;&#91;foo\25bar&#93;&#93;"},
		{"[[foo\26bar]]", "&#91;&#91;foo\26bar&#93;&#93;"},
		{"[[foo\27bar]]", "&#91;&#91;foo\27bar&#93;&#93;"},
		{"[[foo\28bar]]", "&#91;&#91;foo\28bar&#93;&#93;"},
		{"[[foo\29bar]]", "&#91;&#91;foo\29bar&#93;&#93;"},
		{"[[foo\30bar]]", "&#91;&#91;foo\30bar&#93;&#93;"},
		{"[[foo\31bar]]", "&#91;&#91;foo\31bar&#93;&#93;"},
		{"[[foo bar]]", "[[:foo bar|foo bar]]"},
		{"[[foo<bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo=bar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo>bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo[bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo]bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo{bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo}bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo~bar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo\127bar]]", "&#91;&#91;foo\127bar&#93;&#93;"},
		{"[[foo%00bar]]", "&#91;&#91;foo%00bar&#93;&#93;"},
		{"[[foo%01bar]]", "&#91;&#91;foo%01bar&#93;&#93;"},
		{"[[foo%02bar]]", "&#91;&#91;foo%02bar&#93;&#93;"},
		{"[[foo%03bar]]", "&#91;&#91;foo%03bar&#93;&#93;"},
		{"[[foo%04bar]]", "&#91;&#91;foo%04bar&#93;&#93;"},
		{"[[foo%05bar]]", "&#91;&#91;foo%05bar&#93;&#93;"},
		{"[[foo%06bar]]", "&#91;&#91;foo%06bar&#93;&#93;"},
		{"[[foo%07bar]]", "&#91;&#91;foo%07bar&#93;&#93;"},
		{"[[foo%08bar]]", "&#91;&#91;foo%08bar&#93;&#93;"},
		{"[[foo%09bar]]", "&#91;&#91;foo%09bar&#93;&#93;"},
		{"[[foo%0Abar]]", "&#91;&#91;foo%0Abar&#93;&#93;"},
		{"[[foo%0abar]]", "&#91;&#91;foo%0abar&#93;&#93;"},
		{"[[foo%0Bbar]]", "&#91;&#91;foo%0Bbar&#93;&#93;"},
		{"[[foo%0bbar]]", "&#91;&#91;foo%0bbar&#93;&#93;"},
		{"[[foo%0Cbar]]", "&#91;&#91;foo%0Cbar&#93;&#93;"},
		{"[[foo%0cbar]]", "&#91;&#91;foo%0cbar&#93;&#93;"},
		{"[[foo%0Dbar]]", "&#91;&#91;foo%0Dbar&#93;&#93;"},
		{"[[foo%0dbar]]", "&#91;&#91;foo%0dbar&#93;&#93;"},
		{"[[foo%0Ebar]]", "&#91;&#91;foo%0Ebar&#93;&#93;"},
		{"[[foo%0ebar]]", "&#91;&#91;foo%0ebar&#93;&#93;"},
		{"[[foo%0Fbar]]", "&#91;&#91;foo%0Fbar&#93;&#93;"},
		{"[[foo%0fbar]]", "&#91;&#91;foo%0fbar&#93;&#93;"},
		{"[[foo%10bar]]", "&#91;&#91;foo%10bar&#93;&#93;"},
		{"[[foo%11bar]]", "&#91;&#91;foo%11bar&#93;&#93;"},
		{"[[foo%12bar]]", "&#91;&#91;foo%12bar&#93;&#93;"},
		{"[[foo%13bar]]", "&#91;&#91;foo%13bar&#93;&#93;"},
		{"[[foo%14bar]]", "&#91;&#91;foo%14bar&#93;&#93;"},
		{"[[foo%15bar]]", "&#91;&#91;foo%15bar&#93;&#93;"},
		{"[[foo%16bar]]", "&#91;&#91;foo%16bar&#93;&#93;"},
		{"[[foo%17bar]]", "&#91;&#91;foo%17bar&#93;&#93;"},
		{"[[foo%18bar]]", "&#91;&#91;foo%18bar&#93;&#93;"},
		{"[[foo%19bar]]", "&#91;&#91;foo%19bar&#93;&#93;"},
		{"[[foo%1Abar]]", "&#91;&#91;foo%1Abar&#93;&#93;"},
		{"[[foo%1abar]]", "&#91;&#91;foo%1abar&#93;&#93;"},
		{"[[foo%1Bbar]]", "&#91;&#91;foo%1Bbar&#93;&#93;"},
		{"[[foo%1bbar]]", "&#91;&#91;foo%1bbar&#93;&#93;"},
		{"[[foo%1Cbar]]", "&#91;&#91;foo%1Cbar&#93;&#93;"},
		{"[[foo%1cbar]]", "&#91;&#91;foo%1cbar&#93;&#93;"},
		{"[[foo%1Dbar]]", "&#91;&#91;foo%1Dbar&#93;&#93;"},
		{"[[foo%1dbar]]", "&#91;&#91;foo%1dbar&#93;&#93;"},
		{"[[foo%1Ebar]]", "&#91;&#91;foo%1Ebar&#93;&#93;"},
		{"[[foo%1ebar]]", "&#91;&#91;foo%1ebar&#93;&#93;"},
		{"[[foo%1Fbar]]", "&#91;&#91;foo%1Fbar&#93;&#93;"},
		{"[[foo%1fbar]]", "&#91;&#91;foo%1fbar&#93;&#93;"},
		{"[[foo%20bar]]", "[[:foo bar|foo bar]]"},
		{"[[foo%3Cbar]]", "&#91;&#91;foo%3Cbar&#93;&#93;"},
		{"[[foo%3cbar]]", "&#91;&#91;foo%3cbar&#93;&#93;"},
		{"[[foo%3Dbar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo%3dbar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo%3Ebar]]", "&#91;&#91;foo%3Ebar&#93;&#93;"},
		{"[[foo%3ebar]]", "&#91;&#91;foo%3ebar&#93;&#93;"},
		{"[[foo%5Bbar]]", "&#91;&#91;foo%5Bbar&#93;&#93;"},
		{"[[foo%5bbar]]", "&#91;&#91;foo%5bbar&#93;&#93;"},
		{"[[foo%5Dbar]]", "&#91;&#91;foo%5Dbar&#93;&#93;"},
		{"[[foo%5dbar]]", "&#91;&#91;foo%5dbar&#93;&#93;"},
		{"[[foo%7Bbar]]", "&#91;&#91;foo%7Bbar&#93;&#93;"},
		{"[[foo%7bbar]]", "&#91;&#91;foo%7bbar&#93;&#93;"},
		{"[[foo%7Cbar]]", "&#91;&#91;foo%7Cbar&#93;&#93;"},
		{"[[foo%7cbar]]", "&#91;&#91;foo%7cbar&#93;&#93;"},
		{"[[foo%7Dbar]]", "&#91;&#91;foo%7Dbar&#93;&#93;"},
		{"[[foo%7dbar]]", "&#91;&#91;foo%7dbar&#93;&#93;"},
		{"[[foo%7Ebar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo%7ebar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo%7Fbar]]", "&#91;&#91;foo%7Fbar&#93;&#93;"},
		{"[[foo%7fbar]]", "&#91;&#91;foo%7fbar&#93;&#93;"},
		{"[[foo&#0;bar]]", "&#91;&#91;foo&#38;#0&#59;bar&#93;&#93;"},
		{"[[foo&#1;bar]]", "&#91;&#91;foo&#38;#1&#59;bar&#93;&#93;"},
		{"[[foo&#2;bar]]", "&#91;&#91;foo&#38;#2&#59;bar&#93;&#93;"},
		{"[[foo&#3;bar]]", "&#91;&#91;foo&#38;#3&#59;bar&#93;&#93;"},
		{"[[foo&#4;bar]]", "&#91;&#91;foo&#38;#4&#59;bar&#93;&#93;"},
		{"[[foo&#5;bar]]", "&#91;&#91;foo&#38;#5&#59;bar&#93;&#93;"},
		{"[[foo&#6;bar]]", "&#91;&#91;foo&#38;#6&#59;bar&#93;&#93;"},
		{"[[foo&#7;bar]]", "&#91;&#91;foo&#38;#7&#59;bar&#93;&#93;"},
		{"[[foo&#8;bar]]", "&#91;&#91;foo&#38;#8&#59;bar&#93;&#93;"},
		{"[[foo&#9;bar]]", "&#91;&#91;foo\tbar&#93;&#93;"},
		{"[[foo&#10;bar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo&#11;bar]]", "&#91;&#91;foo&#38;#11&#59;bar&#93;&#93;"},
		{"[[foo&#12;bar]]", "&#91;&#91;foo&#38;#12&#59;bar&#93;&#93;"},
		{"[[foo&#13;bar]]", "&#91;&#91;foo&#38;#13&#59;bar&#93;&#93;"},
		{"[[foo&#14;bar]]", "&#91;&#91;foo&#38;#14&#59;bar&#93;&#93;"},
		{"[[foo&#15;bar]]", "&#91;&#91;foo&#38;#15&#59;bar&#93;&#93;"},
		{"[[foo&#16;bar]]", "&#91;&#91;foo&#38;#16&#59;bar&#93;&#93;"},
		{"[[foo&#17;bar]]", "&#91;&#91;foo&#38;#17&#59;bar&#93;&#93;"},
		{"[[foo&#18;bar]]", "&#91;&#91;foo&#38;#18&#59;bar&#93;&#93;"},
		{"[[foo&#19;bar]]", "&#91;&#91;foo&#38;#19&#59;bar&#93;&#93;"},
		{"[[foo&#20;bar]]", "&#91;&#91;foo&#38;#20&#59;bar&#93;&#93;"},
		{"[[foo&#21;bar]]", "&#91;&#91;foo&#38;#21&#59;bar&#93;&#93;"},
		{"[[foo&#22;bar]]", "&#91;&#91;foo&#38;#22&#59;bar&#93;&#93;"},
		{"[[foo&#23;bar]]", "&#91;&#91;foo&#38;#23&#59;bar&#93;&#93;"},
		{"[[foo&#24;bar]]", "&#91;&#91;foo&#38;#24&#59;bar&#93;&#93;"},
		{"[[foo&#25;bar]]", "&#91;&#91;foo&#38;#25&#59;bar&#93;&#93;"},
		{"[[foo&#26;bar]]", "&#91;&#91;foo&#38;#26&#59;bar&#93;&#93;"},
		{"[[foo&#27;bar]]", "&#91;&#91;foo&#38;#27&#59;bar&#93;&#93;"},
		{"[[foo&#28;bar]]", "&#91;&#91;foo&#38;#28&#59;bar&#93;&#93;"},
		{"[[foo&#29;bar]]", "&#91;&#91;foo&#38;#29&#59;bar&#93;&#93;"},
		{"[[foo&#30;bar]]", "&#91;&#91;foo&#38;#30&#59;bar&#93;&#93;"},
		{"[[foo&#31;bar]]", "&#91;&#91;foo&#38;#31&#59;bar&#93;&#93;"},
		{"[[foo&#32;bar]]", "[[:foo bar|foo bar]]"},
		{"[[foo&#60;bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo&#61;bar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo&#62;bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo&#91;bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo&#93;bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo&#123;bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo&#124;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&#125;bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo&#126;bar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo&#127;bar]]", "&#91;&#91;foo&#38;#127&#59;bar&#93;&#93;"},
		{"[[foo&#x0;bar]]", "&#91;&#91;foo&#38;#x0&#59;bar&#93;&#93;"},
		{"[[foo&#X0;bar]]", "&#91;&#91;foo&#38;#X0&#59;bar&#93;&#93;"},
		{"[[foo&#x1;bar]]", "&#91;&#91;foo&#38;#x1&#59;bar&#93;&#93;"},
		{"[[foo&#X1;bar]]", "&#91;&#91;foo&#38;#X1&#59;bar&#93;&#93;"},
		{"[[foo&#x2;bar]]", "&#91;&#91;foo&#38;#x2&#59;bar&#93;&#93;"},
		{"[[foo&#X2;bar]]", "&#91;&#91;foo&#38;#X2&#59;bar&#93;&#93;"},
		{"[[foo&#x3;bar]]", "&#91;&#91;foo&#38;#x3&#59;bar&#93;&#93;"},
		{"[[foo&#X3;bar]]", "&#91;&#91;foo&#38;#X3&#59;bar&#93;&#93;"},
		{"[[foo&#x4;bar]]", "&#91;&#91;foo&#38;#x4&#59;bar&#93;&#93;"},
		{"[[foo&#X4;bar]]", "&#91;&#91;foo&#38;#X4&#59;bar&#93;&#93;"},
		{"[[foo&#x5;bar]]", "&#91;&#91;foo&#38;#x5&#59;bar&#93;&#93;"},
		{"[[foo&#X5;bar]]", "&#91;&#91;foo&#38;#X5&#59;bar&#93;&#93;"},
		{"[[foo&#x6;bar]]", "&#91;&#91;foo&#38;#x6&#59;bar&#93;&#93;"},
		{"[[foo&#X6;bar]]", "&#91;&#91;foo&#38;#X6&#59;bar&#93;&#93;"},
		{"[[foo&#x7;bar]]", "&#91;&#91;foo&#38;#x7&#59;bar&#93;&#93;"},
		{"[[foo&#X7;bar]]", "&#91;&#91;foo&#38;#X7&#59;bar&#93;&#93;"},
		{"[[foo&#x8;bar]]", "&#91;&#91;foo&#38;#x8&#59;bar&#93;&#93;"},
		{"[[foo&#X8;bar]]", "&#91;&#91;foo&#38;#X8&#59;bar&#93;&#93;"},
		{"[[foo&#x9;bar]]", "&#91;&#91;foo\tbar&#93;&#93;"},
		{"[[foo&#X9;bar]]", "&#91;&#91;foo\tbar&#93;&#93;"},
		{"[[foo&#xA;bar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo&#XA;bar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo&#xa;bar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo&#Xa;bar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo&#xB;bar]]", "&#91;&#91;foo&#38;#xB&#59;bar&#93;&#93;"},
		{"[[foo&#XB;bar]]", "&#91;&#91;foo&#38;#XB&#59;bar&#93;&#93;"},
		{"[[foo&#xb;bar]]", "&#91;&#91;foo&#38;#xb&#59;bar&#93;&#93;"},
		{"[[foo&#Xb;bar]]", "&#91;&#91;foo&#38;#Xb&#59;bar&#93;&#93;"},
		{"[[foo&#xC;bar]]", "&#91;&#91;foo&#38;#xC&#59;bar&#93;&#93;"},
		{"[[foo&#XC;bar]]", "&#91;&#91;foo&#38;#XC&#59;bar&#93;&#93;"},
		{"[[foo&#xc;bar]]", "&#91;&#91;foo&#38;#xc&#59;bar&#93;&#93;"},
		{"[[foo&#Xc;bar]]", "&#91;&#91;foo&#38;#Xc&#59;bar&#93;&#93;"},
		{"[[foo&#xD;bar]]", "&#91;&#91;foo&#38;#xD&#59;bar&#93;&#93;"},
		{"[[foo&#XD;bar]]", "&#91;&#91;foo&#38;#XD&#59;bar&#93;&#93;"},
		{"[[foo&#xd;bar]]", "&#91;&#91;foo&#38;#xd&#59;bar&#93;&#93;"},
		{"[[foo&#Xd;bar]]", "&#91;&#91;foo&#38;#Xd&#59;bar&#93;&#93;"},
		{"[[foo&#xE;bar]]", "&#91;&#91;foo&#38;#xE&#59;bar&#93;&#93;"},
		{"[[foo&#XE;bar]]", "&#91;&#91;foo&#38;#XE&#59;bar&#93;&#93;"},
		{"[[foo&#xe;bar]]", "&#91;&#91;foo&#38;#xe&#59;bar&#93;&#93;"},
		{"[[foo&#Xe;bar]]", "&#91;&#91;foo&#38;#Xe&#59;bar&#93;&#93;"},
		{"[[foo&#xF;bar]]", "&#91;&#91;foo&#38;#xF&#59;bar&#93;&#93;"},
		{"[[foo&#XF;bar]]", "&#91;&#91;foo&#38;#XF&#59;bar&#93;&#93;"},
		{"[[foo&#xf;bar]]", "&#91;&#91;foo&#38;#xf&#59;bar&#93;&#93;"},
		{"[[foo&#Xf;bar]]", "&#91;&#91;foo&#38;#Xf&#59;bar&#93;&#93;"},
		{"[[foo&#x10;bar]]", "&#91;&#91;foo&#38;#x10&#59;bar&#93;&#93;"},
		{"[[foo&#X10;bar]]", "&#91;&#91;foo&#38;#X10&#59;bar&#93;&#93;"},
		{"[[foo&#x11;bar]]", "&#91;&#91;foo&#38;#x11&#59;bar&#93;&#93;"},
		{"[[foo&#X11;bar]]", "&#91;&#91;foo&#38;#X11&#59;bar&#93;&#93;"},
		{"[[foo&#x12;bar]]", "&#91;&#91;foo&#38;#x12&#59;bar&#93;&#93;"},
		{"[[foo&#X12;bar]]", "&#91;&#91;foo&#38;#X12&#59;bar&#93;&#93;"},
		{"[[foo&#x13;bar]]", "&#91;&#91;foo&#38;#x13&#59;bar&#93;&#93;"},
		{"[[foo&#X13;bar]]", "&#91;&#91;foo&#38;#X13&#59;bar&#93;&#93;"},
		{"[[foo&#x14;bar]]", "&#91;&#91;foo&#38;#x14&#59;bar&#93;&#93;"},
		{"[[foo&#X14;bar]]", "&#91;&#91;foo&#38;#X14&#59;bar&#93;&#93;"},
		{"[[foo&#x15;bar]]", "&#91;&#91;foo&#38;#x15&#59;bar&#93;&#93;"},
		{"[[foo&#X15;bar]]", "&#91;&#91;foo&#38;#X15&#59;bar&#93;&#93;"},
		{"[[foo&#x16;bar]]", "&#91;&#91;foo&#38;#x16&#59;bar&#93;&#93;"},
		{"[[foo&#X16;bar]]", "&#91;&#91;foo&#38;#X16&#59;bar&#93;&#93;"},
		{"[[foo&#x17;bar]]", "&#91;&#91;foo&#38;#x17&#59;bar&#93;&#93;"},
		{"[[foo&#X17;bar]]", "&#91;&#91;foo&#38;#X17&#59;bar&#93;&#93;"},
		{"[[foo&#x18;bar]]", "&#91;&#91;foo&#38;#x18&#59;bar&#93;&#93;"},
		{"[[foo&#X18;bar]]", "&#91;&#91;foo&#38;#X18&#59;bar&#93;&#93;"},
		{"[[foo&#x19;bar]]", "&#91;&#91;foo&#38;#x19&#59;bar&#93;&#93;"},
		{"[[foo&#X19;bar]]", "&#91;&#91;foo&#38;#X19&#59;bar&#93;&#93;"},
		{"[[foo&#x1A;bar]]", "&#91;&#91;foo&#38;#x1A&#59;bar&#93;&#93;"},
		{"[[foo&#X1A;bar]]", "&#91;&#91;foo&#38;#X1A&#59;bar&#93;&#93;"},
		{"[[foo&#x1a;bar]]", "&#91;&#91;foo&#38;#x1a&#59;bar&#93;&#93;"},
		{"[[foo&#X1a;bar]]", "&#91;&#91;foo&#38;#X1a&#59;bar&#93;&#93;"},
		{"[[foo&#x1B;bar]]", "&#91;&#91;foo&#38;#x1B&#59;bar&#93;&#93;"},
		{"[[foo&#X1B;bar]]", "&#91;&#91;foo&#38;#X1B&#59;bar&#93;&#93;"},
		{"[[foo&#x1b;bar]]", "&#91;&#91;foo&#38;#x1b&#59;bar&#93;&#93;"},
		{"[[foo&#X1b;bar]]", "&#91;&#91;foo&#38;#X1b&#59;bar&#93;&#93;"},
		{"[[foo&#x1C;bar]]", "&#91;&#91;foo&#38;#x1C&#59;bar&#93;&#93;"},
		{"[[foo&#X1C;bar]]", "&#91;&#91;foo&#38;#X1C&#59;bar&#93;&#93;"},
		{"[[foo&#x1c;bar]]", "&#91;&#91;foo&#38;#x1c&#59;bar&#93;&#93;"},
		{"[[foo&#X1c;bar]]", "&#91;&#91;foo&#38;#X1c&#59;bar&#93;&#93;"},
		{"[[foo&#x1D;bar]]", "&#91;&#91;foo&#38;#x1D&#59;bar&#93;&#93;"},
		{"[[foo&#X1D;bar]]", "&#91;&#91;foo&#38;#X1D&#59;bar&#93;&#93;"},
		{"[[foo&#x1d;bar]]", "&#91;&#91;foo&#38;#x1d&#59;bar&#93;&#93;"},
		{"[[foo&#X1d;bar]]", "&#91;&#91;foo&#38;#X1d&#59;bar&#93;&#93;"},
		{"[[foo&#x1E;bar]]", "&#91;&#91;foo&#38;#x1E&#59;bar&#93;&#93;"},
		{"[[foo&#X1E;bar]]", "&#91;&#91;foo&#38;#X1E&#59;bar&#93;&#93;"},
		{"[[foo&#x1e;bar]]", "&#91;&#91;foo&#38;#x1e&#59;bar&#93;&#93;"},
		{"[[foo&#X1e;bar]]", "&#91;&#91;foo&#38;#X1e&#59;bar&#93;&#93;"},
		{"[[foo&#x1F;bar]]", "&#91;&#91;foo&#38;#x1F&#59;bar&#93;&#93;"},
		{"[[foo&#X1F;bar]]", "&#91;&#91;foo&#38;#X1F&#59;bar&#93;&#93;"},
		{"[[foo&#x1f;bar]]", "&#91;&#91;foo&#38;#x1f&#59;bar&#93;&#93;"},
		{"[[foo&#X1f;bar]]", "&#91;&#91;foo&#38;#X1f&#59;bar&#93;&#93;"},
		{"[[foo&#x20;bar]]", "[[:foo bar|foo bar]]"},
		{"[[foo&#X20;bar]]", "[[:foo bar|foo bar]]"},
		{"[[foo&#x3C;bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo&#X3C;bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo&#x3c;bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo&#X3c;bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo&#x3D;bar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo&#X3D;bar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo&#x3d;bar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo&#X3d;bar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo&#x3E;bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo&#X3E;bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo&#x3e;bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo&#X3e;bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo&#x5B;bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo&#X5B;bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo&#x5b;bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo&#X5b;bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo&#x5D;bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo&#X5D;bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo&#x5d;bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo&#X5d;bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo&#x7B;bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo&#X7B;bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo&#x7b;bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo&#X7b;bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo&#x7C;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&#X7C;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&#x7c;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&#X7c;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&#x7D;bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo&#X7D;bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo&#x7d;bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo&#X7d;bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo&#x7E;bar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo&#X7E;bar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo&#x7e;bar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo&#X7e;bar]]", "[[:foo~bar|foo~bar]]"},
		{"[[foo&#x7F;bar]]", "&#91;&#91;foo&#38;#x7F&#59;bar&#93;&#93;"},
		{"[[foo&#X7F;bar]]", "&#91;&#91;foo&#38;#X7F&#59;bar&#93;&#93;"},
		{"[[foo&#x7f;bar]]", "&#91;&#91;foo&#38;#x7f&#59;bar&#93;&#93;"},
		{"[[foo&#X7f;bar]]", "&#91;&#91;foo&#38;#X7f&#59;bar&#93;&#93;"},
		{"[[foo&Tab;bar]]", "&#91;&#91;foo\tbar&#93;&#93;"},
		{"[[foo&NewLine;bar]]", "&#91;&#91;foo\nbar&#93;&#93;"},
		{"[[foo&lt;bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo&equals;bar]]", "[[:foo&#61;bar|foo&#61;bar]]"},
		{"[[foo&LT;bar]]", "&#91;&#91;foo&#60;bar&#93;&#93;"},
		{"[[foo&gt;bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo&GT;bar]]", "&#91;&#91;foo&#62;bar&#93;&#93;"},
		{"[[foo&lsqb;bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo&lbrack;bar]]", "&#91;&#91;foo&#91;bar&#93;&#93;"},
		{"[[foo&rsqb;bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo&rbrack;bar]]", "&#91;&#91;foo&#93;bar&#93;&#93;"},
		{"[[foo&lcub;bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo&lbrace;bar]]", "&#91;&#91;foo&#123;bar&#93;&#93;"},
		{"[[foo&verbar;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&vert;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&VerticalLine;bar]]", "&#91;&#91;foo&#124;bar&#93;&#93;"},
		{"[[foo&rcub;bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo&rbrace;bar]]", "&#91;&#91;foo&#125;bar&#93;&#93;"},
		{"[[foo#bar]]", "[[:foo#bar|foo#bar]]"},
	}
	self:iterate(tests, "compare")
end

return tests