<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FTom.Reding%2Fsandbox</id>
	<title>Module:Sandbox/Tom.Reding/sandbox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FTom.Reding%2Fsandbox"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Tom.Reding/sandbox&amp;action=history"/>
	<updated>2026-07-27T23:01:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Tom.Reding/sandbox&amp;diff=146330&amp;oldid=prev</id>
		<title>imported&gt;Tom.Reding: +</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Tom.Reding/sandbox&amp;diff=146330&amp;oldid=prev"/>
		<updated>2022-09-18T12:47:47Z</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;--use &amp;quot;local arg1 = frame.args[1]&amp;quot; for sandboxing via #invoke&lt;br /&gt;
--use &amp;quot;local args = frame:getParent().args&amp;quot; for use via template&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.string_match(frame)&lt;br /&gt;
	local r = &amp;quot;2008–09 in Scottish women&amp;#039;s football&amp;quot;&lt;br /&gt;
	local regex_hyph  = &amp;#039;%d%d%d%d[–-]%d+&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
--	if string.match(r, regex_hyph) then     --returns &amp;#039;false&amp;#039;!&lt;br /&gt;
--	if mw.ustring.match(r, regex_hyph) then --returns &amp;#039;true&amp;#039;&lt;br /&gt;
	if string.match(r, &amp;#039;ball$&amp;#039;) then --returns &amp;#039;true&amp;#039;&lt;br /&gt;
		return &amp;#039;true&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;#039;false&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.avoidself(frame)&lt;br /&gt;
	local currtitle = mw.title.getCurrentTitle()&lt;br /&gt;
	local testcases = string.match(currtitle.subpageText, &amp;#039;^testcases&amp;#039;)&lt;br /&gt;
	local avoidself =  (currtitle.text ~= &amp;#039;Navseasoncats&amp;#039; and &lt;br /&gt;
						not string.match(currtitle.text, &amp;#039;Navseasoncats with&amp;#039;) and&lt;br /&gt;
						not string.match(currtitle.text, &amp;#039;Navseasoncats.*/doc&amp;#039;) and&lt;br /&gt;
						not string.match(currtitle.text, &amp;#039;Navseasoncats.*/sandbox&amp;#039;) and&lt;br /&gt;
						currtitle.nsText ~= &amp;#039;User_talk&amp;#039; and&lt;br /&gt;
						(currtitle.nsText ~= &amp;#039;Template&amp;#039; or testcases)) --avoid nested transclusion errors (i.e. {{Infilmdecade}})&lt;br /&gt;
	return  &amp;#039;text: &amp;#039;..currtitle.text..&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;nsText: &amp;quot;&amp;#039;..currtitle.nsText..&amp;#039;&amp;quot;&amp;#039;..&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;testcases: &amp;#039;..(testcases or &amp;#039;nil&amp;#039;)..&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;avoidself: &amp;#039;..tostring(avoidself)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ttest(frame)							--#t&lt;br /&gt;
	local t0 = {}								--0&lt;br /&gt;
	local t1 = { [0] = 1 }						--0&lt;br /&gt;
	local t2 = { [1] = 1 }						--1&lt;br /&gt;
	local t31 = { [0] = 1, [1] = 1, [2] = 1  }	--2&lt;br /&gt;
	local t32 = { [2] = 1, [3] = 1, [4] = 1  }	--0&lt;br /&gt;
	local t33 = { [3] = 1, [4] = 1, [5] = 1  }	--0&lt;br /&gt;
	local tneg = { [-1]=1, [0] = 1, [1] = 1  }	--1&lt;br /&gt;
									--output&lt;br /&gt;
	return	&amp;#039;#t0: &amp;#039;      ..#t0..	--0&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;#t1: &amp;#039; ..#t1..	--0&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;#t2: &amp;#039; ..#t2..	--1&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;#t31: &amp;#039;..#t31..	--2&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;#t32: &amp;#039;..#t32..	--0&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;#t33: &amp;#039;..#t33..	--0&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;#tneg: &amp;#039;..#tneg..	--1&lt;br /&gt;
			&amp;#039;&amp;lt;br/&amp;gt;mw.log&amp;#039;..(mw.log( #t31 ) or &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.indexcalctest(frame)&lt;br /&gt;
	local t = {}&lt;br /&gt;
	t[1+3] = 5&lt;br /&gt;
	return t[4] or &amp;#039;nil&amp;#039; --returns 5 as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.fort(frame)&lt;br /&gt;
	local i = 0&lt;br /&gt;
	for i=1, 10 do&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	return i --returns &amp;#039;0&amp;#039; as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.whilet(frame)&lt;br /&gt;
	local i = 0&lt;br /&gt;
	while i &amp;lt; 10 do&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	return i --returns &amp;#039;10&amp;#039; as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ifevaluationtest(frame)&lt;br /&gt;
	local cat1 = &amp;#039;2010s awards&amp;#039;&lt;br /&gt;
	local cat2 = &amp;#039;2020s awards&amp;#039;&lt;br /&gt;
	if mw.title.new(cat1, &amp;#039;Category&amp;#039;).exists and&lt;br /&gt;
	   mw.title.new(cat2, &amp;#039;Category&amp;#039;).exists&lt;br /&gt;
	then&lt;br /&gt;
		return 1&lt;br /&gt;
	end&lt;br /&gt;
	return 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.zerotest(frame)&lt;br /&gt;
	local neg = -0               --displays &amp;#039;-0&amp;#039; as expected&lt;br /&gt;
	local nneg = tonumber(&amp;#039;-0&amp;#039;)  --displays &amp;#039;-0&amp;#039; as expected&lt;br /&gt;
	local pos = 0                --displays &amp;#039;-0&amp;#039; NOT as expected&lt;br /&gt;
	local ppos = tonumber(&amp;#039;0&amp;#039;)   --displays &amp;#039;0&amp;#039;&lt;br /&gt;
	local pppos = tonumber(&amp;#039;+0&amp;#039;) --displays &amp;#039;0&amp;#039; as expected&lt;br /&gt;
	local s = tostring(pos)      --displays &amp;#039;-0&amp;#039; NOT as expected&lt;br /&gt;
	local ss = tostring(ppos)    --displays &amp;#039;0&amp;#039;&lt;br /&gt;
	local t = (neg &amp;lt; 0) --false&lt;br /&gt;
	local tt = (s == &amp;#039;-0&amp;#039;) --true&lt;br /&gt;
	local u = (neg == 0) --true&lt;br /&gt;
	local v = (neg == -0) --true&lt;br /&gt;
	return tostring(nneg)..&amp;#039; &amp;#039;..pppos..&amp;#039; &amp;#039;..s..&amp;#039; &amp;#039;..tostring(tt)..&amp;#039; &amp;#039;..tostring(v) --returns &amp;#039;-0 0 -0 true true&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.test(frame)&lt;br /&gt;
	local conf = require( &amp;quot;Module:Authority control&amp;quot; ).conf&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	for _, c in pairs( conf ) do&lt;br /&gt;
		out = out..&amp;#039;&amp;lt;br/&amp;gt;&amp;#039;..c[1]&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.iffalsetest(frame)&lt;br /&gt;
	local f = false&lt;br /&gt;
	if f then&lt;br /&gt;
		return &amp;#039;f&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;#039;endd&amp;#039; --debugger thinks &amp;quot;&amp;#039;end&amp;#039;&amp;quot; == &amp;quot;end&amp;quot;...&lt;br /&gt;
	end				  --returns endd, as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.fortest(frame)&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	for gs = 0, 5 do&lt;br /&gt;
		out = out..gs&lt;br /&gt;
	end&lt;br /&gt;
	return out --returns 012345&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.regex_group_test(frame)&lt;br /&gt;
	local R = &amp;#039;asdfasdf 2020–&amp;#039;&lt;br /&gt;
	local y, hyph, ending = mw.ustring.match(R, &amp;#039;^.-(%d+)([–-])(.*)$&amp;#039;)&lt;br /&gt;
	return (y or &amp;#039;nil&amp;#039;)..&amp;#039;, &amp;#039;..(hyph or &amp;#039;nil&amp;#039;)..&amp;#039;, &amp;#039;..(ending or &amp;#039;nil&amp;#039;) --returns &amp;#039;2020, –,&amp;#039; as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.empty_regex_group_test(frame)&lt;br /&gt;
	local text = &amp;#039;2020–&amp;#039;&lt;br /&gt;
--	return (mw.ustring.match(text, &amp;#039;%d+([–-])$&amp;#039;) or &amp;#039;nil&amp;#039;)   --returns –&lt;br /&gt;
--	return (mw.ustring.match(text, &amp;#039;%d+[–-]()$&amp;#039;) or &amp;#039;nil&amp;#039;)   --returns 6&lt;br /&gt;
--	return (mw.ustring.match(text, &amp;#039;%d+[–-]($)&amp;#039;) or &amp;#039;nil&amp;#039;)   --returns nil&lt;br /&gt;
	return (mw.ustring.match(text, &amp;#039;%d+[–-](.*)$&amp;#039;) or &amp;#039;nil&amp;#039;) --returns &amp;#039;&amp;#039; as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.regex_gsub_test(frame)&lt;br /&gt;
	local cat1 = &amp;#039;2006 Super 14 season&amp;#039;&lt;br /&gt;
	local base1   = &amp;#039;&amp;quot;&amp;#039;..mw.ustring.gsub(cat1, &amp;#039;%d+[–-]?%d?%d?%d?%d?&amp;#039;, &amp;#039;&amp;#039;)..&amp;#039;&amp;quot;&amp;#039;            --returns &amp;quot; Super season&amp;quot;&lt;br /&gt;
	local base1_1 = &amp;#039;&amp;quot;&amp;#039;..mw.ustring.gsub(cat1, &amp;#039;%d+[–-]?%d?%d?%d?%d?&amp;#039;, &amp;#039;&amp;#039;, 1)..&amp;#039;&amp;quot;&amp;#039;         --returns &amp;quot; Super 14 season&amp;quot;&lt;br /&gt;
	local cat2 = &amp;#039;14 Super 2006 season&amp;#039;&lt;br /&gt;
	local base2   = &amp;#039;&amp;quot;&amp;#039;..mw.ustring.gsub(cat2, &amp;#039;%d+[–-]?%d?%d?%d?%d?&amp;#039;, &amp;#039;&amp;#039;)..&amp;#039;&amp;quot;&amp;#039;            --returns &amp;quot; Super season&amp;quot;&lt;br /&gt;
	local base2_2 = &amp;#039;&amp;quot;&amp;#039;..mw.ustring.gsub(cat2, &amp;#039;%d+[–-]?%d?%d?%d?%d?&amp;#039;, &amp;#039;&amp;#039;, 1)..&amp;#039;&amp;quot;&amp;#039;         --returns &amp;quot; Super 2006 season&amp;quot;&lt;br /&gt;
	local base2_3 = &amp;#039;&amp;quot;&amp;#039;..mw.ustring.gsub(cat2, &amp;#039;%d%d?%d?%d?[–-]?%d?%d?%d?%d?&amp;#039;, &amp;#039;&amp;#039;)..&amp;#039;&amp;quot;&amp;#039;    --returns &amp;quot; Super season&amp;quot;&lt;br /&gt;
	local base2_4 = &amp;#039;&amp;quot;&amp;#039;..mw.ustring.gsub(cat2, &amp;#039;%d%d?%d?%d?[–-]?%d?%d?%d?%d?&amp;#039;, &amp;#039;&amp;#039;, 1)..&amp;#039;&amp;quot;&amp;#039; --returns &amp;quot; Super 2006 season&amp;quot;&lt;br /&gt;
	return base2_4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.match_or_match_test(frame)&lt;br /&gt;
	local text = &amp;#039;2020–&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
--	local y, hyph = mw.ustring.match(text, &amp;#039;(%d+)([–-])present$&amp;#039;) or mw.ustring.match(text, &amp;#039;(%d+)([–-])$&amp;#039;)&lt;br /&gt;
--	return (y or &amp;#039;nil&amp;#039;)..&amp;#039; &amp;amp; &amp;#039;..(hyph or &amp;#039;nil&amp;#039;) --returns 2020 &amp;amp; nil (NOT as expected)&lt;br /&gt;
	&lt;br /&gt;
--	local y, hyph = mw.ustring.match(text, &amp;#039;(%d+)([–-])$&amp;#039;) or mw.ustring.match(text, &amp;#039;(%d+)([–-])present$&amp;#039;)&lt;br /&gt;
--	return (y or &amp;#039;nil&amp;#039;)..&amp;#039; &amp;amp; &amp;#039;..(hyph or &amp;#039;nil&amp;#039;) --returns 2020 &amp;amp; nil (NOT as expected)&lt;br /&gt;
	&lt;br /&gt;
--	local y, hyph = mw.ustring.match(text, &amp;#039;(%d+)([–-])$&amp;#039;)&lt;br /&gt;
--	return (y or &amp;#039;nil&amp;#039;)..&amp;#039; &amp;amp; &amp;#039;..(hyph or &amp;#039;nil&amp;#039;) --returns 2020 &amp;amp; – (as expected)&lt;br /&gt;
	&lt;br /&gt;
	local y, hyph = mw.ustring.match(text, &amp;#039;(%d+)([–-])present$&amp;#039;)&lt;br /&gt;
	return (y or &amp;#039;nil&amp;#039;)..&amp;#039; &amp;amp; &amp;#039;..(hyph or &amp;#039;nil&amp;#039;) --returns nil &amp;amp; nil (as expected)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.mw_title_new_exists_wstest(frame)&lt;br /&gt;
	local cat = &amp;#039;UK MPs 2015–2017 &amp;#039;..&amp;#039; &amp;#039;&lt;br /&gt;
	return tostring(mw.title.new( cat, &amp;#039;Category&amp;#039; ).exists) --returns true (as expected)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.tonumber_test(frame)&lt;br /&gt;
	local cat = &amp;#039;Wikipedia articles with VIAF identifiers&amp;#039; --800,000 something&lt;br /&gt;
	local lang = mw.getContentLanguage()&lt;br /&gt;
	local count = mw.site.stats.pagesInCategory(cat, &amp;#039;pages&amp;#039;) --800000&lt;br /&gt;
	local count_lang = lang:formatNum( count ) --800,000&lt;br /&gt;
--	return (count or &amp;#039;nil&amp;#039;)..&amp;#039;, &amp;#039;..(tonumber(count or &amp;#039;-1&amp;#039;) or &amp;#039;-2&amp;#039;) --returns 880843, 880843 as expected&lt;br /&gt;
--	return (count_lang or &amp;#039;nil&amp;#039;)..&amp;#039;, &amp;#039;..(tonumber(count_lang or &amp;#039;-1&amp;#039;) or &amp;#039;-2&amp;#039;) --returns 881,195, -2 --use lang:parseFormattedNumber() instead&lt;br /&gt;
	return (count_lang or &amp;#039;nil&amp;#039;)..&amp;#039;, &amp;#039;..(lang:parseFormattedNumber(count_lang or &amp;#039;-1&amp;#039;) or &amp;#039;-2&amp;#039;) --returns 880,358, 880358&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.lastedit_test(frame)&lt;br /&gt;
	return mw.title.new( &amp;#039;Special:Contributions/Tom.Reding&amp;#039;, &amp;#039;Special&amp;#039; ):getContent() or &amp;#039;nil&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.split_test(frame)&lt;br /&gt;
--	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;,    &amp;#039; &amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039;   --returns test-1,two- &lt;br /&gt;
--	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;,   &amp;#039;%s&amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039;   --returns test-1,two-&lt;br /&gt;
--	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;,    &amp;#039;-&amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039;   --returns test,1 two,&lt;br /&gt;
--	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;,  &amp;#039; %-&amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039;   --returns test-1 two-&lt;br /&gt;
--	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;,   &amp;#039; -&amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039;   --returns t,e,s,t,-,1, ,t,w,o,-&lt;br /&gt;
--	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;,   &amp;#039;- &amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039;   --returns test-1 two-&lt;br /&gt;
--	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;, &amp;#039;%s%-&amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039;   --returns test-1 two-&lt;br /&gt;
	return table.concat( mw.text.split(&amp;#039;test-1 two-&amp;#039;, &amp;#039;[%s%-]&amp;#039;), &amp;#039;,&amp;#039; ) or &amp;#039;nil&amp;#039; --returns test,1,two,&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.regex_greed_and_nested_groups_test(frame)&lt;br /&gt;
	local t = &amp;#039;{{category redirect | {{title year}}s in New Spain }}&amp;#039;&lt;br /&gt;
	local r = &amp;#039;{{category redirect%s*|%s*([^{}]*{{([^{|}]+)}}[^{}]-)%s*}}&amp;#039;&lt;br /&gt;
	local g1, g2 = mw.ustring.match(t, r)&lt;br /&gt;
	return &amp;#039;&amp;quot;&amp;#039;..g1..&amp;#039;&amp;quot; &amp;quot;&amp;#039;..g2..&amp;#039;&amp;quot;&amp;#039; --returns &amp;quot;{{title year}}s in New Spain&amp;quot; &amp;quot;title year&amp;quot; as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.redirectTarget_test(frame)&lt;br /&gt;
--	local title  = mw.title.new( &amp;#039;1670s in Mexico&amp;#039;, &amp;#039;Category&amp;#039; )	--#R		--returns false&lt;br /&gt;
--	local title2 = mw.title.new( &amp;#039;1670s in New Spain&amp;#039;, &amp;#039;Category&amp;#039; )	--#R target	--returns false&lt;br /&gt;
	&lt;br /&gt;
--	local title  = mw.title.makeTitle( &amp;#039;Category&amp;#039;, &amp;#039;1670s in Mexico&amp;#039; )    --#R        --returns false&lt;br /&gt;
--	local title2 = mw.title.makeTitle( &amp;#039;Category&amp;#039;, &amp;#039;1670s in New Spain&amp;#039; ) --#R target --returns false&lt;br /&gt;
	&lt;br /&gt;
	local title  = mw.title.new( &amp;#039;EL 61&amp;#039; )	--#R		--returns &amp;quot;Haumea&amp;quot;&lt;br /&gt;
	local title2 = mw.title.new( &amp;#039;Haumea&amp;#039; )	--#R target	--returns &amp;quot;false&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local rtitle  = title.redirectTarget  --only works in mainspace; ignorant of {{category redirect}}s&lt;br /&gt;
	local rtitle2 = title2.redirectTarget --only works in mainspace; ignorant of {{category redirect}}s&lt;br /&gt;
	if type(rtitle) == &amp;#039;boolean&amp;#039; then&lt;br /&gt;
		return tostring(rtitle)..&amp;#039; &amp;#039;..tostring(rtitle)&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;#039;&amp;quot;&amp;#039;..title.redirectTarget.baseText..&amp;#039;&amp;quot; &amp;quot;&amp;#039;..tostring(rtitle2)..&amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.frame_newChild_test(frame)&lt;br /&gt;
	local t = &amp;#039;Category:1670s in Mexico&amp;#039;&lt;br /&gt;
	local child = frame:newChild{ title = t, args = {} }&lt;br /&gt;
--	return &amp;#039;&amp;quot;&amp;#039;..child:getTitle()..&amp;#039;&amp;quot;&amp;#039;  --returns &amp;quot;Category:1670s in Mexico&amp;quot; as expected&lt;br /&gt;
--	return &amp;#039;&amp;quot;&amp;#039;..child:expandTemplate{ title = &amp;#039;title year&amp;#039;, args = {} }..&amp;#039;&amp;quot;&amp;#039;           --returns &amp;quot;&amp;quot; NOT as expected...&lt;br /&gt;
--	return &amp;#039;&amp;quot;&amp;#039;..child:expandTemplate{ title = &amp;#039;title year&amp;#039;, args = { page = t } }..&amp;#039;&amp;quot;&amp;#039; --returns &amp;quot;1670&amp;quot; as expected&lt;br /&gt;
	return &amp;#039;&amp;quot;&amp;#039;..frame:expandTemplate{ title = &amp;#039;title year&amp;#039;, args = { page = t } }..&amp;#039;&amp;quot;&amp;#039; --returns &amp;quot;1670&amp;quot; as expected&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ns_test(frame)&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	local namespace = title.namespace&lt;br /&gt;
	return namespace&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Tom.Reding</name></author>
	</entry>
</feed>