/lib/syntaxhighlighter_3.0.83/tests/syntaxhighlighter_tests.html
# · HTML · 242 lines · 206 code · 34 blank · 2 comment · 0 complexity · 772df05a1b1c1695cb6373cbd5fe3f8c MD5 · raw file
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <title>SyntaxHighlighter Highlight Tests</title>
- <!-- jQuery & QUnit -->
- <script type="text/javascript" src="js/jquery-1.4.2.js"></script>
- <script type="text/javascript" src="js/qunit.js"></script>
- <link type="text/css" rel="stylesheet" href="js/qunit.css"/>
- <!-- SyntaxHighlighter -->
- <script type="text/javascript" src="/sh/scripts/XRegExp.js"></script> <!-- XRegExp is bundled with the final shCore.js during build -->
- <script type="text/javascript" src="/sh/scripts/shCore.js"></script>
- <script type="text/javascript" src="/sh/scripts/shLegacy.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushAppleScript.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushAS3.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushBash.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushColdFusion.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushCpp.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushCSharp.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushCss.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushDelphi.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushDiff.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushErlang.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushGroovy.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushJava.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushJavaFx.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushJScript.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushPerl.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushPhp.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushPlain.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushPowerShell.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushPython.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushRuby.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushSass.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushScala.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushSql.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushVb.js"></script>
- <script type="text/javascript" src="/sh/scripts/shBrushXml.js"></script>
- <link type="text/css" rel="stylesheet" href="/sh/styles/shCoreDefault.css"/>
- </head>
- <body>
- <h1 id="qunit-header">SyntaxHighlighter Highlight Lines Test</h1>
- <h2 id="qunit-banner"></h2>
- <div id="qunit-testrunner-toolbar"></div>
- <h2 id="qunit-userAgent"></h2>
- <ol id="qunit-tests"></ol>
- <button id="interaction">Run interaction tests</button>
- <div id="output">
- </div>
- <style>
- body {
- background: white;
- }
- #interaction {
- margin-top: 1em;
- padding: 1em;
- font-size: 1.5em;
- }
- .test-wrap {
- width: 45%;
- height: 400px;
- overflow: auto;
- float: left;
- margin: 1em 1em 0 0;
- border: 5px solid silver;
- background: gray;
- font-family: Helvetica;
- }
- .test-wrap h3 {
- margin: 1em 0 0 1em;
- color: white;
- font-size: 1em;
- font-weight: normal;
- }
- </style>
- <script type="text/javascript">
- var testQueue = [],
- renderTests = [
- '001_basic',
- '002_brushes',
- '003_script_tag',
- '004_url_parsing',
- '005_no_gutter',
- '006_pad_line_numbers',
- '007_collapse',
- '008_first_line',
- '009_class_name',
- '010_highlight',
- '011_smart_tabs',
- '012_server_side',
- '013_html_script',
- '014_legacy'
- ],
- interactionTests = [
- '007_collapse_interaction'
- ]
- ;
- function queue(func)
- {
- testQueue.push(func);
- };
- function ok_sh($sh)
- {
- ok($sh.length > 0, 'Element present');
- ok($sh.is('div'), 'Element is DIV');
- ok($sh.find('> div').is('.syntaxhighlighter'), 'Nested DIV is a .syntaxhighlighter');
- };
- function ok_toolbar($sh)
- {
- var $target = $sh.find('> .syntaxhighlighter > .toolbar');
- ok($target.length > 0, 'Toolbar present');
- ok($target.is(':visible'), 'Toolbar visible');
- };
- function ok_caption($sh, value)
- {
- var $target = $sh.find('> .syntaxhighlighter > table > caption');
- ok($target.length > 0, 'Caption present');
- ok($target.is(':visible'), 'Caption visible');
-
- if (value != null)
- equals($target.text(), value, 'Caption text');
- };
- function ok_gutter($sh)
- {
- var $target = $sh.find('> .syntaxhighlighter > table > tbody > tr > .gutter');
- ok($target.length > 0, 'Gutter present');
- ok($target.is(':visible'), 'Gutter visible');
- };
- function ok_code($sh)
- {
- var $target = $sh.find('> .syntaxhighlighter > table > tbody > tr > .code');
- ok($target.length > 0, 'Code present');
- ok($target.is(':visible'), 'Code visible');
- };
- function ok_collapsed($sh)
- {
- ok($sh.find('> .syntaxhighlighter.collapsed').length == 1, '.collapsed present');
- };
- function loadTests(tests, addHtml)
- {
- var html = '';
-
- $.each(tests, function(index)
- {
- var name = this;
-
- if (addHtml != false)
- {
- html += '<div class="test-wrap">\n'
- html += '<h3>' + name + '</h3>\n';
- }
-
- $.ajax({
- url: 'cases/' + name + '.html',
- type: 'GET',
- dataType: 'text',
- async: false,
- success: function(data)
- {
- html += data;
- },
- error: function()
- {
- html += '<p>Not found...</p>';
- }
- });
-
- if (addHtml != false)
- {
- html += '</div>\n';
-
- if (index % 2 != 0)
- html += '<div style="clear:both"></div>\n';
- }
- });
- //
- // Looks like .html() is producing different results when it comes to
- // content that has <script /> which type is NOT "text/javascript".
- // $('#output').html(html);
- //
- $('#output')[0].innerHTML += html;
-
- //
- // However, if HTML assigned to to .innerHTML container <script/> tags,
- // they are not executed, so we have to manually walk all of them and
- // eval() the content.
- //
- $('#output script[type="text/javascript"][class!="executed"]').each(function()
- {
- eval($(this).text() || $(this).html());
- $(this).addClass('executed')
- });
- };
- function runTestQueue()
- {
-
- $.each(testQueue, function()
- {
- this.apply(null);
- });
-
- testQueue = [];
- };
- $(document).ready(function()
- {
- loadTests(renderTests);
- SyntaxHighlighter.highlight();
- runTestQueue();
-
- $('#interaction').click(function()
- {
- loadTests(interactionTests, false /* addHtml */);
- runTestQueue();
- });
- });
- </script>
- </body>
- </html>