mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
tests: Rename the Node tests to *.cjs.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
30eabb9d6c
commit
687f1b1651
69
web/tests/ui_util.test.cjs
Normal file
69
web/tests/ui_util.test.cjs
Normal file
@@ -0,0 +1,69 @@
|
||||
"use strict";
|
||||
|
||||
const assert = require("node:assert/strict");
|
||||
|
||||
const {zrequire} = require("./lib/namespace.cjs");
|
||||
const {run_test} = require("./lib/test.cjs");
|
||||
const $ = require("./lib/zjquery.cjs");
|
||||
|
||||
const ui_util = zrequire("ui_util");
|
||||
|
||||
run_test("potentially_collapse_quotes", ({override_rewire}) => {
|
||||
const $element = $.create("message-content");
|
||||
let children = [];
|
||||
$element.children = () => children;
|
||||
|
||||
children = [
|
||||
$.create("normal paragraph 1"),
|
||||
$.create("blockquote"),
|
||||
$.create("normal paragraph 2"),
|
||||
$.create("user said paragraph"),
|
||||
$.create("message quote"),
|
||||
$.create("normal paragraph 3"),
|
||||
];
|
||||
override_rewire(ui_util, "get_collapsible_status_array", () => [
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
]);
|
||||
// When there are both collapsible and non-collapsible elements, for
|
||||
// multiple collapsible elements in a row, only the first element
|
||||
// should be collapsed, and the rest's text should be removed. Non-
|
||||
// collapsible elements should not be touched.
|
||||
let collapsed = ui_util.potentially_collapse_quotes($element);
|
||||
assert.equal(collapsed, true);
|
||||
let expected_texts = ["never-been-set", "[…]", "never-been-set", "[…]", "", "never-been-set"];
|
||||
assert.deepEqual(
|
||||
$element.children().map(($el) => $el.text()),
|
||||
expected_texts,
|
||||
);
|
||||
|
||||
children = [
|
||||
$.create("normal paragraph 4"),
|
||||
$.create("normal paragraph 5"),
|
||||
$.create("normal paragraph 6"),
|
||||
];
|
||||
override_rewire(ui_util, "get_collapsible_status_array", () => [false, false, false]);
|
||||
// For all non-collapsible elements, none should be collapsed.
|
||||
collapsed = ui_util.potentially_collapse_quotes($element);
|
||||
assert.equal(collapsed, false);
|
||||
expected_texts = ["never-been-set", "never-been-set", "never-been-set"];
|
||||
assert.deepEqual(
|
||||
$element.children().map(($el) => $el.text()),
|
||||
expected_texts,
|
||||
);
|
||||
|
||||
children = [$.create("blockquote 1"), $.create("blockquote 2"), $.create("blockquote 3")];
|
||||
override_rewire(ui_util, "get_collapsible_status_array", () => [true, true, true]);
|
||||
// For all collapsible elements, none should be collapsed.
|
||||
collapsed = ui_util.potentially_collapse_quotes($element);
|
||||
assert.equal(collapsed, false);
|
||||
expected_texts = ["never-been-set", "never-been-set", "never-been-set"];
|
||||
assert.deepEqual(
|
||||
$element.children().map(($el) => $el.text()),
|
||||
expected_texts,
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user