<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://compusofia.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ATranscluder%2Ftestcases</id>
	<title>Module:Transcluder/testcases - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://compusofia.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ATranscluder%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="https://compusofia.com/w/index.php?title=Module:Transcluder/testcases&amp;action=history"/>
	<updated>2026-04-23T08:57:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://compusofia.com/w/index.php?title=Module:Transcluder/testcases&amp;diff=7778&amp;oldid=prev</id>
		<title>Majestix: 1 revision imported: Initial Setup</title>
		<link rel="alternate" type="text/html" href="https://compusofia.com/w/index.php?title=Module:Transcluder/testcases&amp;diff=7778&amp;oldid=prev"/>
		<updated>2026-04-17T09:34:57Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported: Initial Setup&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:34, 17 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wikiNonStop:diff:1.41:old-7777:rev-7778 --&gt;
&lt;/table&gt;</summary>
		<author><name>Majestix</name></author>
	</entry>
	<entry>
		<id>https://compusofia.com/w/index.php?title=Module:Transcluder/testcases&amp;diff=7777&amp;oldid=prev</id>
		<title>en&gt;Sophivorus at 15:18, 2 December 2022</title>
		<link rel="alternate" type="text/html" href="https://compusofia.com/w/index.php?title=Module:Transcluder/testcases&amp;diff=7777&amp;oldid=prev"/>
		<updated>2022-12-02T15:18:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local frame = mw.getCurrentFrame()&lt;br /&gt;
