zulip/frontend_tests/node_tests/markdown_katex.js

37 lines
921 B
JavaScript

/*
This whole module is dedicated to adding
one line of coverage for markdown.js.
There may be a better way.
*/
const rewiremock = require("rewiremock/node");
const markdown_config = zrequire("markdown_config");
set_global("marked", zrequire("marked", "third/marked/lib/marked"));
set_global("page_params", {});
zrequire("emoji");
zrequire("hash_util");
zrequire("message_store");
zrequire("people");
zrequire("stream_data");
zrequire("user_groups");
const markdown = rewiremock.proxy(() => zrequire("markdown"), {
"katex/dist/katex.min.js": {
renderToString: () => {
throw new Error("some-exception");
},
},
});
markdown.initialize([], markdown_config.get_helpers());
run_test("katex_throws_unexpected_exceptions", () => {
blueslip.expect("error", "Error: some-exception");
const message = {raw_content: "$$a$$"};
markdown.apply_markdown(message);
});