selection.test.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { makeNextSelectedElementIds } from "../src/selection";
  2. describe("makeNextSelectedElementIds", () => {
  3. const _makeNextSelectedElementIds = (
  4. selectedElementIds: { [id: string]: true },
  5. prevSelectedElementIds: { [id: string]: true },
  6. expectUpdated: boolean,
  7. ) => {
  8. const ret = makeNextSelectedElementIds(selectedElementIds, {
  9. selectedElementIds: prevSelectedElementIds,
  10. });
  11. expect(ret === selectedElementIds).toBe(expectUpdated);
  12. };
  13. it("should return prevState selectedElementIds if no change", () => {
  14. _makeNextSelectedElementIds({}, {}, false);
  15. _makeNextSelectedElementIds({ 1: true }, { 1: true }, false);
  16. _makeNextSelectedElementIds(
  17. { 1: true, 2: true },
  18. { 1: true, 2: true },
  19. false,
  20. );
  21. });
  22. it("should return new selectedElementIds if changed", () => {
  23. // _makeNextSelectedElementIds({ 1: true }, { 1: false }, true);
  24. _makeNextSelectedElementIds({ 1: true }, {}, true);
  25. _makeNextSelectedElementIds({}, { 1: true }, true);
  26. _makeNextSelectedElementIds({ 1: true }, { 2: true }, true);
  27. _makeNextSelectedElementIds({ 1: true }, { 1: true, 2: true }, true);
  28. _makeNextSelectedElementIds(
  29. { 1: true, 2: true },
  30. { 1: true, 3: true },
  31. true,
  32. );
  33. });
  34. });