local title = frame and frame.args and frame.args.module or &amp;#039;Transcluder&amp;#039;&lt;br /&gt;
local T = require( &amp;#039;Module:&amp;#039; .. title )&lt;br /&gt;
local ScribuntoUnit = require(&amp;#039;Module:ScribuntoUnit&amp;#039;)&lt;br /&gt;
local Suite = ScribuntoUnit:new()&lt;br /&gt;
&lt;br /&gt;
function Suite:testCategories()&lt;br /&gt;
	self:assertThrows( function() T.getCategories() end )&lt;br /&gt;
	self:assertThrows( function() T.getCategories({}) end )&lt;br /&gt;
	self:assertThrows( function() T.getCategories(false) end )&lt;br /&gt;
&lt;br /&gt;
	self:assertDeepEquals( {}, T.getCategories(&amp;#039;&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getCategories(&amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:A]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:A|]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A|]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:A| ]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A| ]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:A|B]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A|B]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:A]]&amp;#039;,&amp;#039;[[Category:B]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A]][[Category:B]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:A]]&amp;#039;,&amp;#039;[[Category:B]]&amp;#039;}, T.getCategories(&amp;#039;\n[[Category:A]]\n[[Category:B]]\nc&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getCategories(&amp;#039;[[Category:A]]&amp;#039;, 0) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:B]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A]][[Category:B]]&amp;#039;, 2 ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:B]]&amp;#039;,&amp;#039;[[Category:C]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A]][[Category:B]][[Category:C]]&amp;#039;, &amp;#039;2-3&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:B]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A]][[Category:B]][[Category:C]]&amp;#039;, &amp;#039;B&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Category:A]]&amp;#039;,&amp;#039;[[Category:C]]&amp;#039;}, T.getCategories(&amp;#039;[[Category:A]][[Category:B]][[Category:C]]&amp;#039;, &amp;#039;-B&amp;#039;) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;[[Category:A]]&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Categories&amp;#039;, { categories = 1 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;[[Category:B]]&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Categories&amp;#039;, { categories = 2 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;[[Category:A]]\n\n[[Category:C]]&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Categories&amp;#039;, { categories = &amp;#039;-B&amp;#039; } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testErrors()&lt;br /&gt;
	self:assertThrows( function() T.get() end, &amp;#039;No page given&amp;#039; )&lt;br /&gt;
	self:assertThrows( function() T.get(&amp;#039;&amp;#039;) end, &amp;#039;No page given&amp;#039; )&lt;br /&gt;
	self:assertThrows( function() T.get(&amp;#039; &amp;#039;) end, &amp;#039;No page given&amp;#039; )&lt;br /&gt;
	self:assertThrows( function() T.get(&amp;#039;Fake&amp;#039;) end, &amp;quot;Page &amp;#039;Fake&amp;#039; not found&amp;quot; )&lt;br /&gt;
	self:assertThrows( function() T.get(&amp;#039;Module:Transcluder/test#Fake&amp;#039;) end, &amp;quot;Section &amp;#039;Fake&amp;#039; not found&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testFiles()&lt;br /&gt;
	self:assertThrows( function() T.getFiles() end )&lt;br /&gt;
	self:assertThrows( function() T.getFiles({}) end )&lt;br /&gt;
	self:assertThrows( function() T.getFiles(false) end )&lt;br /&gt;
&lt;br /&gt;
	self:assertDeepEquals( {}, T.getFiles(&amp;#039;&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getFiles(&amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[Image:A.png]]&amp;#039;}, T.getFiles(&amp;#039;[[Image:A.png]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;,&amp;#039;[[File:B.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]]&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;,&amp;#039;[[File:B.png]]&amp;#039;}, T.getFiles(&amp;#039;\n[[File:A.png]]\n[[File:B.png]]\nc&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getFiles(&amp;#039;[[File:A.png]]&amp;#039;, 0 ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:B.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]]&amp;#039;, 2 ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;,&amp;#039;[[File:C.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, &amp;#039;-2&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:B.png]]&amp;#039;,&amp;#039;[[File:C.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, &amp;#039;2-3&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, &amp;#039;A.png&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:B.png]]&amp;#039;,&amp;#039;[[File:C.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, &amp;#039;-A.png&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;,&amp;#039;[[File:C.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, &amp;#039;A.png, C.png&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:B.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, &amp;#039;-A.png, C.png&amp;#039;) )&lt;br /&gt;
&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:B.png]]&amp;#039;,&amp;#039;[[File:C.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, -1 ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, &amp;#039;-2-3&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:A.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, { [1] = true } ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;[[File:B.png]]&amp;#039;,&amp;#039;[[File:C.png]]&amp;#039;}, T.getFiles(&amp;#039;[[File:A.png]][[File:B.png]][[File:C.png]]&amp;#039;, { [1] = false } ) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;[[File:A.png]]ab&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Files&amp;#039;, { files = 1 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a[[File:C.png]]b&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Files&amp;#039;, { files = 2 } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testGet()&lt;br /&gt;
	self:assertEquals( &amp;#039;[[File:A.png]]\nb\n*c\n*d\n{|\n|e\n|}\n[[File:f.png]]\ng\n#h\n#i\nj\n{|\n|k\n|}\nl&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Get&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;b\n\n[[File:f.png]]\ng\n#h\n#i\nj\n{|\n|k\n|}\nl&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Get&amp;#039;, { files = 2, tables = 2, lists = 2 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;test&amp;#039;, T.get(&amp;#039;Module:Transcluder/test2&amp;#039;) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testInclude()&lt;br /&gt;
	self:assertEquals( &amp;#039;ac&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Include&amp;#039;) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testLead()&lt;br /&gt;
	self:assertEquals( &amp;quot;This &amp;#039;&amp;#039;&amp;#039;test&amp;#039;&amp;#039;&amp;#039; page interacts with [[Module:Transcluder/testcases]].&amp;quot;, T.get(&amp;#039;Module:Transcluder/test#&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;This test page interacts with [[Module:Transcluder/testcases]].&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#&amp;#039;, { noBold = true } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testLinks()&lt;br /&gt;
	self:assertEquals( &amp;#039;a b c d e&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Links&amp;#039;, { noLinks = true } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testLists()&lt;br /&gt;
	self:assertDeepEquals( {}, T.getLists(&amp;#039;&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getLists(&amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;*a\n*b&amp;#039;}, T.getLists(&amp;#039;*a\n*b&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;*b\n*c&amp;#039;}, T.getLists(&amp;#039;a\n*b\n*c\nd&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;*b\n*c&amp;#039;,&amp;#039;#e\n#f&amp;#039;}, T.getLists(&amp;#039;a\n*b\n*c\nd\n#e\n#f\ng&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;#e\n#f&amp;#039;}, T.getLists(&amp;#039;a\n*b\n*c\nd\n#e\n#f\ng&amp;#039;, 2 ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;#e\n#f&amp;#039;,&amp;#039;*h\n*i&amp;#039;}, T.getLists(&amp;#039;a\n*b\n*c\nd\n#e\n#f\ng\n*h\n*i&amp;#039;, &amp;#039;2-3&amp;#039; ) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;*b\n*c\n\n#e\n#f&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Lists&amp;#039;, { only = &amp;#039;lists&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;#e\n#f&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Lists&amp;#039;, { only = &amp;#039;lists&amp;#039;, lists = 2 } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testOnly()&lt;br /&gt;
	self:assertEquals( &amp;#039;{|\n|e\n|}\n\n{|\n|k\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Only&amp;#039;, { only = &amp;#039;tables&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;*c\n*d\n\n#h\n#i&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Only&amp;#039;, { only = &amp;#039;lists&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;*c\n*d&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Only&amp;#039;, { only = &amp;#039;lists&amp;#039;, lists = 1 } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testParagraphs()&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;a&amp;#039;}, T.getParagraphs(&amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;a{{b}}&amp;#039;}, T.getParagraphs(&amp;#039;a{{b}}&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{a}}b&amp;#039;}, T.getParagraphs(&amp;#039;{{a}}b&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParagraphs(&amp;#039;{{a}}&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParagraphs(&amp;#039;{{a\n|b=c}}&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParagraphs(&amp;#039;{{a}}\n\n{{b}}\n\n{{c}}&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;a&amp;#039;}, T.getParagraphs(&amp;#039;a\n\n{{b}}&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;b&amp;#039;}, T.getParagraphs(&amp;#039;{{a}}\n\nb&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{a}}b{{c}}&amp;#039;}, T.getParagraphs(&amp;#039;{{a}}b{{c}}&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;a&amp;#039;,&amp;#039;b&amp;#039;,&amp;#039;c&amp;#039;}, T.getParagraphs(&amp;#039;a\n\nb\n\nc&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;a&amp;#039;,&amp;#039;c&amp;#039;}, T.getParagraphs(&amp;#039;a\n\n{{b}}\n\nc&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;a&amp;#039;,&amp;#039;c&amp;#039;,&amp;#039;d&amp;#039;,&amp;#039;e&amp;#039;}, T.getParagraphs(&amp;#039;a\n\nb\n\nc\n\nd\n\ne&amp;#039;, &amp;#039;1,3-5&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;e&amp;#039;}, T.getParagraphs(&amp;#039;{{a}}\n{{b}}\n{{c}}\n{{d}}\ne&amp;#039;, 1 ) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;[[File:Name.jpg|thumb|a]]\na\n{|\n|b\n|}\n\n{{e}}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Paragraphs&amp;#039;, { paragraphs = 1 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a\n\n{{b}} c {{d}}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Paragraphs&amp;#039;, { only = &amp;#039;paragraphs&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Paragraphs&amp;#039;, { only = &amp;#039;paragraphs&amp;#039;, paragraphs = 1 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{{b}} c {{d}}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Paragraphs&amp;#039;, { only = &amp;#039;paragraphs&amp;#039;, paragraphs = 2 } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testParameters()&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParameters(&amp;#039;{{a}}&amp;#039;, 0 ) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParameters(&amp;#039;{{a}}&amp;#039;, 1 ) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParameters(&amp;#039;{{a|b}}&amp;#039;, 2 ) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParameters(&amp;#039;{{a|b=c}}&amp;#039;, 1 ) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getParameters(&amp;#039;{{a|b=c}}&amp;#039;, &amp;#039;d&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;c&amp;#039;}, T.getParameters(&amp;#039;{{a|b=c|d=e}}&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;2%&amp;#039;}, T.getParameters(&amp;#039;{{a|b=2%}}&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;d&amp;#039;]=&amp;#039;e&amp;#039;}, T.getParameters(&amp;#039;{{aa\n|\nb=c\n|d=e\n}}&amp;#039;, &amp;#039;d&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;f&amp;#039;]=&amp;#039;g&amp;#039;}, T.getParameters(&amp;#039;{{ a | b = c | f = g }}&amp;#039;, &amp;#039; f &amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;c&amp;#039;,[&amp;#039;d&amp;#039;]=&amp;#039;e&amp;#039;}, T.getParameters(&amp;#039;{{a|b=c|d=e}}&amp;#039;, &amp;#039;b,d&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;{{c|d=e}}&amp;#039;}, T.getParameters(&amp;#039;{{a|b={{c|d=e}}}}&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;{{c|d=2%}}&amp;#039;}, T.getParameters(&amp;#039;{{a|b={{c|d=2%}}}}&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;&amp;lt;div class=&amp;quot;c&amp;quot;&amp;gt;d&amp;lt;/div&amp;gt;&amp;#039;}, T.getParameters(&amp;#039;{{a|b=&amp;lt;div class=&amp;quot;c&amp;quot;&amp;gt;d&amp;lt;/div&amp;gt;}}&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;{{c|[[d|e]]}}&amp;#039;}, T.getParameters(&amp;#039;{{a|b={{c|[[d|e]]}}}}&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[&amp;#039;b&amp;#039;]=&amp;#039;[[c|d]]&amp;#039;}, T.getParameters(&amp;#039;{{a|b=[[c|d]]}}&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {[1]=&amp;#039;f&amp;#039;}, T.getParameters(&amp;#039;{{a|b=c|d=e|f}}&amp;#039;, 1 ) )&lt;br /&gt;
	self:assertDeepEquals( {[1]=&amp;#039;d&amp;#039;,[2]=&amp;#039;e&amp;#039;,[3]=&amp;#039;h&amp;#039;}, T.getParameters(&amp;#039;{{a|b=c|d|e|f=g|h}}&amp;#039;, &amp;#039;1-3&amp;#039; ) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;d&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Parameters&amp;#039;, { only = &amp;#039;parameters&amp;#039;, parameters = &amp;#039;b&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;d&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Parameters&amp;#039;, { only = &amp;#039;parameters&amp;#039;, parameters = &amp;#039;b&amp;#039;, templates = &amp;#039;aa&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;d&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Parameters&amp;#039;, { only = &amp;#039;parameters&amp;#039;, parameters = &amp;#039;b&amp;#039;, templates = &amp;#039;bb&amp;#039; } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testReferences()&lt;br /&gt;
	self:assertDeepEquals( {}, T.getReferences(&amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;&amp;lt;ref&amp;gt;b&amp;lt;/ref&amp;gt;&amp;#039;}, T.getReferences(&amp;#039;a&amp;lt;ref&amp;gt;b&amp;lt;/ref&amp;gt;&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getReferences(&amp;#039;a&amp;lt;ref&amp;gt;b&amp;lt;/ref&amp;gt;&amp;#039;, 0) )&lt;br /&gt;
	self:assertDeepEquals( {}, T.getReferences(&amp;#039;a&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;&amp;lt;ref&amp;gt;d&amp;lt;/ref&amp;gt;&amp;#039;}, T.getReferences(&amp;#039;a&amp;lt;ref&amp;gt;b&amp;lt;/ref&amp;gt;c&amp;lt;ref&amp;gt;d&amp;lt;/ref&amp;gt;&amp;#039;, 2) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;c&amp;lt;/ref&amp;gt;&amp;#039;,&amp;#039;&amp;lt;ref&amp;gt;e&amp;lt;/ref&amp;gt;&amp;#039;}, T.getReferences(&amp;#039;a&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;c&amp;lt;/ref&amp;gt;d&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;e&amp;lt;/ref&amp;gt;&amp;#039;) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;c&amp;lt;/ref&amp;gt;&amp;#039;}, T.getReferences(&amp;#039;a&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;c&amp;lt;/ref&amp;gt;d&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;e&amp;lt;/ref&amp;gt;&amp;#039;, &amp;#039;b&amp;#039;) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;acfgk&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#References&amp;#039;, { references = 0 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;&amp;lt;ref&amp;gt;b&amp;lt;/ref&amp;gt;\n\n&amp;lt;ref name=&amp;quot;d&amp;quot;&amp;gt;e&amp;lt;/ref&amp;gt;\n\n&amp;lt;ref name=&amp;quot;h&amp;quot; group=&amp;quot;i&amp;quot;&amp;gt;j&amp;lt;/ref&amp;gt;&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#References&amp;#039;, { only = &amp;#039;references&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;&amp;lt;ref&amp;gt;b&amp;lt;/ref&amp;gt;\n\n&amp;lt;ref name=&amp;quot;Module:Transcluder/test d&amp;quot;&amp;gt;e&amp;lt;/ref&amp;gt;\n\n&amp;lt;ref name=&amp;quot;Module:Transcluder/test h&amp;quot;&amp;gt;j&amp;lt;/ref&amp;gt;&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#References&amp;#039;, { only = &amp;#039;references&amp;#039;, fixReferences = true } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testSection()&lt;br /&gt;
	self:assertThrows( function() T.getSection(&amp;#039;a&amp;#039;, &amp;#039;a&amp;#039;) end, &amp;quot;Section &amp;#039;a&amp;#039; not found&amp;quot; )&lt;br /&gt;
	self:assertThrows( function() T.getSection(&amp;#039;==z==&amp;#039;, &amp;#039;z&amp;#039;) end, &amp;quot;Section &amp;#039;z&amp;#039; is empty&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;b&amp;#039;, T.getSection(&amp;#039;==a==\nb&amp;#039;, &amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;b&amp;#039;, T.getSection(&amp;#039;==a==\nb\n==c==\nd&amp;#039;, &amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;b\n===c===\nd&amp;#039;, T.getSection(&amp;#039;==a==\nb\n===c===\nd&amp;#039;, &amp;#039;a&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;d&amp;#039;, T.getSection(&amp;#039;==a==\nb\n===c===\nd&amp;#039;, &amp;#039;c&amp;#039;) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;a\n===Subsection===\nb&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;b&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Subsection&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;, { sections = 0 } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testSections()&lt;br /&gt;
	self:assertEquals( &amp;quot;This &amp;#039;&amp;#039;&amp;#039;test&amp;#039;&amp;#039;&amp;#039; page interacts with [[Module:Transcluder/testcases]].&amp;quot;, T.get(&amp;#039;Module:Transcluder/test&amp;#039;, { sections = 0 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a\n===Subsection===\nb&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;, { sections = 0 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;, { sections = 2 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;, { sections = &amp;#039;Fake&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a\n===Subsection===\nb&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;, { sections = 1 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;a\n===Subsection===\nb&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section&amp;#039;, { sections = &amp;#039;Subsection&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;d&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Subsection with [[link]]&amp;#039; ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;e\n===Subsection===\nf&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Section with (parenthesis)&amp;#039; ) )&lt;br /&gt;
&lt;br /&gt;
	-- &amp;lt;section&amp;gt; tags&lt;br /&gt;
	self:assertThrows( function() T.get(&amp;#039;Module:Transcluder/test#a&amp;#039;) end, &amp;quot;Section tag &amp;#039;a&amp;#039; is empty&amp;quot; )&lt;br /&gt;
	self:assertEquals( &amp;#039;b&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#b&amp;#039; ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{|\n!c\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#c&amp;#039; ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testSelfLink()&lt;br /&gt;
	self:assertEquals( &amp;quot;This &amp;#039;&amp;#039;&amp;#039;test&amp;#039;&amp;#039;&amp;#039; page interacts with Module:Transcluder/testcases.&amp;quot;, T.get(&amp;#039;Module:Transcluder/test&amp;#039;, { noSelfLinks = true, sections = 0 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;Module:Transcluder/testcases module:Transcluder/testcases a a&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Self links&amp;#039;, { noSelfLinks = true, sections = 0 } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testTables()&lt;br /&gt;
	self:assertEquals( &amp;#039;{|\n!b\n|}\n\n{|\n|d\n|}\n\n{|id=&amp;quot;e&amp;quot;\n|e\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Tables&amp;#039;, { only = &amp;#039;tables&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{|\n!b\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Tables&amp;#039;, { only = &amp;#039;tables&amp;#039;, tables = 1 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{|\n|d\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Tables&amp;#039;, { only = &amp;#039;tables&amp;#039;, tables = 2 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{|\n!b\n|}\n\n{|id=&amp;quot;e&amp;quot;\n|e\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Tables&amp;#039;, { only = &amp;#039;tables&amp;#039;, tables = &amp;#039;1,3&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{|\n|d\n|}\n\n{|id=&amp;quot;e&amp;quot;\n|e\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Tables&amp;#039;, { only = &amp;#039;tables&amp;#039;, tables = &amp;#039;2-3&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{|id=&amp;quot;e&amp;quot;\n|e\n|}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Tables&amp;#039;, { only = &amp;#039;tables&amp;#039;, tables = &amp;#039;e&amp;#039; } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Suite:testTemplates()&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{b}}&amp;#039;,&amp;#039;{{c}}&amp;#039;,&amp;#039;{{d}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{c}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, 2 ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{d}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, &amp;#039;D&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{ b \n | c = d \n}}&amp;#039;}, T.getTemplates( &amp;#039;a{{ b \n | c = d \n}}e&amp;#039;, &amp;#039;b&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{a|b={{c|d=e}}}}&amp;#039;}, T.getTemplates( &amp;#039;{{a|b={{c|d=e}}}}&amp;#039;, &amp;#039;a&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{b}}&amp;#039;,&amp;#039;{{c}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, &amp;#039;-d&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{c}}&amp;#039;,&amp;#039;{{d}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, &amp;#039;c,d&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{b}}&amp;#039;,&amp;#039;{{d}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, &amp;#039;1,d&amp;#039; ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{c}}&amp;#039;,&amp;#039;{{d}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, { [&amp;#039;c&amp;#039;] = true, [&amp;#039;d&amp;#039;] = true } ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{b}}&amp;#039;,&amp;#039;{{d}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, { [1] = true, [&amp;#039;d&amp;#039;] = true } ) )&lt;br /&gt;
	self:assertDeepEquals( {&amp;#039;{{c}}&amp;#039;,&amp;#039;{{d}}&amp;#039;}, T.getTemplates( &amp;#039;a{{b}}{{c}}{{d}}e&amp;#039;, { [1] = false } ) )&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals( &amp;#039;{{b}}\n\n{{c}}\n\n{{d}}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Templates&amp;#039;, { only = &amp;#039;templates&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{{c}}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Templates&amp;#039;, { only = &amp;#039;templates&amp;#039;, templates = 2 } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{{d}}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Templates&amp;#039;, { only = &amp;#039;templates&amp;#039;, templates = &amp;#039;d&amp;#039; } ) )&lt;br /&gt;
	self:assertEquals( &amp;#039;{{c}}\n\n{{d}}&amp;#039;, T.get(&amp;#039;Module:Transcluder/test#Templates&amp;#039;, { only = &amp;#039;templates&amp;#039;, templates = &amp;#039;c,d&amp;#039; } ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return Suite&lt;/div&gt;</summary>
		<author><name>en&gt;Sophivorus</name></author>
	</entry>
</feed>