if (typeof process !== "undefined") { require("amd-loader"); require("../test/mockdom"); } define(function(require, exports, module) { "use strict"; var assert = require("assert"); var highlighter = require("./static_highlight"); var JavaScriptMode = require("../mode/javascript").Mode; var TextMode = require("../mode/text").Mode; // Execution ORDER: test.setUpSuite, setUp, testFn, tearDown, test.tearDownSuite module.exports = { timeout: 10000, "test simple snippet": function(next) { var theme = require("../theme/tomorrow"); var snippet = [ "/** this is a function", "*", "*/", "function hello (a, b, c) {", " console.log(a * b + c + 'sup$');", "}" ].join("\n"); var mode = new JavaScriptMode(); var result = highlighter.render(snippet, mode, theme); assert.equal(result.html, "
" + "
/**\xa0this\xa0is\xa0a\xa0function\n
" + "
*\n
" + "
*/\n
" + "
function\xa0hello\xa0(a,\xa0b,\xa0c)\xa0{\n
" + "
\xa0\xa0\xa0\xa0console.log(a\xa0*\xa0b\xa0+\xa0c\xa0+\xa0'sup$');\n
" + "
}\n
" + "
"); assert.ok(!!result.css); next(); }, "test css from theme is used": function(next) { var theme = require("../theme/tomorrow"); var snippet = [ "/** this is a function", "*", "*/", "function hello (a, b, c) {", " console.log(a * b + c + 'sup?');", "}" ].join("\n"); var mode = new JavaScriptMode(); var result = highlighter.render(snippet, mode, theme); assert.ok(result.css.indexOf(theme.cssText) !== -1); next(); }, "test theme classname should be in output html": function(next) { var theme = require("../theme/tomorrow"); var snippet = [ "/** this is a function", "*", "*/", "function hello (a, b, c) {", " console.log(a * b + c + 'sup?');", "}" ].join("\n"); var mode = new JavaScriptMode(); var result = highlighter.render(snippet, mode, theme); assert.equal(!!result.html.match(/
/), true); next(); }, "test js string replace specials": function(next) { var theme = require("../theme/tomorrow"); var snippet = "$'$1$2$$$&"; var mode = new TextMode(); var result = highlighter.render(snippet, mode, theme); assert.ok(result.html.indexOf(snippet) != -1); next(); } }; }); if (typeof module !== "undefined" && module === require.main) { require("asyncjs").test.testcase(module.exports).exec(); }