// 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": {
    "id172": true,
  },
  "resizingElement": null,
  "scrollX": 0,
  "scrollY": 0,
  "searchMatches": [],
  "selectedElementIds": {
    "id172": 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": "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": 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": "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": 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": "id175",
    "fixedPoint": [
      "0.50000",
      1,
    ],
    "focus": 0,
    "gap": 1,
  },
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": "102.35417",
  "id": "id172",
  "index": "a2",
  "isDeleted": false,
  "lastCommittedPoint": null,
  "link": null,
  "locked": false,
  "opacity": 100,
  "points": [
    [
      0,
      0,
    ],
    [
      "101.77517",
      "102.35417",
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": null,
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 40,
  "width": "101.77517",
  "x": "0.70711",
  "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": "id172",
      "type": "arrow",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 50,
  "id": "id175",
  "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 {
          "id172" => Delta {
            "deleted": {
              "endBinding": {
                "elementId": "id171",
                "focus": "0.00990",
                "gap": 1,
              },
              "height": "0.98586",
              "points": [
                [
                  0,
                  0,
                ],
                [
                  "98.58579",
                  "-0.98586",
                ],
              ],
              "startBinding": {
                "elementId": "id170",
                "focus": "0.02970",
                "gap": 1,
              },
            },
            "inserted": {
              "endBinding": {
                "elementId": "id171",
                "focus": "-0.02000",
                "gap": 1,
              },
              "height": "0.00000",
              "points": [
                [
                  0,
                  0,
                ],
                [
                  "98.58579",
                  "0.00000",
                ],
              ],
              "startBinding": {
                "elementId": "id170",
                "focus": "0.02000",
                "gap": 1,
              },
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id170" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id172",
                  "type": "arrow",
                },
              ],
            },
          },
          "id171" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id172",
                  "type": "arrow",
                },
              ],
            },
          },
          "id172" => Delta {
            "deleted": {
              "endBinding": {
                "elementId": "id175",
                "fixedPoint": [
                  "0.50000",
                  1,
                ],
                "focus": 0,
                "gap": 1,
              },
              "height": "102.35417",
              "points": [
                [
                  0,
                  0,
                ],
                [
                  "101.77517",
                  "102.35417",
                ],
              ],
              "startBinding": null,
              "y": 0,
            },
            "inserted": {
              "endBinding": {
                "elementId": "id171",
                "focus": "0.00990",
                "gap": 1,
              },
              "height": "0.98586",
              "points": [
                [
                  0,
                  0,
                ],
                [
                  "98.58579",
                  "-0.98586",
                ],
              ],
              "startBinding": {
                "elementId": "id170",
                "focus": "0.02970",
                "gap": 1,
              },
              "y": "0.99364",
            },
          },
          "id175" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id172",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
        },
      },
    },
  ],
  "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 {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id172": true,
            },
            "selectedLinearElementId": "id172",
          },
          "inserted": {
            "selectedElementIds": {},
            "selectedLinearElementId": null,
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id172" => 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": {
    "id167": true,
  },
  "resizingElement": null,
  "scrollX": 0,
  "scrollY": 0,
  "searchMatches": [],
  "selectedElementIds": {
    "id167": 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": "id165",
  "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": "id166",
  "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": "id167",
  "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": 30,
  "width": 50,
  "x": 200,
  "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 {
          "id167" => Delta {
            "deleted": {
              "points": [
                [
                  0,
                  0,
                ],
                [
                  50,
                  0,
                ],
              ],
            },
            "inserted": {
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id165" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id167",
                  "type": "arrow",
                },
              ],
            },
          },
          "id166" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id167",
                  "type": "arrow",
                },
              ],
            },
          },
          "id167" => Delta {
            "deleted": {
              "endBinding": null,
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
              "startBinding": null,
            },
            "inserted": {
              "endBinding": {
                "elementId": "id166",
                "focus": -0,
                "gap": 1,
              },
              "points": [
                [
                  0,
                  0,
                ],
                [
                  50,
                  0,
                ],
              ],
              "startBinding": {
                "elementId": "id165",
                "focus": 0,
                "gap": 1,
              },
            },
          },
        },
      },
    },
  ],
  "undoStack": [
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id165" => 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,
            },
          },
          "id166" => 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": {
              "id167": true,
            },
            "selectedLinearElementId": "id167",
          },
          "inserted": {
            "selectedElementIds": {},
            "selectedLinearElementId": null,
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id167" => 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": "id177",
    "fixedPoint": [
      "0.50000",
      1,
    ],
    "focus": 0,
    "gap": 1,
  },
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": "1.30038",
  "id": "id178",
  "index": "Zz",
  "isDeleted": false,
  "lastCommittedPoint": null,
  "link": null,
  "locked": false,
  "opacity": 100,
  "points": [
    [
      0,
      0,
    ],
    [
      "98.58579",
      "1.30038",
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id176",
    "fixedPoint": [
      1,
      "0.50000",
    ],
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 11,
  "width": "98.58579",
  "x": "0.70711",
  "y": 0,
}
`;

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": "id178",
      "type": "arrow",
    },
  ],
  "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": 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": "id178",
      "type": "arrow",
    },
  ],
  "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": 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 {
          "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 {
          "id178" => Delta {
            "deleted": {
              "endBinding": {
                "elementId": "id177",
                "fixedPoint": [
                  "0.50000",
                  1,
                ],
                "focus": 0,
                "gap": 1,
              },
              "startBinding": {
                "elementId": "id176",
                "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": "id180",
    "fixedPoint": [
      1,
      "0.50000",
    ],
    "focus": 0,
    "gap": 1,
  },
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": "1.30038",
  "id": "id181",
  "index": "a0",
  "isDeleted": false,
  "lastCommittedPoint": null,
  "link": null,
  "locked": false,
  "opacity": 100,
  "points": [
    [
      0,
      0,
    ],
    [
      "98.58579",
      "1.30038",
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id179",
    "fixedPoint": [
      "0.50000",
      1,
    ],
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 11,
  "width": "98.58579",
  "x": "0.70711",
  "y": 0,
}
`;

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": "id181",
      "type": "arrow",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id179",
  "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": "id181",
      "type": "arrow",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id180",
  "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 {
          "id181" => Delta {
            "deleted": {
              "angle": 0,
              "backgroundColor": "transparent",
              "boundElements": null,
              "customData": undefined,
              "elbowed": false,
              "endArrowhead": null,
              "endBinding": {
                "elementId": "id180",
                "fixedPoint": [
                  1,
                  "0.50000",
                ],
                "focus": 0,
                "gap": 1,
              },
              "fillStyle": "solid",
              "frameId": null,
              "groupIds": [],
              "height": "11.27227",
              "index": "a0",
              "isDeleted": false,
              "lastCommittedPoint": null,
              "link": null,
              "locked": false,
              "opacity": 100,
              "points": [
                [
                  0,
                  0,
                ],
                [
                  "98.58579",
                  "11.27227",
                ],
              ],
              "roughness": 1,
              "roundness": {
                "type": 2,
              },
              "startArrowhead": null,
              "startBinding": {
                "elementId": "id179",
                "fixedPoint": [
                  "0.50000",
                  1,
                ],
                "focus": 0,
                "gap": 1,
              },
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": "98.58579",
              "x": "0.70711",
              "y": 0,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
        },
        "updated": Map {
          "id179" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id181",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
          "id180" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id181",
                  "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": "id182",
  "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": "id183",
  "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 {
          "id182" => 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,
            },
          },
          "id183" => 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": {
    "id186": 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": "id186",
      "type": "arrow",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id184",
  "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": "id186",
      "type": "arrow",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id185",
  "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": "id185",
    "focus": -0,
    "gap": 1,
  },
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": "374.05754",
  "id": "id186",
  "index": "a2",
  "isDeleted": false,
  "lastCommittedPoint": null,
  "link": null,
  "locked": false,
  "opacity": 100,
  "points": [
    [
      0,
      0,
    ],
    [
      "502.78936",
      "-374.05754",
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id184",
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 10,
  "width": "502.78936",
  "x": "-0.83465",
  "y": "-36.58211",
}
`;

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 {
          "id184" => 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,
            },
          },
          "id185" => 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": {
              "id186": true,
            },
            "selectedLinearElementId": "id186",
          },
          "inserted": {
            "selectedElementIds": {},
            "selectedLinearElementId": null,
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id186" => Delta {
            "deleted": {
              "angle": 0,
              "backgroundColor": "transparent",
              "boundElements": null,
              "customData": undefined,
              "elbowed": false,
              "endArrowhead": "arrow",
              "endBinding": {
                "elementId": "id185",
                "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,
                ],
                [
                  100,
                  0,
                ],
              ],
              "roughness": 1,
              "roundness": {
                "type": 2,
              },
              "startArrowhead": null,
              "startBinding": {
                "elementId": "id184",
                "focus": 0,
                "gap": 1,
              },
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": 100,
              "x": 0,
              "y": 0,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
        },
        "updated": Map {
          "id184" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id186",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
          "id185" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id186",
                  "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": "id153",
      "type": "text",
    },
  ],
  "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": 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": "id152",
  "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": "id151",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id153",
  "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 {
          "id151" => 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,
            },
          },
          "id152" => 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": "id156",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id154",
  "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": "id154",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id155",
  "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": "id154",
  "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": "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 {
          "id155" => Delta {
            "deleted": {
              "containerId": "id154",
              "isDeleted": true,
            },
            "inserted": {
              "containerId": null,
              "isDeleted": false,
            },
          },
        },
        "removed": Map {},
        "updated": Map {
          "id154" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id155",
                  "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": "id143",
      "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": 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": "id141",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id143",
  "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": "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": 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 {
          "id141" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id143",
                  "type": "text",
                },
              ],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id142",
                  "type": "text",
                },
              ],
            },
          },
          "id142" => Delta {
            "deleted": {
              "containerId": null,
            },
            "inserted": {
              "containerId": "id141",
            },
          },
          "id143" => Delta {
            "deleted": {
              "containerId": "id141",
            },
            "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": "id144",
  "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": "id145",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 60,
  "id": "id146",
  "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": "id146",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 50,
  "id": "id145",
  "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 {
          "id144" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id145",
                  "type": "text",
                },
              ],
            },
          },
          "id145" => Delta {
            "deleted": {
              "containerId": "id146",
            },
            "inserted": {
              "containerId": "id144",
            },
          },
          "id146" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id145",
                  "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": "id139",
  "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": "id140",
  "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 {
          "id139" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id140",
                  "type": "text",
                },
              ],
            },
          },
          "id140" => Delta {
            "deleted": {
              "containerId": null,
            },
            "inserted": {
              "containerId": "id139",
            },
          },
        },
      },
    },
  ],
  "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": "id148",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id147",
  "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": "id147",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id148",
  "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 {
          "id147" => 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 {
          "id148" => Delta {
            "deleted": {
              "containerId": "id147",
            },
            "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": "id150",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id149",
  "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": "id149",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id150",
  "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 {
          "id150" => Delta {
            "deleted": {
              "angle": 0,
              "autoResize": true,
              "backgroundColor": "transparent",
              "boundElements": null,
              "containerId": "id149",
              "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 {
          "id149" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id150",
                  "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": "id164",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id163",
  "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": "id163",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id164",
  "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 {
          "id164" => 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": "id162",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id161",
  "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": "id161",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id162",
  "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 {
          "id161" => 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": "id157",
  "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": "id157",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id158",
  "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 {
          "id157" => Delta {
            "deleted": {
              "boundElements": [],
              "isDeleted": false,
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "id158",
                  "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": "id160",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id159",
  "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": "id160",
  "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 {
          "id160" => Delta {
            "deleted": {
              "containerId": null,
              "isDeleted": false,
            },
            "inserted": {
              "containerId": "id159",
              "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": "id188",
  "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": "id187",
  "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 {
          "id188" => 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 {
          "id188" => Delta {
            "deleted": {
              "frameId": "id187",
            },
            "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": {
    "id116": 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": "id115",
  "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": "id116",
  "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": {
              "id115": true,
              "id116": true,
            },
            "selectedGroupIds": {
              "A": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
            "selectedGroupIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id115" => 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,
            },
          },
          "id116" => 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": {
              "id115": 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": {
              "id116": 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": {
    "id103": 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": "id101",
  "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": "id102",
  "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": "id103",
  "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": {
              "id101": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id101" => 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": {
              "id102": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id101": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id102" => 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 {
          "id102" => Delta {
            "deleted": {
              "backgroundColor": "#ffc9c9",
            },
            "inserted": {
              "backgroundColor": "transparent",
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id103": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id102": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id103" => 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 {
          "id103" => 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": {
    "id106": true,
  },
  "resizingElement": null,
  "scrollX": 0,
  "scrollY": 0,
  "searchMatches": [],
  "selectedElementIds": {
    "id106": true,
    "id107": 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": "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": 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": "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": 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": "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": 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": {
              "id105": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id105" => 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,
            },
          },
          "id106" => 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,
            },
          },
          "id107" => 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": {
              "id106": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id105": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id107": 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": {
    "id111": true,
    "id112": true,
    "id113": true,
    "id114": 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": "id111",
  "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": "id112",
  "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": "id113",
  "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": "id114",
  "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": {
              "id111": true,
              "id112": true,
            },
            "selectedGroupIds": {
              "A": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
            "selectedGroupIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id113": true,
              "id114": 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": {
    "id119": 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": "id119",
  "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": {
              "id119": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id119" => 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": "id119",
          },
          "inserted": {
            "selectedLinearElementId": null,
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "editingLinearElementId": "id119",
          },
          "inserted": {
            "editingLinearElementId": null,
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "editingLinearElementId": null,
          },
          "inserted": {
            "editingLinearElementId": "id119",
          },
        },
      },
      "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": "id100",
  "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": {
              "id100": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id100" => 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 {
          "id100" => 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": "id125",
  "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": "id126",
  "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": "id124",
  "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 {
          "id125" => Delta {
            "deleted": {
              "index": "a1",
            },
            "inserted": {
              "index": "a3",
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {},
          },
          "inserted": {
            "selectedElementIds": {
              "id125": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {
          "id124" => 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,
            },
          },
          "id125" => 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,
            },
          },
          "id126" => 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": "id120",
  "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": "id122",
  "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": "id121",
  "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 {
          "id121" => Delta {
            "deleted": {
              "index": "a1",
            },
            "inserted": {
              "index": "Zz",
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {},
          },
          "inserted": {
            "selectedElementIds": {
              "id121": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {
          "id120" => 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,
            },
          },
          "id121" => 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,
            },
          },
          "id122" => 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": {
    "id133": true,
    "id134": true,
  },
  "resizingElement": null,
  "scrollX": 0,
  "scrollY": 0,
  "searchMatches": [],
  "selectedElementIds": {
    "id133": true,
    "id134": 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": "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": 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": "id134",
  "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": "id138",
  "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": {
              "id133": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id133" => 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": {
              "id134": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id133": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id134" => 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": {
              "id133": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id134": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id134": 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 {
          "id133" => Delta {
            "deleted": {
              "x": 90,
              "y": 90,
            },
            "inserted": {
              "x": 10,
              "y": 10,
            },
          },
          "id134" => 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": "id128",
  "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": "id129",
  "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 {
          "id128" => 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": {
    "id130": 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": "id130",
  "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": "id132",
  "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": {
              "id130": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id130" => 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 {
          "id130" => 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": {
    "id87": 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": "id87",
  "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": "id88",
  "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 {
          "id87" => Delta {
            "deleted": {
              "backgroundColor": "transparent",
            },
            "inserted": {
              "backgroundColor": "#ffc9c9",
            },
          },
        },
      },
    },
  ],
  "undoStack": [
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id87": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id87" => 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": {
    "id89": 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": "id89",
  "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": {
              "id89": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id89" => 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 {
          "id89" => 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": "id94",
  "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": "id95",
  "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": "id96",
  "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": "id97",
  "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 {
          "id94" => Delta {
            "deleted": {
              "groupIds": [
                "A",
                "B",
              ],
            },
            "inserted": {
              "groupIds": [],
            },
          },
          "id95" => 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": {
    "id98": 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": "id98",
  "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": {
              "id98": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id98" => 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 {
          "id98" => 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": "id98",
          },
          "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": "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": 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": {
              "id99": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id99" => 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": {
              "id99": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id99" => 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": [],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 126,
  "id": "KPrBI4g_v9qUB1XxYLgSz",
  "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": 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": [],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 129,
  "id": "u2JGnnmoJ0VATV4vCNJE5",
  "index": "a1",
  "isDeleted": true,
  "link": null,
  "locked": false,
  "opacity": 100,
  "roughness": 1,
  "roundness": {
    "type": 3,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "diamond",
  "updated": 1,
  "version": 4,
  "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",
  },
  "endIsSpecial": false,
  "fillStyle": "solid",
  "fixedSegments": [],
  "frameId": null,
  "groupIds": [],
  "height": "236.10000",
  "id": "6Rm4g567UQM4WjLwej2Vc",
  "index": "a2",
  "isDeleted": true,
  "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,
  },
  "startIsSpecial": false,
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 3,
  "width": "178.90000",
  "x": 1035,
  "y": "274.90000",
}
`;

exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] history 1`] = `
History {
  "onHistoryChangedEmitter": Emitter {
    "subscribers": [
      [Function],
      [Function],
    ],
  },
  "redoStack": [
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {
          "6Rm4g567UQM4WjLwej2Vc" => Delta {
            "deleted": {
              "isDeleted": true,
            },
            "inserted": {
              "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",
              },
              "endIsSpecial": false,
              "fillStyle": "solid",
              "fixedSegments": [],
              "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,
              },
              "startIsSpecial": false,
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": "178.90000",
              "x": 1035,
              "y": "274.90000",
            },
          },
        },
        "removed": Map {},
        "updated": Map {
          "KPrBI4g_v9qUB1XxYLgSz" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "6Rm4g567UQM4WjLwej2Vc",
                  "type": "arrow",
                },
              ],
            },
          },
          "u2JGnnmoJ0VATV4vCNJE5" => Delta {
            "deleted": {
              "boundElements": [],
            },
            "inserted": {
              "boundElements": [
                {
                  "id": "6Rm4g567UQM4WjLwej2Vc",
                  "type": "arrow",
                },
              ],
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {
          "KPrBI4g_v9qUB1XxYLgSz" => Delta {
            "deleted": {
              "isDeleted": true,
            },
            "inserted": {
              "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": 600,
              "y": 0,
            },
          },
          "u2JGnnmoJ0VATV4vCNJE5" => Delta {
            "deleted": {
              "isDeleted": true,
            },
            "inserted": {
              "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,
            },
          },
        },
        "removed": Map {},
        "updated": Map {},
      },
    },
  ],
  "undoStack": [],
}
`;

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": {
    "id90": 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": "id90",
  "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 {
          "id90" => Delta {
            "deleted": {
              "backgroundColor": "#d0bfff",
            },
            "inserted": {
              "backgroundColor": "#ffec99",
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id90" => Delta {
            "deleted": {
              "backgroundColor": "transparent",
            },
            "inserted": {
              "backgroundColor": "#d0bfff",
            },
          },
        },
      },
    },
  ],
  "undoStack": [
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id90": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id90" => 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": "id86",
  "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": {
              "id86": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {
          "id86" => 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": {
    "id84": 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": "id84",
  "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": {
              "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": "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": {
    "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 arrow from non deleted bindable elements on deletion and rebind on undo > [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": 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": "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": 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": "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": 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": "id58",
    "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.58579",
      0,
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id56",
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 10,
  "width": "98.58579",
  "x": "0.70711",
  "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": {
              "id61": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id61" => Delta {
            "deleted": {
              "isDeleted": false,
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
            },
            "inserted": {
              "isDeleted": true,
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
            },
          },
        },
        "updated": Map {
          "id56" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id61",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
          "id58" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id61",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
        },
      },
    },
  ],
  "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",
                "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,
                ],
                [
                  100,
                  0,
                ],
              ],
              "roughness": 1,
              "roundness": {
                "type": 2,
              },
              "startArrowhead": null,
              "startBinding": {
                "elementId": "id56",
                "focus": 0,
                "gap": 1,
              },
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": 100,
              "x": 0,
              "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 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": {
    "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 undo and rebind on redo > [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 undo and rebind on redo > [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": 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": "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 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": "id52",
    "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.58579",
      0,
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id50",
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 10,
  "width": "98.58579",
  "x": "0.70711",
  "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 {
          "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",
                "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,
                ],
                [
                  100,
                  0,
                ],
              ],
              "roughness": 1,
              "roundness": {
                "type": 2,
              },
              "startArrowhead": null,
              "startBinding": {
                "elementId": "id50",
                "focus": 0,
                "gap": 1,
              },
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": 100,
              "x": 0,
              "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 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": {
    "id62": true,
  },
  "resizingElement": null,
  "scrollX": 0,
  "scrollY": 0,
  "searchMatches": [],
  "selectedElementIds": {
    "id67": 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": "id63",
      "type": "text",
    },
    {
      "id": "id67",
      "type": "arrow",
    },
  ],
  "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": 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": "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": 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": "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": 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": "id64",
    "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.58579",
      0,
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id62",
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 10,
  "width": "98.58579",
  "x": "0.70711",
  "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 {
          "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",
                "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,
                ],
                [
                  100,
                  0,
                ],
              ],
              "roughness": 1,
              "roundness": {
                "type": 2,
              },
              "startArrowhead": null,
              "startBinding": {
                "elementId": "id62",
                "focus": 0,
                "gap": 1,
              },
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": 100,
              "x": 0,
              "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": [],
            },
          },
        },
      },
    },
  ],
}
`;

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": {
    "id68": 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": "id73",
      "type": "arrow",
    },
    {
      "id": "id69",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id68",
  "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": "id68",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id69",
  "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": "id73",
      "type": "arrow",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id70",
  "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": "id70",
    "focus": -0,
    "gap": 1,
  },
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 0,
  "id": "id73",
  "index": "a3",
  "isDeleted": false,
  "lastCommittedPoint": null,
  "link": null,
  "locked": false,
  "opacity": 100,
  "points": [
    [
      0,
      0,
    ],
    [
      "98.58579",
      0,
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id68",
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 10,
  "width": "98.58579",
  "x": "0.70711",
  "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": {
              "id68": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id68" => Delta {
            "deleted": {
              "isDeleted": false,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
          "id69" => Delta {
            "deleted": {
              "isDeleted": false,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
        },
        "updated": Map {
          "id73" => Delta {
            "deleted": {
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
              "startBinding": {
                "elementId": "id68",
                "focus": 0,
                "gap": 1,
              },
            },
            "inserted": {
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
              "startBinding": null,
            },
          },
        },
      },
    },
  ],
  "undoStack": [
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id68" => 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,
            },
          },
          "id69" => 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,
            },
          },
          "id70" => 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": {
              "id68": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "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": {},
          },
          "inserted": {
            "selectedElementIds": {
              "id69": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id68" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id69",
                  "type": "text",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
          "id69" => Delta {
            "deleted": {
              "containerId": "id68",
              "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": {
              "id73": true,
            },
            "selectedLinearElementId": "id73",
          },
          "inserted": {
            "selectedElementIds": {
              "id68": true,
            },
            "selectedLinearElementId": null,
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id73" => Delta {
            "deleted": {
              "angle": 0,
              "backgroundColor": "transparent",
              "boundElements": null,
              "customData": undefined,
              "elbowed": false,
              "endArrowhead": "arrow",
              "endBinding": {
                "elementId": "id70",
                "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,
                ],
                [
                  100,
                  0,
                ],
              ],
              "roughness": 1,
              "roundness": {
                "type": 2,
              },
              "startArrowhead": null,
              "startBinding": {
                "elementId": "id68",
                "focus": 0,
                "gap": 1,
              },
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": 100,
              "x": 0,
              "y": 0,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
        },
        "updated": Map {
          "id68" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id73",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
          "id70" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id73",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id68": true,
            },
            "selectedLinearElementId": null,
          },
          "inserted": {
            "selectedElementIds": {
              "id73": true,
            },
            "selectedLinearElementId": "id73",
          },
        },
      },
      "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": {
    "id75": true,
  },
  "resizingElement": null,
  "scrollX": 0,
  "scrollY": 0,
  "searchMatches": [],
  "selectedElementIds": {
    "id75": true,
    "id77": 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": "id80",
      "type": "arrow",
    },
    {
      "id": "id76",
      "type": "text",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id75",
  "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": "id75",
  "customData": undefined,
  "fillStyle": "solid",
  "fontFamily": 5,
  "fontSize": 20,
  "frameId": null,
  "groupIds": [],
  "height": 25,
  "id": "id76",
  "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": "id80",
      "type": "arrow",
    },
  ],
  "customData": undefined,
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 100,
  "id": "id77",
  "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": "id77",
    "focus": -0,
    "gap": 1,
  },
  "fillStyle": "solid",
  "frameId": null,
  "groupIds": [],
  "height": 0,
  "id": "id80",
  "index": "a3",
  "isDeleted": false,
  "lastCommittedPoint": null,
  "link": null,
  "locked": false,
  "opacity": 100,
  "points": [
    [
      0,
      0,
    ],
    [
      "98.58579",
      0,
    ],
  ],
  "roughness": 1,
  "roundness": {
    "type": 2,
  },
  "startArrowhead": null,
  "startBinding": {
    "elementId": "id75",
    "focus": 0,
    "gap": 1,
  },
  "strokeColor": "#1e1e1e",
  "strokeStyle": "solid",
  "strokeWidth": 2,
  "type": "arrow",
  "updated": 1,
  "version": 11,
  "width": "98.58579",
  "x": "0.70711",
  "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": {
              "id75": true,
              "id77": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id75" => Delta {
            "deleted": {
              "isDeleted": false,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
          "id76" => Delta {
            "deleted": {
              "isDeleted": false,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
          "id77" => Delta {
            "deleted": {
              "isDeleted": false,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
        },
        "updated": Map {
          "id80" => Delta {
            "deleted": {
              "endBinding": {
                "elementId": "id77",
                "focus": -0,
                "gap": 1,
              },
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
              "startBinding": {
                "elementId": "id75",
                "focus": 0,
                "gap": 1,
              },
            },
            "inserted": {
              "endBinding": null,
              "points": [
                [
                  0,
                  0,
                ],
                [
                  100,
                  0,
                ],
              ],
              "startBinding": null,
            },
          },
        },
      },
    },
  ],
  "undoStack": [
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {},
          "inserted": {},
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id75" => 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,
            },
          },
          "id76" => 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,
            },
          },
          "id77" => 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": {
              "id75": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id76": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {},
          },
          "inserted": {
            "selectedElementIds": {
              "id76": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {
          "id75" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id76",
                  "type": "text",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
          "id76" => Delta {
            "deleted": {
              "containerId": "id75",
              "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": {
              "id80": true,
            },
            "selectedLinearElementId": "id80",
          },
          "inserted": {
            "selectedElementIds": {
              "id75": true,
            },
            "selectedLinearElementId": null,
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id80" => Delta {
            "deleted": {
              "angle": 0,
              "backgroundColor": "transparent",
              "boundElements": null,
              "customData": undefined,
              "elbowed": false,
              "endArrowhead": "arrow",
              "endBinding": {
                "elementId": "id77",
                "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,
                ],
                [
                  100,
                  0,
                ],
              ],
              "roughness": 1,
              "roundness": {
                "type": 2,
              },
              "startArrowhead": null,
              "startBinding": {
                "elementId": "id75",
                "focus": 0,
                "gap": 1,
              },
              "strokeColor": "#1e1e1e",
              "strokeStyle": "solid",
              "strokeWidth": 2,
              "type": "arrow",
              "width": 100,
              "x": 0,
              "y": 0,
            },
            "inserted": {
              "isDeleted": true,
            },
          },
        },
        "updated": Map {
          "id75" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id80",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
          "id77" => Delta {
            "deleted": {
              "boundElements": [
                {
                  "id": "id80",
                  "type": "arrow",
                },
              ],
            },
            "inserted": {
              "boundElements": [],
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id75": true,
            },
            "selectedLinearElementId": null,
          },
          "inserted": {
            "selectedElementIds": {
              "id80": true,
            },
            "selectedLinearElementId": "id80",
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id77": 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": {
    "id45": true,
  },
  "resizingElement": null,
  "scrollX": 0,
  "scrollY": 0,
  "searchMatches": [],
  "selectedElementIds": {
    "id45": true,
    "id47": 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": "id46",
  "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": "id45",
  "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": "id47",
  "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": {
              "id45": true,
            },
          },
          "inserted": {
            "selectedElementIds": {},
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id45" => 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": {
              "id46": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id45": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id46" => 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": {
              "id47": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id46": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id47" => 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 {
          "id47" => Delta {
            "deleted": {
              "index": "a0V",
            },
            "inserted": {
              "index": "a2",
            },
          },
        },
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id45": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id47": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {},
        "updated": Map {},
      },
    },
    HistoryEntry {
      "appStateChange": AppStateChange {
        "delta": Delta {
          "deleted": {
            "selectedElementIds": {
              "id47": 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 {
          "id45" => Delta {
            "deleted": {
              "index": "a2",
            },
            "inserted": {
              "index": "Zz",
            },
          },
          "id47" => 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": {
    "id42": true,
    "id44": true,
  },
  "selectedElementsAreBeingDragged": false,
  "selectedGroupIds": {
    "id43": 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": [
    "id43",
  ],
  "height": 100,
  "id": "id42",
  "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": [
    "id43",
  ],
  "height": 100,
  "id": "id44",
  "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": [
    "id40",
  ],
  "height": 100,
  "id": "id39",
  "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": [
    "id40",
  ],
  "height": 100,
  "id": "id41",
  "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": {
              "id42": true,
              "id44": true,
            },
            "selectedGroupIds": {
              "id43": true,
            },
          },
          "inserted": {
            "selectedElementIds": {
              "id35": true,
              "id36": true,
            },
            "selectedGroupIds": {
              "A": true,
            },
          },
        },
      },
      "elementsChange": ElementsChange {
        "added": Map {},
        "removed": Map {
          "id42" => Delta {
            "deleted": {
              "angle": 0,
              "backgroundColor": "transparent",
              "boundElements": null,
              "customData": undefined,
              "fillStyle": "solid",
              "frameId": null,
              "groupIds": [
                "id43",
              ],
              "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,
            },
          },
          "id44" => Delta {
            "deleted": {
              "angle": 0,
              "backgroundColor": "transparent",
              "boundElements": null,
              "customData": undefined,
              "fillStyle": "solid",
              "frameId": null,
              "groupIds": [
                "id43",
              ],
              "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`;
