1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5 <title>SyntaxHighlighter Highlight Tests</title>
7 <!-- jQuery & QUnit -->
8 <script type="text/javascript" src="js/jquery-1.4.2.js"></script>
9 <script type="text/javascript" src="js/qunit.js"></script>
10 <link type="text/css" rel="stylesheet" href="js/qunit.css"/>
12 <!-- SyntaxHighlighter -->
13 <script type="text/javascript" src="/sh/scripts/XRegExp.js"></script> <!-- XRegExp is bundled with the final shCore.js during build -->
14 <script type="text/javascript" src="/sh/scripts/shCore.js"></script>
15 <script type="text/javascript" src="/sh/scripts/shLegacy.js"></script>
16 <script type="text/javascript" src="/sh/scripts/shBrushAppleScript.js"></script>
17 <script type="text/javascript" src="/sh/scripts/shBrushAS3.js"></script>
18 <script type="text/javascript" src="/sh/scripts/shBrushBash.js"></script>
19 <script type="text/javascript" src="/sh/scripts/shBrushColdFusion.js"></script>
20 <script type="text/javascript" src="/sh/scripts/shBrushCpp.js"></script>
21 <script type="text/javascript" src="/sh/scripts/shBrushCSharp.js"></script>
22 <script type="text/javascript" src="/sh/scripts/shBrushCss.js"></script>
23 <script type="text/javascript" src="/sh/scripts/shBrushDelphi.js"></script>
24 <script type="text/javascript" src="/sh/scripts/shBrushDiff.js"></script>
25 <script type="text/javascript" src="/sh/scripts/shBrushErlang.js"></script>
26 <script type="text/javascript" src="/sh/scripts/shBrushGroovy.js"></script>
27 <script type="text/javascript" src="/sh/scripts/shBrushJava.js"></script>
28 <script type="text/javascript" src="/sh/scripts/shBrushJavaFx.js"></script>
29 <script type="text/javascript" src="/sh/scripts/shBrushJScript.js"></script>
30 <script type="text/javascript" src="/sh/scripts/shBrushPerl.js"></script>
31 <script type="text/javascript" src="/sh/scripts/shBrushPhp.js"></script>
32 <script type="text/javascript" src="/sh/scripts/shBrushPlain.js"></script>
33 <script type="text/javascript" src="/sh/scripts/shBrushPowerShell.js"></script>
34 <script type="text/javascript" src="/sh/scripts/shBrushPython.js"></script>
35 <script type="text/javascript" src="/sh/scripts/shBrushRuby.js"></script>
36 <script type="text/javascript" src="/sh/scripts/shBrushSass.js"></script>
37 <script type="text/javascript" src="/sh/scripts/shBrushScala.js"></script>
38 <script type="text/javascript" src="/sh/scripts/shBrushSql.js"></script>
39 <script type="text/javascript" src="/sh/scripts/shBrushVb.js"></script>
40 <script type="text/javascript" src="/sh/scripts/shBrushXml.js"></script>
42 <link type="text/css" rel="stylesheet" href="/sh/styles/shCoreDefault.css"/>
47 <h1 id="qunit-header">SyntaxHighlighter Highlight Lines Test</h1>
48 <h2 id="qunit-banner"></h2>
49 <div id="qunit-testrunner-toolbar"></div>
50 <h2 id="qunit-userAgent"></h2>
51 <ol id="qunit-tests"></ol>
53 <button id="interaction">Run interaction tests</button>
75 border: 5px solid silver;
77 font-family: Helvetica;
88 <script type="text/javascript">
96 '006_pad_line_numbers',
107 '007_collapse_interaction'
113 testQueue.push(func);
118 ok($sh.length > 0, 'Element present');
119 ok($sh.is('div'), 'Element is DIV');
120 ok($sh.find('> div').is('.syntaxhighlighter'), 'Nested DIV is a .syntaxhighlighter');
123 function ok_toolbar($sh)
125 var $target = $sh.find('> .syntaxhighlighter > .toolbar');
126 ok($target.length > 0, 'Toolbar present');
127 ok($target.is(':visible'), 'Toolbar visible');
130 function ok_caption($sh, value)
132 var $target = $sh.find('> .syntaxhighlighter > table > caption');
133 ok($target.length > 0, 'Caption present');
134 ok($target.is(':visible'), 'Caption visible');
137 equals($target.text(), value, 'Caption text');
140 function ok_gutter($sh)
142 var $target = $sh.find('> .syntaxhighlighter > table > tbody > tr > .gutter');
143 ok($target.length > 0, 'Gutter present');
144 ok($target.is(':visible'), 'Gutter visible');
147 function ok_code($sh)
149 var $target = $sh.find('> .syntaxhighlighter > table > tbody > tr > .code');
150 ok($target.length > 0, 'Code present');
151 ok($target.is(':visible'), 'Code visible');
154 function ok_collapsed($sh)
156 ok($sh.find('> .syntaxhighlighter.collapsed').length == 1, '.collapsed present');
159 function loadTests(tests, addHtml)
163 $.each(tests, function(index)
167 if (addHtml != false)
169 html += '<div class="test-wrap">\n'
170 html += '<h3>' + name + '</h3>\n';
174 url: 'cases/' + name + '.html',
178 success: function(data)
184 html += '<p>Not found...</p>';
188 if (addHtml != false)
193 html += '<div style="clear:both"></div>\n';
198 // Looks like .html() is producing different results when it comes to
199 // content that has <script /> which type is NOT "text/javascript".
200 // $('#output').html(html);
202 $('#output')[0].innerHTML += html;
205 // However, if HTML assigned to to .innerHTML container <script/> tags,
206 // they are not executed, so we have to manually walk all of them and
207 // eval() the content.
209 $('#output script[type="text/javascript"][class!="executed"]').each(function()
211 eval($(this).text() || $(this).html());
212 $(this).addClass('executed')
216 function runTestQueue()
219 $.each(testQueue, function()
227 $(document).ready(function()
229 loadTests(renderTests);
230 SyntaxHighlighter.highlight();
233 $('#interaction').click(function()
235 loadTests(interactionTests, false /* addHtml */);