This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests/integration/components/highlighted-code-test.js
2021-11-08 10:26:28 +01:00

49 lines
1.2 KiB
JavaScript

import componentTest, {
setupRenderingTest,
} from "discourse/tests/helpers/component-test";
import {
discourseModule,
queryAll,
} from "discourse/tests/helpers/qunit-helpers";
import hbs from "htmlbars-inline-precompile";
const LONG_CODE_BLOCK = "puts a\n".repeat(15000);
discourseModule("Integration | Component | highlighted-code", function (hooks) {
setupRenderingTest(hooks);
componentTest("highlighting code", {
template: hbs`{{highlighted-code lang='ruby' code=code}}`,
beforeEach() {
this.session.highlightJsPath =
"/assets/highlightjs/highlight-test-bundle.min.js";
this.set("code", "def test; end");
},
test(assert) {
assert.strictEqual(
queryAll("code.ruby.hljs .hljs-function .hljs-keyword").text().trim(),
"def"
);
},
});
componentTest("large code blocks are not highlighted", {
template: hbs`{{highlighted-code lang='ruby' code=code}}`,
beforeEach() {
this.session.highlightJsPath =
"/assets/highlightjs/highlight-test-bundle.min.js";
this.set("code", LONG_CODE_BLOCK);
},
test(assert) {
assert.strictEqual(
queryAll("code").text().trim(),
LONG_CODE_BLOCK.trim()
);
},
});
});