mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
We also take fenced_code out of the global namespace, since it only requires katex and underscore. And we fix the exports to be ES6 style.
27 lines
1.0 KiB
JavaScript
27 lines
1.0 KiB
JavaScript
const fenced_code = zrequire("fenced_code", "shared/js/fenced_code");
|
|
|
|
run_test("get_unused_fence", () => {
|
|
assert.equal(fenced_code.get_unused_fence("```js\nsomething\n```"), "`".repeat(4));
|
|
assert.equal(fenced_code.get_unused_fence("````\nsomething\n````"), "`".repeat(5));
|
|
assert.equal(fenced_code.get_unused_fence("```\n````\n``````"), "`".repeat(7));
|
|
assert.equal(fenced_code.get_unused_fence("~~~\nsomething\n~~~"), "`".repeat(3));
|
|
assert.equal(
|
|
fenced_code.get_unused_fence("```code\nterminating fence is indented and longer\n ````"),
|
|
"`".repeat(5),
|
|
);
|
|
assert.equal(
|
|
fenced_code.get_unused_fence("```code\nterminating fence is extra indented\n ````"),
|
|
"`".repeat(4),
|
|
);
|
|
let large_testcase = "";
|
|
// ```
|
|
// ````
|
|
// `````
|
|
// ... up to N chars
|
|
// We insert a N + 1 character fence.
|
|
for (let i = 3; i <= 20; i += 1) {
|
|
large_testcase += "`".repeat(i) + "\n";
|
|
}
|
|
assert.equal(fenced_code.get_unused_fence(large_testcase), "`".repeat(21));
|
|
});
|