You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
2 years ago
|
import { makeNextSelectedElementIds } from "./selection";
|
||
|
|
||
|
describe("makeNextSelectedElementIds", () => {
|
||
|
const _makeNextSelectedElementIds = (
|
||
|
selectedElementIds: { [id: string]: true },
|
||
|
prevSelectedElementIds: { [id: string]: true },
|
||
|
expectUpdated: boolean,
|
||
|
) => {
|
||
|
const ret = makeNextSelectedElementIds(selectedElementIds, {
|
||
|
selectedElementIds: prevSelectedElementIds,
|
||
|
});
|
||
|
expect(ret === selectedElementIds).toBe(expectUpdated);
|
||
|
};
|
||
|
it("should return prevState selectedElementIds if no change", () => {
|
||
|
_makeNextSelectedElementIds({}, {}, false);
|
||
|
_makeNextSelectedElementIds({ 1: true }, { 1: true }, false);
|
||
|
_makeNextSelectedElementIds(
|
||
|
{ 1: true, 2: true },
|
||
|
{ 1: true, 2: true },
|
||
|
false,
|
||
|
);
|
||
|
});
|
||
|
it("should return new selectedElementIds if changed", () => {
|
||
|
// _makeNextSelectedElementIds({ 1: true }, { 1: false }, true);
|
||
|
_makeNextSelectedElementIds({ 1: true }, {}, true);
|
||
|
_makeNextSelectedElementIds({}, { 1: true }, true);
|
||
|
_makeNextSelectedElementIds({ 1: true }, { 2: true }, true);
|
||
|
_makeNextSelectedElementIds({ 1: true }, { 1: true, 2: true }, true);
|
||
|
_makeNextSelectedElementIds(
|
||
|
{ 1: true, 2: true },
|
||
|
{ 1: true, 3: true },
|
||
|
true,
|
||
|
);
|
||
|
});
|
||
|
});
|