]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - extensions/SyntaxHighlight_GeSHi/tests/parserTests.txt
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / extensions / SyntaxHighlight_GeSHi / tests / parserTests.txt
1 !! hooks
2 source
3 !! endhooks
4
5 !! test
6 Non-existent language
7 !!input
8 <source lang="doesnotexist">
9 foobar
10 </source>
11 !! result
12 <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>foobar</pre></div>
13
14 !! end
15
16 !! test
17 No language specified
18 !! wikitext
19 <source>
20 foo
21 </source>
22 !! html
23 <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>foo</pre></div>
24
25 !! end
26
27 !! test
28 No language specified (no wellformed xml)
29 !! config
30 !! wikitext
31 <source>
32 bar
33 </source>
34 !! html
35 <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>bar</pre></div>
36
37 !! end
38
39 !! test
40 XSS is escaped
41 !!input
42 <source lang="doesnotexist">
43 <script>alert("pwnd")</script>
44 <IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>
45 <IMG
46 SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;
47 &#39;&#88;&#83;&#83;&#39;&#41;
48 \";alert('XSS');//
49 </script><script>alert('XSS');</script>
50 %253cscript%253ealert(document.cookie)%253c/script%253e
51 </source>
52 !! result
53 <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>&lt;script>alert("pwnd")&lt;/script>
54 &lt;IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>
55 &lt;IMG
56 SRC=&amp;#106;&amp;#97;&amp;#118;&amp;#97;&amp;#115;&amp;#99;&amp;#114;&amp;#105;&amp;#112;&amp;#116;&amp;#58;&amp;#97;&amp;#108;&amp;#101;&amp;#114;&amp;#116;&amp;#40;
57 &amp;#39;&amp;#88;&amp;#83;&amp;#83;&amp;#39;&amp;#41;
58 \";alert('XSS');//
59 &lt;/script>&lt;script>alert('XSS');&lt;/script>
60 %253cscript%253ealert(document.cookie)%253c/script%253e</pre></div>
61
62 !! end
63
64 !! test
65 XSS is escaped (inline)
66 !!input
67 <source lang="doesnotexist" inline>
68 <script>alert("pwnd")</script>
69 <IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>
70 <IMG
71 SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;
72 &#39;&#88;&#83;&#83;&#39;&#41;
73 \";alert('XSS');//
74 </script><script>alert('XSS');</script>
75 %253cscript%253ealert(document.cookie)%253c/script%253e
76 </source>
77 !! result
78 <p><code class="mw-highlight" dir="ltr">&lt;script&gt;alert("pwnd")&lt;/script&gt; &lt;IMG SRC=`javascript:alert("RSnake says, 'XSS'")`&gt; &lt;IMG SRC=&amp;#106;&amp;#97;&amp;#118;&amp;#97;&amp;#115;&amp;#99;&amp;#114;&amp;#105;&amp;#112;&amp;#116;&amp;#58;&amp;#97;&amp;#108;&amp;#101;&amp;#114;&amp;#116;&amp;#40; &amp;#39;&amp;#88;&amp;#83;&amp;#83;&amp;#39;&amp;#41; \";alert('XSS');// &lt;/script&gt;&lt;script&gt;alert('XSS');&lt;/script&gt;&#160;%253cscript%253ealert(document.cookie)%253c/script%253e</code>
79 </p>
80 !! end
81
82 !! test
83 Default behaviour (inner is pre)
84 !!input
85 <source lang="javascript">
86 var a;
87 </source>
88 !! result
89 <div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">var</span> <span class="nx">a</span><span class="p">;</span>
90 </pre></div>
91
92 !! end
93
94 !! test
95 Multiline <source/> in lists
96 !!input
97 * <source>a
98 b</source>
99
100 * foo <source>a
101 b</source>
102 !! html
103 <ul><li> <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>a
104 b</pre></div></li></ul>
105 <ul><li> foo <div class="mw-highlight mw-content-ltr" dir="ltr"><pre>a
106 b</pre></div></li></ul>
107
108 !! html+tidy
109 <ul>
110 <li>
111 <div class="mw-highlight mw-content-ltr" dir="ltr">
112 <pre>
113 a
114 b
115 </pre></div>
116 </li>
117 </ul>
118 <ul>
119 <li>foo
120 <div class="mw-highlight mw-content-ltr" dir="ltr">
121 <pre>
122 a
123 b
124 </pre></div>
125 </li>
126 </ul>
127 !! end
128
129 !! test
130 Custom attributes
131 !!input
132 <source lang="javascript" id="foo" class="bar" dir="rtl" style="font-size: larger;">var a;</source>
133 !! result
134 <div id="foo" class="bar mw-highlight mw-content-rtl" dir="rtl" style="font-size: larger;"><pre><span></span><span class="kd">var</span> <span class="nx">a</span><span class="p">;</span>
135 </pre></div>
136
137 !! end
138
139 !! test
140 Inline attribute (inline code)
141 !!input
142 Text <source lang="javascript" inline>var a;</source>.
143 !! result
144 <p>Text <code class="mw-highlight" dir="ltr"><span class="kd">var</span> <span class="nx">a</span><span class="p">;</span></code>.
145 </p>
146 !! end
147
148 !! test
149 Enclose none (inline code)
150 !!input
151 Text <source lang="javascript" enclose="none">var a;</source>.
152 !! result
153 <p>Text <code class="mw-highlight" dir="ltr"><span class="kd">var</span> <span class="nx">a</span><span class="p">;</span></code>.
154 </p>
155 !! end
156
157 !! test
158 Enclose with nowiki
159 !! input
160 {{#tag:syntaxhighlight|<nowiki>foo</nowiki>|lang="text"|inline=none}}
161 !! result
162 <p><code class="mw-highlight" dir="ltr">foo</code>
163 </p>
164 !! end