Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1427596
parserTests.txt
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
8 KB
Referenced Files
None
Subscribers
None
parserTests.txt
View Options
!! options
parsoid-compatible=wt2html,wt2wt
version=2
!! end
# Force the test runner to ensure the extension is loaded
!! hooks
source
!! endhooks
!! test
Non-existent language
!! wikitext
<source lang="doesnotexist">
foobar
</source>
!! html/php
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>foobar</pre></div>
!! html/parsoid
<div class="mw-highlight mw-content-ltr" dir="ltr" about="#mwt1" typeof="mw:Extension/source" data-mw='{"name":"source","attrs":{"lang":"doesnotexist"},"body":{"extsrc":"\nfoobar\n"}}'><pre>foobar</pre></div>
!! end
!! test
No language specified
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<source>
foo
</source>
!! html
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>foo</pre></div>
!! end
!! test
No language specified (no wellformed xml)
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! config
!! wikitext
<source>
bar
</source>
!! html
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>bar</pre></div>
!! end
!! test
XSS is escaped
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<source lang="doesnotexist">
<script>alert("pwnd")</script>
<IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>
<IMG
SRC=javascript:alert(
'XSS')
\";alert('XSS');//
</script><script>alert('XSS');</script>
%253cscript%253ealert(document.cookie)%253c/script%253e
</source>
!! html
<div class="mw-highlight mw-content-ltr" dir="ltr"><pre><script>alert("pwnd")</script>
<IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>
<IMG
SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;
&#39;&#88;&#83;&#83;&#39;&#41;
\";alert('XSS');//
</script><script>alert('XSS');</script>
%253cscript%253ealert(document.cookie)%253c/script%253e</pre></div>
!! end
!! test
XSS is escaped (inline)
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<source lang="doesnotexist" inline="">
<script>alert("pwnd")</script>
<IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>
<IMG
SRC=javascript:alert(
'XSS')
\";alert('XSS');//
</script><script>alert('XSS');</script>
%253cscript%253ealert(document.cookie)%253c/script%253e
</source>
!! html
<p><code class="mw-highlight mw-content-ltr" dir="ltr"><script>alert("pwnd")</script> <IMG SRC=`javascript:alert("RSnake says, 'XSS'")`> <IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40; &#39;&#88;&#83;&#83;&#39;&#41; \";alert('XSS');// </script><script>alert('XSS');</script> %253cscript%253ealert(document.cookie)%253c/script%253e</code>
</p>
!! end
!! test
Default behaviour (inner is pre)
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<source lang="javascript">
var a;
</source>
!! html
<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">var</span><span class="w"> </span><span class="nx">a</span><span class="p">;</span>
</pre></div>
!! end
!! test
Multiline <source/> in lists
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
*<source>a
b</source>
*foo <source>a
b</source>
!! html
<ul><li><div class="mw-highlight mw-content-ltr" dir="ltr"><pre>a
b</pre></div></li></ul>
<ul><li>foo <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>a
b</pre></div></li></ul>
!! end
!! test
Custom attributes
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<source lang="javascript" id="foo" class="bar" dir="rtl" style="font-size: larger;">var a;</source>
!! html
<div id="foo" class="bar mw-highlight mw-highlight-lang-javascript mw-content-rtl" style="font-size: larger;" dir="rtl"><pre><span></span><span class="kd">var</span><span class="w"> </span><span class="nx">a</span><span class="p">;</span>
</pre></div>
!! end
# The html/parsoid section verifies that Parsoid can handle attributes
# that are not in key=value XML-like syntax.
!! test
Inline attribute (inline code)
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
Text <source lang="javascript" inline>var a;</source>.
!! html/php
<p>Text <code class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><span class="kd">var</span><span class="w"> </span><span class="nx">a</span><span class="p">;</span></code>.
</p>
!! html/parsoid
<p>Text <code class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr" about="#mwt1" typeof="mw:Extension/source" data-mw='{"name":"source","attrs":{"lang":"javascript","inline":""},"body":{"extsrc":"var a;"}}'><span class="kd">var</span><span class="w"> </span><span class="nx">a</span><span class="p">;</span></code>.</p>
!! end
!! test
Enclose none (inline code)
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
Text <source lang="javascript" enclose="none">var a;</source>.
!! html
<p>Text <code class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><span class="kd">var</span><span class="w"> </span><span class="nx">a</span><span class="p">;</span></code>.
</p>
!! end
!! test
Enclose with nowiki
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
{{#tag:syntaxhighlight|<nowiki>foo</nowiki>|lang="text"|inline=none}}
!! html/php
<p><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr">foo</code>
</p>
!! html/parsoid
<p><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr" about="#mwt1" typeof="mw:Extension/syntaxhighlight mw:Transclusion" data-mw='{"name":"syntaxhighlight","attrs":{"lang":"text","inline":"none"},"body":{"extsrc":"foo"},"parts":[{"template":{"target":{"wt":"#tag:syntaxhighlight","function":"tag"},"params":{"1":{"wt":"<nowiki>foo</nowiki>"},"lang":{"wt":"\"text\""},"inline":{"wt":"none"}},"i":0}}]}'>foo</code></p>
!! end
!! test
Self-closing tag
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<syntaxhighlight lang="CSharp" />
!! html
<div class="mw-highlight mw-highlight-lang-csharp mw-content-ltr" dir="ltr"></div>
!! end
!! test
No code
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<source lang="CSharp"></source>
!! html
<div class="mw-highlight mw-highlight-lang-csharp mw-content-ltr" dir="ltr"></div>
!! end
!! test
Just whitespace
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<source lang="CSharp"> </source>
!! html
<div class="mw-highlight mw-highlight-lang-csharp mw-content-ltr" dir="ltr"></div>
!! end
!! test
tabs plus tidy (T32930, T59826)
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! wikitext
<syntaxhighlight lang="javascript" enclose="pre" highlight="2-3">
function doSomething() {
var foo,
bar;
if (baz) {
</syntaxhighlight>
!! html
<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">function</span><span class="w"> </span><span class="nx">doSomething</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="hll"><span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">foo</span><span class="p">,</span>
</span><span class="hll"><span class="w"> </span><span class="nx">bar</span><span class="p">;</span>
</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">baz</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
</pre></div>
!! end
!! test
deprecated source tag adds tracking category
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
!! options
cat
nohtml
!! wikitext
<source lang="python">print('Hi')</source>
!! html/php
cat=Pages_using_deprecated_source_tags sort=
!! end
!! test
deprecated enclose option adds tracking category
!! options
parsoid={ "modes": ["wt2html","wt2wt"], "normalizePhp": true }
cat
nohtml
!! wikitext
<syntaxhighlight enclose="none" lang="python">print('Hi')</syntaxhighlight>
!! html/php
cat=Pages_using_deprecated_enclose_attributes sort=
!! end
File Metadata
Details
Attached
Mime Type
text/html
Expires
Sat, May 16, 14:50 (23 h, 54 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
5e/1d/c1723568ff3711bb6efe21fb96d9
Default Alt Text
parserTests.txt (8 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment