This repository has been archived on 2023-03-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
osr-discourse-src/app/assets/javascripts/discourse/tests/integration/components/highlighted-code-test.js
T
Robin Ward 5b02aad9c1 Support for Testem in Ember CLI (#12442)
* DEV: Use custom tags rather than handlebars server side

These will be skipped if they are ever rendered in a document. The
handlebars really messes stuff up.

* DEV: Build our own locale file for testing purposes

We can't practically proxy everything in test mode, but we can
approximate the logic and build our own locale file for testing purposes
that works quite well. This allows us to run tests without a proxy.

* DEV: Support for testem runner for ember cli tests
2021-03-19 09:32:46 -04:00

46 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.equal(
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.equal(queryAll("code").text().trim(), LONG_CODE_BLOCK.trim());
},
});
});