// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id166": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id166": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id164", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 18, "width": 100, "x": -100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id165", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 19, "width": 100, "x": 100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id169", "fixedPoint": [ "0.50000", 1, ], "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 125, "id": "id166", "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 125, 125, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 47, "width": 125, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id166", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 50, "id": "id169", "index": "a3", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 6, "width": 50, "x": 100, "y": 100, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id166" => Delta { "deleted": { "endBinding": { "elementId": "id165", "fixedPoint": null, "focus": "0.00990", "gap": 1, }, "height": "0.98000", "points": [ [ 0, 0, ], [ 98, "-0.98000", ], ], "startBinding": { "elementId": "id164", "fixedPoint": null, "focus": "0.02970", "gap": 1, }, }, "inserted": { "endBinding": { "elementId": "id165", "fixedPoint": null, "focus": "-0.02040", "gap": 1, }, "height": "0.02000", "points": [ [ 0, 0, ], [ 98, "0.02000", ], ], "startBinding": { "elementId": "id164", "fixedPoint": null, "focus": "0.01959", "gap": 1, }, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id164" => Delta { "deleted": { "boundElements": [], }, "inserted": { "boundElements": [ { "id": "id166", "type": "arrow", }, ], }, }, "id165" => Delta { "deleted": { "boundElements": [], }, "inserted": { "boundElements": [ { "id": "id166", "type": "arrow", }, ], }, }, "id166" => Delta { "deleted": { "endBinding": { "elementId": "id169", "fixedPoint": [ "0.50000", 1, ], "focus": 0, "gap": 1, }, "height": 125, "points": [ [ 0, 0, ], [ 125, 125, ], ], "startBinding": null, "width": 125, "x": 0, "y": 0, }, "inserted": { "endBinding": { "elementId": "id165", "fixedPoint": null, "focus": "0.00990", "gap": 1, }, "height": "0.98000", "points": [ [ 0, 0, ], [ 98, "-0.98000", ], ], "startBinding": { "elementId": "id164", "fixedPoint": null, "focus": "0.02970", "gap": 1, }, "width": 98, "x": 1, "y": "0.99000", }, }, "id169" => Delta { "deleted": { "boundElements": [ { "id": "id166", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id164" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id165" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id166": true, }, "selectedLinearElementId": "id166", }, "inserted": { "selectedElementIds": {}, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id166" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 100, 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] number of elements 1`] = `4`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and the arrow got bound to a different element in the meantime > [end of test] number of renders 1`] = `21`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id161": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id161": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id159", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 9, "width": 100, "x": 150, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id160", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 9, "width": 100, "x": 150, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "id": "id161", "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 100, 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 37, "width": 100, "x": 150, "y": 0, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id161" => Delta { "deleted": { "points": [ [ 0, 0, ], [ 0, 0, ], ], "width": 0, "x": 149, }, "inserted": { "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "width": "98.00000", "x": "1.00000", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id159" => Delta { "deleted": { "boundElements": [], }, "inserted": { "boundElements": [ { "id": "id161", "type": "arrow", }, ], }, }, "id160" => Delta { "deleted": { "boundElements": [], }, "inserted": { "boundElements": [ { "id": "id161", "type": "arrow", }, ], }, }, "id161" => Delta { "deleted": { "endBinding": null, "points": [ [ 0, 0, ], [ 100, 0, ], ], "startBinding": null, "width": 100, "x": 150, }, "inserted": { "endBinding": { "elementId": "id160", "fixedPoint": null, "focus": 0, "gap": 1, }, "points": [ [ 0, 0, ], [ 0, 0, ], ], "startBinding": { "elementId": "id159", "fixedPoint": null, "focus": 0, "gap": 1, }, "width": 0, "x": 149, }, }, }, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id159" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id160" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id161": true, }, "selectedLinearElementId": "id161", }, "inserted": { "selectedElementIds": {}, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id161" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 100, 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] number of renders 1`] = `23`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added arrow when it's bindable elements are added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added arrow when it's bindable elements are added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": null, "endBinding": { "elementId": "id171", "fixedPoint": [ "0.50000", 1, ], "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": "2.61991", "id": "id172", "index": "Zz", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", "-2.61991", ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id170", "fixedPoint": [ 1, "0.50000", ], "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 11, "width": "98.00000", "x": "1.00000", "y": "3.98333", } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added arrow when it's bindable elements are added through the history > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id172", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id170", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": -100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added arrow when it's bindable elements are added through the history > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id172", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id171", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": 100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added arrow when it's bindable elements are added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id170" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id171" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id172" => Delta { "deleted": { "endBinding": { "elementId": "id171", "fixedPoint": [ "0.50000", 1, ], "focus": 0, "gap": 1, }, "startBinding": { "elementId": "id170", "fixedPoint": [ 1, "0.50000", ], "focus": 0, "gap": 1, }, }, "inserted": { "endBinding": null, "startBinding": null, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added arrow when it's bindable elements are added through the history > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added arrow when it's bindable elements are added through the history > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added bindable elements when it's arrow is added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added bindable elements when it's arrow is added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": null, "endBinding": { "elementId": "id174", "fixedPoint": [ 1, "0.50000", ], "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": "2.61991", "id": "id175", "index": "a0", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", "-2.61991", ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id173", "fixedPoint": [ "0.50000", 1, ], "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 11, "width": "98.00000", "x": "1.00000", "y": "3.98333", } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added bindable elements when it's arrow is added through the history > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id175", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id173", "index": "a0V", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 12, "width": 100, "x": -100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added bindable elements when it's arrow is added through the history > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id175", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id174", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 11, "width": 100, "x": 100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added bindable elements when it's arrow is added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id175" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": null, "endBinding": { "elementId": "id174", "fixedPoint": [ 1, "0.50000", ], "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": "22.36242", "index": "a0", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", "-22.36242", ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id173", "fixedPoint": [ "0.50000", 1, ], "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "98.00000", "x": 1, "y": 34, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id173" => Delta { "deleted": { "boundElements": [ { "id": "id175", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id174" => Delta { "deleted": { "boundElements": [ { "id": "id175", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added bindable elements when it's arrow is added through the history > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should rebind remotely added bindable elements when it's arrow is added through the history > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should unbind remotely deleted bindable elements from arrow when the arrow is added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should unbind remotely deleted bindable elements from arrow when the arrow is added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id176", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": -100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should unbind remotely deleted bindable elements from arrow when the arrow is added through the history > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id177", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should unbind remotely deleted bindable elements from arrow when the arrow is added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id176" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id177" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should unbind remotely deleted bindable elements from arrow when the arrow is added through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should unbind remotely deleted bindable elements from arrow when the arrow is added through the history > [end of test] number of renders 1`] = `4`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should update bound element points when rectangle was remotely moved and arrow is added back through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id180": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should update bound element points when rectangle was remotely moved and arrow is added back through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id180", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id178", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": -100, "y": -50, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should update bound element points when rectangle was remotely moved and arrow is added back through the history > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id180", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id179", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": 500, "y": -500, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should update bound element points when rectangle was remotely moved and arrow is added back through the history > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id179", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": "408.19672", "id": "id180", "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 498, "-408.19672", ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id178", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 12, "width": 498, "x": "1.00000", "y": 0, } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should update bound element points when rectangle was remotely moved and arrow is added back through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id178" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id179" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id180": true, }, "selectedLinearElementId": "id180", }, "inserted": { "selectedElementIds": {}, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id180" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id179", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id178", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "98.00000", "x": 1, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id178" => Delta { "deleted": { "boundElements": [ { "id": "id180", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id179" => Delta { "deleted": { "boundElements": [ { "id": "id180", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should update bound element points when rectangle was remotely moved and arrow is added back through the history > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in arrows and their bindable elements > should update bound element points when rectangle was remotely moved and arrow is added back through the history > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the container is added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the container is added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id147", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id145", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the container is added through the history > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "id": "id146", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 6, "verticalAlign": "top", "width": 100, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the container is added through the history > [end of test] element 2 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id145", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id147", "index": "a2", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "updated": 1, "version": 11, "verticalAlign": "top", "width": 30, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the container is added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id145" => Delta { "deleted": { "isDeleted": false, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 10, "y": 10, }, }, "id146" => Delta { "deleted": { "containerId": null, }, "inserted": { "containerId": null, }, }, }, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the container is added through the history > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the container is added through the history > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id150", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id148", "index": "Zz", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 11, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id148", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "id": "id149", "index": "a0", "isDeleted": true, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 9, "verticalAlign": "top", "width": 100, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] element 2 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id148", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id150", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "updated": 1, "version": 11, "verticalAlign": "top", "width": 30, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map { "id149" => Delta { "deleted": { "containerId": "id148", "isDeleted": true, }, "inserted": { "containerId": null, "isDeleted": false, }, }, }, "removed": Map {}, "updated": Map { "id148" => Delta { "deleted": { "boundElements": [], }, "inserted": { "boundElements": [ { "id": "id149", "type": "text", }, ], }, }, }, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the container got bound to a different text in the meantime > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the container got bound to a different text in the meantime > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id137", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id135", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 10, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the container got bound to a different text in the meantime > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id135", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id137", "index": "a0V", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "updated": 1, "version": 7, "verticalAlign": "top", "width": 30, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the container got bound to a different text in the meantime > [end of test] element 2 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id136", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 9, "verticalAlign": "top", "width": 80, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the container got bound to a different text in the meantime > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id135" => Delta { "deleted": { "boundElements": [ { "id": "id137", "type": "text", }, ], }, "inserted": { "boundElements": [ { "id": "id136", "type": "text", }, ], }, }, "id136" => Delta { "deleted": { "containerId": null, }, "inserted": { "containerId": "id135", }, }, "id137" => Delta { "deleted": { "containerId": "id135", }, "inserted": { "containerId": null, }, }, }, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the container got bound to a different text in the meantime > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the container got bound to a different text in the meantime > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the text got bound to a different container in the meantime > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the text got bound to a different container in the meantime > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id138", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the text got bound to a different container in the meantime > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id139", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 60, "id": "id140", "index": "a0V", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 50, "x": 100, "y": 100, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the text got bound to a different container in the meantime > [end of test] element 2 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id140", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 50, "id": "id139", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 13, "verticalAlign": "top", "width": 40, "x": 105, "y": 105, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the text got bound to a different container in the meantime > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id138" => Delta { "deleted": { "boundElements": [], }, "inserted": { "boundElements": [ { "id": "id139", "type": "text", }, ], }, }, "id139" => Delta { "deleted": { "containerId": "id140", }, "inserted": { "containerId": "id138", }, }, "id140" => Delta { "deleted": { "boundElements": [ { "id": "id139", "type": "text", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the text got bound to a different container in the meantime > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and the text got bound to a different container in the meantime > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and there no conflicting updates in the meantime > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and there no conflicting updates in the meantime > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id133", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 9, "width": 100, "x": 35, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and there no conflicting updates in the meantime > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id134", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 10, "verticalAlign": "top", "width": 80, "x": 40, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and there no conflicting updates in the meantime > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id133" => Delta { "deleted": { "boundElements": [], }, "inserted": { "boundElements": [ { "id": "id134", "type": "text", }, ], }, }, "id134" => Delta { "deleted": { "containerId": null, }, "inserted": { "containerId": "id133", }, }, }, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and there no conflicting updates in the meantime > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind bindings when both are updated through the history and there no conflicting updates in the meantime > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added bound text when it's container is added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added bound text when it's container is added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id142", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id141", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added bound text when it's container is added through the history > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id141", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id142", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 12, "verticalAlign": "top", "width": 80, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added bound text when it's container is added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id141" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id142" => Delta { "deleted": { "containerId": "id141", }, "inserted": { "containerId": null, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added bound text when it's container is added through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added bound text when it's container is added through the history > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added container when it's bound text is added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added container when it's bound text is added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id144", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id143", "index": "Zz", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 11, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added container when it's bound text is added through the history > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id143", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id144", "index": "a0", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 8, "verticalAlign": "top", "width": 80, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added container when it's bound text is added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id144" => Delta { "deleted": { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id143", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "index": "a0", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "verticalAlign": "top", "width": 80, "x": 15, "y": 15, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id143" => Delta { "deleted": { "boundElements": [ { "id": "id144", "type": "text", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added container when it's bound text is added through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should rebind remotely added container when it's bound text is added through the history > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw bound text to match container dimensions when the bound text is updated through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw bound text to match container dimensions when the bound text is updated through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id158", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id157", "index": "Zz", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw bound text to match container dimensions when the bound text is updated through the history > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id157", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id158", "index": "a0", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 7, "verticalAlign": "top", "width": 80, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw bound text to match container dimensions when the bound text is updated through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id158" => Delta { "deleted": { "angle": 0, "x": 15, "y": 15, }, "inserted": { "angle": 0, "x": 15, "y": 15, }, }, }, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw bound text to match container dimensions when the bound text is updated through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw bound text to match container dimensions when the bound text is updated through the history > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw remotely added bound text when it's container is updated through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw remotely added bound text when it's container is updated through the history > [end of test] element 0 1`] = ` { "angle": 90, "backgroundColor": "transparent", "boundElements": [ { "id": "id156", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id155", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": 200, "y": 200, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw remotely added bound text when it's container is updated through the history > [end of test] element 1 1`] = ` { "angle": 90, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id155", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id156", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 6, "verticalAlign": "top", "width": 80, "x": 205, "y": 205, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw remotely added bound text when it's container is updated through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id155" => Delta { "deleted": { "angle": 90, "x": 200, "y": 200, }, "inserted": { "angle": 0, "x": 10, "y": 10, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw remotely added bound text when it's container is updated through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should redraw remotely added bound text when it's container is updated through the history > [end of test] number of renders 1`] = `10`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted bound text from container when the container is added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted bound text from container when the container is added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id151", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted bound text from container when the container is added through the history > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id151", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "id": "id152", "index": "a1", "isDeleted": true, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 3, "verticalAlign": "top", "width": 100, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted bound text from container when the container is added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id151" => Delta { "deleted": { "boundElements": [], "isDeleted": false, }, "inserted": { "boundElements": [ { "id": "id152", "type": "text", }, ], "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted bound text from container when the container is added through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted bound text from container when the container is added through the history > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted container from bound text when the text is added through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted container from bound text when the text is added through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id154", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id153", "index": "Zz", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted container from bound text when the text is added through the history > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "id": "id154", "index": "a0", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "que pasa", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "que pasa", "textAlign": "left", "type": "text", "updated": 1, "version": 8, "verticalAlign": "top", "width": 100, "x": 15, "y": 15, } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted container from bound text when the text is added through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id154" => Delta { "deleted": { "containerId": null, "isDeleted": false, }, "inserted": { "containerId": "id153", "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted container from bound text when the text is added through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in bound text elements and their containers > should unbind remotely deleted container from bound text when the text is added through the history > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > conflicts in frames and their children > should not rebind frame child with frame when frame was remotely deleted and frame child is added back through the history > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > conflicts in frames and their children > should not rebind frame child with frame when frame was remotely deleted and frame child is added back through the history > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id182", "index": "Zz", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 10, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > conflicts in frames and their children > should not rebind frame child with frame when frame was remotely deleted and frame child is added back through the history > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 500, "id": "id181", "index": "a0", "isDeleted": true, "link": null, "locked": false, "name": null, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "frame", "updated": 1, "version": 3, "width": 500, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > conflicts in frames and their children > should not rebind frame child with frame when frame was remotely deleted and frame child is added back through the history > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id182" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "Zz", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id182" => Delta { "deleted": { "frameId": "id181", }, "inserted": { "frameId": null, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > conflicts in frames and their children > should not rebind frame child with frame when frame was remotely deleted and frame child is added back through the history > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > conflicts in frames and their children > should not rebind frame child with frame when frame was remotely deleted and frame child is added back through the history > [end of test] number of renders 1`] = `13`; exports[`history > multiplayer undo/redo > should iterate through the history when editing group contains only remotely deleted elements > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id110": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when editing group contains only remotely deleted elements > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id109", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when editing group contains only remotely deleted elements > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id110", "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 100, "y": 100, } `; exports[`history > multiplayer undo/redo > should iterate through the history when editing group contains only remotely deleted elements > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id109": true, "id110": true, }, "selectedGroupIds": { "A": true, }, }, "inserted": { "selectedElementIds": {}, "selectedGroupIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id109" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "index": "a0", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, "id110" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": 100, }, "inserted": { "isDeleted": true, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "editingGroupId": "A", "selectedElementIds": {}, "selectedGroupIds": {}, }, "inserted": { "editingGroupId": null, "selectedElementIds": { "id109": true, }, "selectedGroupIds": { "A": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "editingGroupId": null, "selectedElementIds": {}, }, "inserted": { "editingGroupId": "A", "selectedElementIds": { "id110": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should iterate through the history when editing group contains only remotely deleted elements > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > should iterate through the history when editing group contains only remotely deleted elements > [end of test] number of renders 1`] = `13`; exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "#ffc9c9", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": "elementBackground", "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id97": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id95", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 10, "x": 10, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "#ffc9c9", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id96", "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 10, "x": 20, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "#ffc9c9", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id97", "index": "a2", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 10, "x": 50, "y": 50, } `; exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id95": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id95" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id96": true, }, }, "inserted": { "selectedElementIds": { "id95": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id96" => Delta { "deleted": { "angle": 0, "backgroundColor": "#ffc9c9", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 20, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id96" => Delta { "deleted": { "backgroundColor": "#ffc9c9", }, "inserted": { "backgroundColor": "transparent", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id97": true, }, }, "inserted": { "selectedElementIds": { "id96": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id97" => Delta { "deleted": { "angle": 0, "backgroundColor": "#ffc9c9", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a2", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 50, "y": 50, }, "inserted": { "isDeleted": true, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id97" => Delta { "deleted": { "x": 50, "y": 50, }, "inserted": { "x": 30, "y": 30, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] number of renders 1`] = `17`; exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id100": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id100": true, "id101": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id99", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id100", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 20, "y": 20, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id101", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 30, "y": 30, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id99": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id99" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, "id100" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 20, "y": 20, }, "inserted": { "isDeleted": true, }, }, "id101" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 30, "y": 30, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id100": true, }, }, "inserted": { "selectedElementIds": { "id99": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id101": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] number of renders 1`] = `15`; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id105": true, "id106": true, "id107": true, "id108": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": { "A": true, "B": true, }, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id105", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id106", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "B", ], "height": 100, "id": "id107", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "B", ], "height": 100, "id": "id108", "index": "a3", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id105": true, "id106": true, }, "selectedGroupIds": { "A": true, }, }, "inserted": { "selectedElementIds": {}, "selectedGroupIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id107": true, "id108": true, }, "selectedGroupIds": { "B": true, }, }, "inserted": { "selectedElementIds": {}, "selectedGroupIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] number of elements 1`] = `4`; exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] number of renders 1`] = `15`; exports[`history > multiplayer undo/redo > should iterate through the history when selected or editing linear element was remotely deleted > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id113": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected or editing linear element was remotely deleted > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id113", "index": "a0", "isDeleted": true, "lastCommittedPoint": [ 10, 10, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 10, 10, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 7, "width": 10, "x": -10, "y": -10, } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected or editing linear element was remotely deleted > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id113": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id113" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "lastCommittedPoint": [ 10, 10, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 10, 10, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": 10, "x": -10, "y": -10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedLinearElementId": "id113", }, "inserted": { "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "editingLinearElementId": "id113", }, "inserted": { "editingLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "editingLinearElementId": null, }, "inserted": { "editingLinearElementId": "id113", }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should iterate through the history when selected or editing linear element was remotely deleted > [end of test] number of elements 1`] = `1`; exports[`history > multiplayer undo/redo > should iterate through the history when selected or editing linear element was remotely deleted > [end of test] number of renders 1`] = `10`; exports[`history > multiplayer undo/redo > should iterate through the history when when element change relates to remotely deleted element > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "#ffc9c9", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": "elementBackground", "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when when element change relates to remotely deleted element > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "#ffec99", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id94", "index": "a0", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 10, "x": 10, "y": 0, } `; exports[`history > multiplayer undo/redo > should iterate through the history when when element change relates to remotely deleted element > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id94": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id94" => Delta { "deleted": { "angle": 0, "backgroundColor": "#ffec99", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id94" => Delta { "deleted": { "backgroundColor": "#ffec99", }, "inserted": { "backgroundColor": "transparent", }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should iterate through the history when when element change relates to remotely deleted element > [end of test] number of elements 1`] = `1`; exports[`history > multiplayer undo/redo > should iterate through the history when when element change relates to remotely deleted element > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced all indices > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced all indices > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id119", "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": 20, "y": 20, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced all indices > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id120", "index": "a3V", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 30, "y": 30, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced all indices > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id118", "index": "a4", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced all indices > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id119" => Delta { "deleted": { "index": "a1", }, "inserted": { "index": "a3", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id119": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map { "id118" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a4", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 10, "y": 10, }, }, "id119" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a3", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 20, "y": 20, }, }, "id120" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a3V", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 30, "y": 30, }, }, }, "removed": Map {}, "updated": Map {}, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced all indices > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced all indices > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id114", "index": "Zx", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id116", "index": "Zy", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 100, "x": 30, "y": 30, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id115", "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": 20, "y": 20, } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id115" => Delta { "deleted": { "index": "a1", }, "inserted": { "index": "Zz", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id115": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map { "id114" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "Zx", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 10, "y": 10, }, }, "id115" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "Zz", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 20, "y": 20, }, }, "id116" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "Zy", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 30, "y": 30, }, }, }, "removed": Map {}, "updated": Map {}, }, }, ], "undoStack": [], } `; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > should iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id127": true, "id128": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id127": true, "id128": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id127", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 9, "width": 10, "x": 90, "y": 90, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id128", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 9, "width": 10, "x": 110, "y": 110, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id132", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#a5d8ff", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id127": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id127" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id128": true, }, }, "inserted": { "selectedElementIds": { "id127": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id128" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 30, "y": 30, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id127": true, }, }, "inserted": { "selectedElementIds": { "id128": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id128": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id127" => Delta { "deleted": { "x": 90, "y": 90, }, "inserted": { "x": 10, "y": 10, }, }, "id128" => Delta { "deleted": { "x": 110, "y": 110, }, "inserted": { "x": 30, "y": 30, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] number of renders 1`] = `25`; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress freedraw > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "freedraw", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress freedraw > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 50, "id": "id122", "index": "a0", "isDeleted": false, "lastCommittedPoint": [ 50, 50, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 20, 20, ], [ 50, 50, ], [ 50, 50, ], ], "pressures": [ 0, 0, 0, 0, ], "roughness": 1, "roundness": null, "simulatePressure": false, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "freedraw", "updated": 1, "version": 7, "width": 50, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress freedraw > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id123", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#a5d8ff", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress freedraw > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id122" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 50, "index": "a0", "isDeleted": false, "lastCommittedPoint": [ 50, 50, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 20, 20, ], [ 50, 50, ], [ 50, 50, ], ], "pressures": [ 0, 0, 0, 0, ], "roughness": 1, "roundness": null, "simulatePressure": false, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "freedraw", "width": 50, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress freedraw > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress freedraw > [end of test] number of renders 1`] = `8`; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress resizing > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id124": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress resizing > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 90, "id": "id124", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 9, "width": 90, "x": 10, "y": 10, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress resizing > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id126", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#a5d8ff", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress resizing > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id124": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id124" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id124" => Delta { "deleted": { "height": 90, "width": 90, }, "inserted": { "height": 10, "width": 10, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress resizing > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress resizing > [end of test] number of renders 1`] = `13`; exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "#ffc9c9", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": "elementBackground", "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id81": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id81", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 10, "x": 10, "y": 0, } `; exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "#ffc9c9", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id82", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#a5d8ff", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id81" => Delta { "deleted": { "backgroundColor": "transparent", }, "inserted": { "backgroundColor": "#ffc9c9", }, }, }, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id81": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id81" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] number of elements 1`] = `2`; exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] number of renders 1`] = `10`; exports[`history > multiplayer undo/redo > should not override remote changes on different properties > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "#ffc9c9", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": "elementBackground", "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id83": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should not override remote changes on different properties > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "#ffc9c9", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id83", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#ffec99", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 10, "x": 10, "y": 0, } `; exports[`history > multiplayer undo/redo > should not override remote changes on different properties > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id83": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id83" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id83" => Delta { "deleted": { "backgroundColor": "#ffc9c9", }, "inserted": { "backgroundColor": "transparent", }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should not override remote changes on different properties > [end of test] number of elements 1`] = `1`; exports[`history > multiplayer undo/redo > should not override remote changes on different properties > [end of test] number of renders 1`] = `9`; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", "B", ], "height": 100, "id": "id88", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 6, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", "B", ], "height": 100, "id": "id89", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 6, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "B", ], "height": 100, "id": "id90", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "B", ], "height": 100, "id": "id91", "index": "a3", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id88" => Delta { "deleted": { "groupIds": [ "A", "B", ], }, "inserted": { "groupIds": [], }, }, "id89" => Delta { "deleted": { "groupIds": [ "A", "B", ], }, "inserted": { "groupIds": [], }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] number of elements 1`] = `4`; exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] number of renders 1`] = `8`; exports[`history > multiplayer undo/redo > should override remotely added points on undo, but restore them on redo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id92": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should override remotely added points on undo, but restore them on redo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 30, "id": "id92", "index": "a0", "isDeleted": false, "lastCommittedPoint": [ 30, 30, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 5, 5, ], [ 10, 10, ], [ 15, 15, ], [ 20, 20, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 13, "width": 30, "x": 0, "y": 0, } `; exports[`history > multiplayer undo/redo > should override remotely added points on undo, but restore them on redo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id92": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id92" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "lastCommittedPoint": [ 10, 10, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 10, 10, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": 10, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id92" => Delta { "deleted": { "height": 30, "lastCommittedPoint": [ 30, 30, ], "points": [ [ 0, 0, ], [ 5, 5, ], [ 10, 10, ], [ 15, 15, ], [ 20, 20, ], ], "width": 30, }, "inserted": { "height": 10, "lastCommittedPoint": [ 10, 10, ], "points": [ [ 0, 0, ], [ 10, 10, ], ], "width": 10, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedLinearElementId": "id92", }, "inserted": { "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should override remotely added points on undo, but restore them on redo > [end of test] number of elements 1`] = `1`; exports[`history > multiplayer undo/redo > should override remotely added points on undo, but restore them on redo > [end of test] number of renders 1`] = `15`; exports[`history > multiplayer undo/redo > should redistribute deltas when element gets removed locally but is restored remotely > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should redistribute deltas when element gets removed locally but is restored remotely > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "#ffec99", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id93", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 10, "x": 10, "y": 0, } `; exports[`history > multiplayer undo/redo > should redistribute deltas when element gets removed locally but is restored remotely > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id93": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id93" => Delta { "deleted": { "angle": 0, "backgroundColor": "#ffec99", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id93": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id93" => Delta { "deleted": { "isDeleted": false, }, "inserted": { "isDeleted": false, }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should redistribute deltas when element gets removed locally but is restored remotely > [end of test] number of elements 1`] = `1`; exports[`history > multiplayer undo/redo > should redistribute deltas when element gets removed locally but is restored remotely > [end of test] number of renders 1`] = `11`; exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "6Rm4g567UQM4WjLwej2Vc", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 126, "id": "KPrBI4g_v9qUB1XxYLgSz", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 6, "width": 157, "x": 600, "y": 0, } `; exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "6Rm4g567UQM4WjLwej2Vc", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 129, "id": "u2JGnnmoJ0VATV4vCNJE5", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "diamond", "updated": 1, "version": 6, "width": 124, "x": 1152, "y": 516, } `; exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": true, "endArrowhead": null, "endBinding": { "elementId": "u2JGnnmoJ0VATV4vCNJE5", "fixedPoint": [ "0.49919", "-0.03875", ], "focus": "-0.00161", "gap": "3.53708", }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": "448.10100", "id": "6Rm4g567UQM4WjLwej2Vc", "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "451.90000", 0, ], [ "451.90000", "448.10100", ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "KPrBI4g_v9qUB1XxYLgSz", "fixedPoint": [ "1.03185", "0.49921", ], "focus": "-0.00159", "gap": 5, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 6, "width": "451.90000", "x": 762, "y": "62.90000", } `; exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "KPrBI4g_v9qUB1XxYLgSz" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 126, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 157, "x": 873, "y": 212, }, "inserted": { "isDeleted": true, }, }, "u2JGnnmoJ0VATV4vCNJE5" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 129, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "diamond", "width": 124, "x": 1152, "y": 516, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "6Rm4g567UQM4WjLwej2Vc" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": true, "endArrowhead": null, "endBinding": { "elementId": "u2JGnnmoJ0VATV4vCNJE5", "fixedPoint": [ "0.49919", "-0.03875", ], "focus": "-0.00161", "gap": "3.53708", }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": "236.10000", "index": "a2", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "178.90000", 0, ], [ "178.90000", "236.10000", ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "KPrBI4g_v9qUB1XxYLgSz", "fixedPoint": [ "1.03185", "0.49921", ], "focus": "-0.00159", "gap": 5, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "178.90000", "x": 1035, "y": "274.90000", }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "KPrBI4g_v9qUB1XxYLgSz" => Delta { "deleted": { "boundElements": [ { "id": "6Rm4g567UQM4WjLwej2Vc", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "u2JGnnmoJ0VATV4vCNJE5" => Delta { "deleted": { "boundElements": [ { "id": "6Rm4g567UQM4WjLwej2Vc", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], } `; exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] number of elements 1`] = `3`; exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] number of renders 1`] = `8`; exports[`history > multiplayer undo/redo > should update history entries after remote changes on the same properties > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "#a5d8ff", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": "elementBackground", "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id84": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > multiplayer undo/redo > should update history entries after remote changes on the same properties > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id84", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 13, "width": 10, "x": 10, "y": 0, } `; exports[`history > multiplayer undo/redo > should update history entries after remote changes on the same properties > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id84" => Delta { "deleted": { "backgroundColor": "#d0bfff", }, "inserted": { "backgroundColor": "#ffec99", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id84" => Delta { "deleted": { "backgroundColor": "transparent", }, "inserted": { "backgroundColor": "#d0bfff", }, }, }, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id84": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id84" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > multiplayer undo/redo > should update history entries after remote changes on the same properties > [end of test] number of elements 1`] = `1`; exports[`history > multiplayer undo/redo > should update history entries after remote changes on the same properties > [end of test] number of renders 1`] = `15`; exports[`history > singleplayer undo/redo > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": false, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "A", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id80", "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 10, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id80": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map { "id80" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 0, "y": 0, }, }, }, "removed": Map {}, "updated": Map {}, }, }, ], "undoStack": [], } `; exports[`history > singleplayer undo/redo > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] number of renders 1`] = `11`; exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id14": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id13", "index": "a0", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 10, "x": 10, "y": 0, } `; exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id14", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 10, "x": 20, "y": 0, } `; exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id14": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id14" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 20, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] number of renders 1`] = `8`; exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "freedraw", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#e03131", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": "elementStroke", "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id32", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 10, "x": 10, "y": 10, } `; exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id33", "index": "a1", "isDeleted": true, "lastCommittedPoint": [ 50, 10, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 50, 10, ], [ 50, 10, ], ], "pressures": [ 0, 0, 0, ], "roughness": 1, "roundness": null, "simulatePressure": false, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "freedraw", "updated": 1, "version": 5, "width": 50, "x": 60, "y": 0, } `; exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id34", "index": "a2", "isDeleted": false, "lastCommittedPoint": [ 50, 10, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 50, 10, ], [ 50, 10, ], ], "pressures": [ 0, 0, 0, ], "roughness": 1, "roundness": null, "simulatePressure": false, "strokeColor": "#e03131", "strokeStyle": "solid", "strokeWidth": 2, "type": "freedraw", "updated": 1, "version": 4, "width": 50, "x": 150, "y": -10, } `; exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id32": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id32" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id32": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id34" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a2", "isDeleted": false, "lastCommittedPoint": [ 50, 10, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 50, 10, ], [ 50, 10, ], ], "pressures": [ 0, 0, 0, ], "roughness": 1, "roundness": null, "simulatePressure": false, "strokeColor": "#e03131", "strokeStyle": "solid", "strokeWidth": 2, "type": "freedraw", "width": 50, "x": 150, "y": -10, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] number of elements 1`] = `3`; exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] number of renders 1`] = `12`; exports[`history > singleplayer undo/redo > should create new history entry on scene import via drag&drop > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": -50, "scrollY": -50, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": false, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#000", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should create new history entry on scene import via drag&drop > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "A", "index": "a0", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should create new history entry on scene import via drag&drop > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "B", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should create new history entry on scene import via drag&drop > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "viewBackgroundColor": "#000", }, "inserted": { "viewBackgroundColor": "#FFF", }, }, }, "elementsChange": ElementsChange { "added": Map { "A" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "isDeleted": false, }, }, }, "removed": Map { "B" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should create new history entry on scene import via drag&drop > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > should create new history entry on scene import via drag&drop > [end of test] number of renders 1`] = `6`; exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id78": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": false, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "A", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id78", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 10, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id78": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id78" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] number of renders 1`] = `7`; exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id19": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": false, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": true, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "A", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id19", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 10, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id19": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id19" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] number of renders 1`] = `7`; exports[`history > singleplayer undo/redo > should iterate through the history when selection changes do not produce visible change > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id15": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should iterate through the history when selection changes do not produce visible change > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id15", "index": "a0", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 4, "width": 10, "x": 10, "y": 0, } `; exports[`history > singleplayer undo/redo > should iterate through the history when selection changes do not produce visible change > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id15": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id15": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id15": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map { "id15" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, }, }, "removed": Map {}, "updated": Map {}, }, }, ], "undoStack": [], } `; exports[`history > singleplayer undo/redo > should iterate through the history when selection changes do not produce visible change > [end of test] number of elements 1`] = `1`; exports[`history > singleplayer undo/redo > should iterate through the history when selection changes do not produce visible change > [end of test] number of renders 1`] = `13`; exports[`history > singleplayer undo/redo > should not clear the redo stack on standalone appstate change > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id8": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should not clear the redo stack on standalone appstate change > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id7", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 10, "x": 10, "y": 0, } `; exports[`history > singleplayer undo/redo > should not clear the redo stack on standalone appstate change > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id8", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 10, "x": 20, "y": 0, } `; exports[`history > singleplayer undo/redo > should not clear the redo stack on standalone appstate change > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id7": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id7" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id7": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id7": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id8": true, }, }, "inserted": { "selectedElementIds": { "id7": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id8" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 20, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should not clear the redo stack on standalone appstate change > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > should not clear the redo stack on standalone appstate change > [end of test] number of renders 1`] = `12`; exports[`history > singleplayer undo/redo > should not collapse when applying corrupted history entry > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should not collapse when applying corrupted history entry > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id0", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should not collapse when applying corrupted history entry > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should not collapse when applying corrupted history entry > [end of test] number of elements 1`] = `1`; exports[`history > singleplayer undo/redo > should not collapse when applying corrupted history entry > [end of test] number of renders 1`] = `4`; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no appstate changes > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id1": true, "id2": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": { "A": true, }, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no appstate changes > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id1", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no appstate changes > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id2", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no appstate changes > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id1": true, "id2": true, }, "selectedGroupIds": { "A": true, }, }, "inserted": { "selectedElementIds": {}, "selectedGroupIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id1" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, "id2" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no appstate changes > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no appstate changes > [end of test] number of renders 1`] = `7`; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no elements changes > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no elements changes > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id5", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no elements changes > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id6", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no elements changes > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id5" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, "id6" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no elements changes > [end of test] number of elements 1`] = `2`; exports[`history > singleplayer undo/redo > should not end up with history entry when there are no elements changes > [end of test] number of renders 1`] = `5`; exports[`history > singleplayer undo/redo > should not override appstate changes when redo stack is not cleared > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "#a5d8ff", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": "elementBackground", "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id11": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id11": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should not override appstate changes when redo stack is not cleared > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id11", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 11, "width": 10, "x": 10, "y": 0, } `; exports[`history > singleplayer undo/redo > should not override appstate changes when redo stack is not cleared > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id11" => Delta { "deleted": { "backgroundColor": "#ffc9c9", }, "inserted": { "backgroundColor": "#a5d8ff", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id11" => Delta { "deleted": { "backgroundColor": "transparent", }, "inserted": { "backgroundColor": "#ffc9c9", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id11": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id11": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id11" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should not override appstate changes when redo stack is not cleared > [end of test] number of elements 1`] = `1`; exports[`history > singleplayer undo/redo > should not override appstate changes when redo stack is not cleared > [end of test] number of renders 1`] = `15`; exports[`history > singleplayer undo/redo > should support appstate name or viewBackgroundColor change > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": { "x": 0, "y": 0, }, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#000", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support appstate name or viewBackgroundColor change > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "name": "New name", }, "inserted": { "name": "Old name", }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "viewBackgroundColor": "#000", }, "inserted": { "viewBackgroundColor": "#FFF", }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should support appstate name or viewBackgroundColor change > [end of test] number of elements 1`] = `0`; exports[`history > singleplayer undo/redo > should support appstate name or viewBackgroundColor change > [end of test] number of renders 1`] = `8`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id50": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id55": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id51", "type": "text", }, { "id": "id55", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id50", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": -100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id50", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id51", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "center", "type": "text", "updated": 1, "version": 6, "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id55", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id52", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": 100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id52", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "id": "id55", "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id50", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 12, "width": "98.00000", "x": "1.00000", "y": 0, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id55": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id55" => Delta { "deleted": { "isDeleted": false, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], }, "inserted": { "isDeleted": true, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], }, }, }, "updated": Map { "id50" => Delta { "deleted": { "boundElements": [ { "id": "id55", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id52" => Delta { "deleted": { "boundElements": [ { "id": "id55", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id50" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id51" => Delta { "deleted": { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, "inserted": { "isDeleted": true, }, }, "id52" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id50": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id51": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id51": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id50" => Delta { "deleted": { "boundElements": [ { "id": "id51", "type": "text", }, ], }, "inserted": { "boundElements": [], }, }, "id51" => Delta { "deleted": { "containerId": "id50", "height": 25, "textAlign": "center", "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", }, "inserted": { "containerId": null, "height": 100, "textAlign": "left", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id55": true, }, "selectedLinearElementId": "id55", }, "inserted": { "selectedElementIds": { "id50": true, }, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id55" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id52", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id50", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "98.00000", "x": 1, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id50" => Delta { "deleted": { "boundElements": [ { "id": "id55", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id52" => Delta { "deleted": { "boundElements": [ { "id": "id55", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] number of elements 1`] = `4`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on deletion and rebind on undo > [end of test] number of renders 1`] = `12`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id44": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id49": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id45", "type": "text", }, { "id": "id49", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id44", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": -100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id44", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id45", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "center", "type": "text", "updated": 1, "version": 8, "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id49", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id46", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 100, "x": 100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id46", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "id": "id49", "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id44", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 12, "width": "98.00000", "x": "1.00000", "y": 0, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id44" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id45" => Delta { "deleted": { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, "inserted": { "isDeleted": true, }, }, "id46" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id44": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id45": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id45": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id44" => Delta { "deleted": { "boundElements": [ { "id": "id45", "type": "text", }, ], }, "inserted": { "boundElements": [], }, }, "id45" => Delta { "deleted": { "containerId": "id44", "height": 25, "textAlign": "center", "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", }, "inserted": { "containerId": null, "height": 100, "textAlign": "left", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id49": true, }, "selectedLinearElementId": "id49", }, "inserted": { "selectedElementIds": { "id44": true, }, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id49" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id46", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id44", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "98.00000", "x": 1, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id44" => Delta { "deleted": { "boundElements": [ { "id": "id49", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id46" => Delta { "deleted": { "boundElements": [ { "id": "id49", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] number of elements 1`] = `4`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind arrow from non deleted bindable elements on undo and rebind on redo > [end of test] number of renders 1`] = `12`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id56": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id61": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id57", "type": "text", }, { "id": "id61", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id56", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 12, "width": 100, "x": -100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id56", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id57", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "center", "type": "text", "updated": 1, "version": 12, "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id61", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id58", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 9, "width": 100, "x": 100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id58", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "id": "id61", "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id56", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 12, "width": "98.00000", "x": "1.00000", "y": 0, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id56" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id57" => Delta { "deleted": { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, "inserted": { "isDeleted": true, }, }, "id58" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id56": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id57": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id57": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id56" => Delta { "deleted": { "boundElements": [ { "id": "id57", "type": "text", }, ], }, "inserted": { "boundElements": [], }, }, "id57" => Delta { "deleted": { "containerId": "id56", "height": 25, "textAlign": "center", "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", }, "inserted": { "containerId": null, "height": 100, "textAlign": "left", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id61": true, }, "selectedLinearElementId": "id61", }, "inserted": { "selectedElementIds": { "id56": true, }, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id61" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id58", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id56", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "98.00000", "x": 1, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id56" => Delta { "deleted": { "boundElements": [ { "id": "id61", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id58" => Delta { "deleted": { "boundElements": [ { "id": "id61", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, ], } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] number of elements 1`] = `4`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] number of renders 1`] = `20`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": {}, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id62": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id67", "type": "arrow", }, { "id": "id63", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id62", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": -100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id62", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id63", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "center", "type": "text", "updated": 1, "version": 8, "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id67", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id64", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 100, "x": 100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id64", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "id": "id67", "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id62", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 12, "width": "98.00000", "x": "1.00000", "y": 0, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id62": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id62" => Delta { "deleted": { "isDeleted": false, }, "inserted": { "isDeleted": true, }, }, "id63" => Delta { "deleted": { "isDeleted": false, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id67" => Delta { "deleted": { "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "startBinding": { "elementId": "id62", "fixedPoint": null, "focus": 0, "gap": 1, }, }, "inserted": { "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "startBinding": null, }, }, }, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id62" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id63" => Delta { "deleted": { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, "inserted": { "isDeleted": true, }, }, "id64" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id62": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id63": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id63": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id62" => Delta { "deleted": { "boundElements": [ { "id": "id63", "type": "text", }, ], }, "inserted": { "boundElements": [], }, }, "id63" => Delta { "deleted": { "containerId": "id62", "height": 25, "textAlign": "center", "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", }, "inserted": { "containerId": null, "height": 100, "textAlign": "left", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id67": true, }, "selectedLinearElementId": "id67", }, "inserted": { "selectedElementIds": { "id62": true, }, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id67" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id64", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id62", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "98.00000", "x": 1, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id62" => Delta { "deleted": { "boundElements": [ { "id": "id67", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id64" => Delta { "deleted": { "boundElements": [ { "id": "id67", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id62": true, }, "selectedLinearElementId": null, }, "inserted": { "selectedElementIds": { "id67": true, }, "selectedLinearElementId": "id67", }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] number of elements 1`] = `4`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] number of renders 1`] = `14`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id69": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id69": true, "id71": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id74", "type": "arrow", }, { "id": "id70", "type": "text", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id69", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 100, "x": -100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] element 1 1`] = ` { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": "id69", "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 25, "id": "id70", "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "center", "type": "text", "updated": 1, "version": 8, "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": [ { "id": "id74", "type": "arrow", }, ], "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "id": "id71", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 100, "x": 100, "y": -50, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id71", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "id": "id74", "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id69", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 13, "width": "98.00000", "x": "1.00000", "y": 0, } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id69": true, "id71": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id69" => Delta { "deleted": { "isDeleted": false, }, "inserted": { "isDeleted": true, }, }, "id70" => Delta { "deleted": { "isDeleted": false, }, "inserted": { "isDeleted": true, }, }, "id71" => Delta { "deleted": { "isDeleted": false, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id74" => Delta { "deleted": { "endBinding": { "elementId": "id71", "fixedPoint": null, "focus": 0, "gap": 1, }, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "startBinding": { "elementId": "id69", "fixedPoint": null, "focus": 0, "gap": 1, }, }, "inserted": { "endBinding": null, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "startBinding": null, }, }, }, }, }, ], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id69" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": -100, "y": -50, }, "inserted": { "isDeleted": true, }, }, "id70" => Delta { "deleted": { "angle": 0, "autoResize": true, "backgroundColor": "transparent", "boundElements": null, "containerId": null, "customData": undefined, "fillStyle": "solid", "fontFamily": 5, "fontSize": 20, "frameId": null, "groupIds": [], "height": 100, "index": "a1", "isDeleted": false, "lineHeight": "1.25000", "link": null, "locked": false, "opacity": 100, "originalText": "ola", "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "text": "ola", "textAlign": "left", "type": "text", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, "inserted": { "isDeleted": true, }, }, "id71" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 100, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": -50, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id69": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id70": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id70": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id69" => Delta { "deleted": { "boundElements": [ { "id": "id70", "type": "text", }, ], }, "inserted": { "boundElements": [], }, }, "id70" => Delta { "deleted": { "containerId": "id69", "height": 25, "textAlign": "center", "verticalAlign": "middle", "width": 30, "x": -65, "y": "-12.50000", }, "inserted": { "containerId": null, "height": 100, "textAlign": "left", "verticalAlign": "top", "width": 100, "x": -200, "y": -200, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id74": true, }, "selectedLinearElementId": "id74", }, "inserted": { "selectedElementIds": { "id69": true, }, "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id74" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": { "elementId": "id71", "fixedPoint": null, "focus": 0, "gap": 1, }, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 0, "index": "a3", "isDeleted": false, "lastCommittedPoint": null, "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ "98.00000", 0, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": { "elementId": "id69", "fixedPoint": null, "focus": 0, "gap": 1, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": "98.00000", "x": 1, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map { "id69" => Delta { "deleted": { "boundElements": [ { "id": "id74", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, "id71" => Delta { "deleted": { "boundElements": [ { "id": "id74", "type": "arrow", }, ], }, "inserted": { "boundElements": [], }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id69": true, }, "selectedLinearElementId": null, }, "inserted": { "selectedElementIds": { "id74": true, }, "selectedLinearElementId": "id74", }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id71": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] number of elements 1`] = `4`; exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] number of renders 1`] = `15`; exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id39": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id39": true, "id41": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id40", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 10, "x": 20, "y": 20, } `; exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id39", "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 7, "width": 10, "x": 10, "y": 0, } `; exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id41", "index": "a3", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 10, "width": 10, "x": 40, "y": 40, } `; exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id39": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id39" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id40": true, }, }, "inserted": { "selectedElementIds": { "id39": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id40" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 20, "y": 20, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id41": true, }, }, "inserted": { "selectedElementIds": { "id40": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id41" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 40, "y": 40, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id41" => Delta { "deleted": { "index": "a0V", }, "inserted": { "index": "a2", }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id39": true, }, }, "inserted": { "selectedElementIds": { "id41": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id41": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id39" => Delta { "deleted": { "index": "a2", }, "inserted": { "index": "Zz", }, }, "id41" => Delta { "deleted": { "index": "a3", }, "inserted": { "index": "a0", }, }, }, }, }, ], } `; exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] number of elements 1`] = `3`; exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] number of renders 1`] = `20`; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id36": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id35_copy_copy": true, "id36_copy_copy": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": { "A_copy": true, }, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id35", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "id": "id36", "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 2, "width": 100, "x": 100, "y": 100, } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A_copy", ], "height": 100, "id": "id35_copy_copy", "index": "a1G", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 100, "x": 10, "y": 10, } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] element 3 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A_copy", ], "height": 100, "id": "id36_copy_copy", "index": "a1V", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 3, "width": 100, "x": 110, "y": 110, } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] element 4 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A_copy", ], "height": 100, "id": "id35_copy", "index": "a2", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 6, "width": 100, "x": 10, "y": 10, } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] element 5 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A_copy", ], "height": 100, "id": "id36_copy", "index": "a3", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 6, "width": 100, "x": 110, "y": 110, } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id35": true, "id36": true, }, "selectedGroupIds": { "A": true, }, }, "inserted": { "selectedElementIds": {}, "selectedGroupIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id35" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, "id36" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A", ], "height": 100, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 100, "y": 100, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id35_copy_copy": true, "id36_copy_copy": true, }, "selectedGroupIds": { "A_copy": true, }, }, "inserted": { "selectedElementIds": { "id35": true, "id36": true, }, "selectedGroupIds": { "A": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id35_copy_copy" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A_copy", ], "height": 100, "index": "a1G", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 10, "y": 10, }, "inserted": { "isDeleted": true, }, }, "id36_copy_copy" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [ "A_copy", ], "height": 100, "index": "a1V", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 100, "x": 110, "y": 110, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] number of elements 1`] = `6`; exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] number of renders 1`] = `18`; exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id23": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": {}, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id22", "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 5, "width": 10, "x": 10, "y": 0, } `; exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] element 1 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id23", "index": "a1", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 10, "x": 20, "y": 20, } `; exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] element 2 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "id": "id24", "index": "a2", "isDeleted": true, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "updated": 1, "version": 8, "width": 10, "x": 40, "y": 40, } `; exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id22": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id22" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 10, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id23": true, }, }, "inserted": { "selectedElementIds": { "id22": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id23" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a1", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 20, "y": 20, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id24": true, }, }, "inserted": { "selectedElementIds": { "id23": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id24" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a2", "isDeleted": false, "link": null, "locked": false, "opacity": 100, "roughness": 1, "roundness": { "type": 3, }, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "rectangle", "width": 10, "x": 40, "y": 40, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id23": true, }, }, "inserted": { "selectedElementIds": { "id24": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id24": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": {}, }, "inserted": { "selectedElementIds": { "id23": true, "id24": true, }, }, }, }, "elementsChange": ElementsChange { "added": Map { "id23" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "isDeleted": false, }, }, "id24" => Delta { "deleted": { "isDeleted": true, }, "inserted": { "isDeleted": false, }, }, }, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] number of elements 1`] = `3`; exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] number of renders 1`] = `27`; exports[`history > singleplayer undo/redo > should support linear element creation and points manipulation through the editor > [end of test] appState 1`] = ` { "activeEmbeddable": null, "activeTool": { "customType": null, "lastActiveTool": null, "locked": false, "type": "selection", }, "collaborators": Map {}, "contextMenu": null, "croppingElementId": null, "currentChartType": "bar", "currentHoveredFontFamily": null, "currentItemArrowType": "round", "currentItemBackgroundColor": "transparent", "currentItemEndArrowhead": "arrow", "currentItemFillStyle": "solid", "currentItemFontFamily": 5, "currentItemFontSize": 20, "currentItemOpacity": 100, "currentItemRoughness": 1, "currentItemRoundness": "round", "currentItemStartArrowhead": null, "currentItemStrokeColor": "#1e1e1e", "currentItemStrokeStyle": "solid", "currentItemStrokeWidth": 2, "currentItemTextAlign": "left", "cursorButton": "up", "defaultSidebarDockedPreference": false, "editingFrame": null, "editingGroupId": null, "editingLinearElement": null, "editingTextElement": null, "elementsToHighlight": null, "errorMessage": null, "exportBackground": true, "exportEmbedScene": false, "exportScale": 1, "exportWithDarkMode": false, "fileHandle": null, "followedBy": Set {}, "frameRendering": { "clip": true, "enabled": true, "name": true, "outline": true, }, "frameToHighlight": null, "gridModeEnabled": false, "gridSize": 20, "gridStep": 5, "height": 0, "hoveredElementIds": {}, "isBindingEnabled": true, "isCropping": false, "isLoading": false, "isResizing": false, "isRotating": false, "lastPointerDownWith": "mouse", "multiElement": null, "newElement": null, "objectsSnapModeEnabled": false, "offsetLeft": 0, "offsetTop": 0, "openDialog": null, "openMenu": null, "openPopup": null, "openSidebar": null, "originSnapOffset": null, "pasteDialog": { "data": null, "shown": false, }, "penDetected": false, "penMode": false, "pendingImageElementId": null, "previousSelectedElementIds": { "id27": true, }, "resizingElement": null, "scrollX": 0, "scrollY": 0, "searchMatches": [], "selectedElementIds": { "id27": true, }, "selectedElementsAreBeingDragged": false, "selectedGroupIds": {}, "selectionElement": null, "shouldCacheIgnoreZoom": false, "showHyperlinkPopup": false, "showWelcomeScreen": true, "snapLines": [], "startBoundElement": null, "stats": { "open": false, "panels": 3, }, "suggestedBindings": [], "theme": "light", "toast": null, "userToFollow": null, "viewBackgroundColor": "#ffffff", "viewModeEnabled": false, "width": 0, "zenModeEnabled": false, "zoom": { "value": 1, }, } `; exports[`history > singleplayer undo/redo > should support linear element creation and points manipulation through the editor > [end of test] element 0 1`] = ` { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 20, "id": "id27", "index": "a0", "isDeleted": false, "lastCommittedPoint": [ 20, 0, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 10, 10, ], [ 20, 20, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "updated": 1, "version": 15, "width": 20, "x": 0, "y": 0, } `; exports[`history > singleplayer undo/redo > should support linear element creation and points manipulation through the editor > [end of test] history 1`] = ` History { "onHistoryChangedEmitter": Emitter { "subscribers": [ [Function], [Function], ], }, "redoStack": [], "undoStack": [ HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedElementIds": { "id27": true, }, }, "inserted": { "selectedElementIds": {}, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map { "id27" => Delta { "deleted": { "angle": 0, "backgroundColor": "transparent", "boundElements": null, "customData": undefined, "elbowed": false, "endArrowhead": "arrow", "endBinding": null, "fillStyle": "solid", "frameId": null, "groupIds": [], "height": 10, "index": "a0", "isDeleted": false, "lastCommittedPoint": [ 10, 10, ], "link": null, "locked": false, "opacity": 100, "points": [ [ 0, 0, ], [ 10, 10, ], ], "roughness": 1, "roundness": { "type": 2, }, "startArrowhead": null, "startBinding": null, "strokeColor": "#1e1e1e", "strokeStyle": "solid", "strokeWidth": 2, "type": "arrow", "width": 10, "x": 0, "y": 0, }, "inserted": { "isDeleted": true, }, }, }, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id27" => Delta { "deleted": { "lastCommittedPoint": [ 20, 0, ], "points": [ [ 0, 0, ], [ 10, 10, ], [ 20, 0, ], ], "width": 20, }, "inserted": { "lastCommittedPoint": [ 10, 10, ], "points": [ [ 0, 0, ], [ 10, 10, ], ], "width": 10, }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "selectedLinearElementId": "id27", }, "inserted": { "selectedLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "editingLinearElementId": "id27", }, "inserted": { "editingLinearElementId": null, }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": {}, "inserted": {}, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map { "id27" => Delta { "deleted": { "height": 20, "points": [ [ 0, 0, ], [ 10, 10, ], [ 20, 20, ], ], }, "inserted": { "height": 10, "points": [ [ 0, 0, ], [ 10, 10, ], [ 20, 0, ], ], }, }, }, }, }, HistoryEntry { "appStateChange": AppStateChange { "delta": Delta { "deleted": { "editingLinearElementId": null, }, "inserted": { "editingLinearElementId": "id27", }, }, }, "elementsChange": ElementsChange { "added": Map {}, "removed": Map {}, "updated": Map {}, }, }, ], } `; exports[`history > singleplayer undo/redo > should support linear element creation and points manipulation through the editor > [end of test] number of elements 1`] = `1`; exports[`history > singleplayer undo/redo > should support linear element creation and points manipulation through the editor > [end of test] number of renders 1`] = `21`;