19940 lines
475 KiB
Plaintext
19940 lines
475 KiB
Plaintext
// 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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id691": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id691": 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": "id687",
|
|
"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": "id688",
|
|
"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": 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": "id702",
|
|
"fixedPoint": [
|
|
"0.50000",
|
|
1,
|
|
],
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": "102.45605",
|
|
"id": "id691",
|
|
"index": "a2",
|
|
"isDeleted": false,
|
|
"lastCommittedPoint": null,
|
|
"link": null,
|
|
"locked": false,
|
|
"opacity": 100,
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
"102.80179",
|
|
"102.45605",
|
|
],
|
|
],
|
|
"roughness": 1,
|
|
"roundness": {
|
|
"type": 2,
|
|
},
|
|
"startArrowhead": null,
|
|
"startBinding": null,
|
|
"strokeColor": "#1e1e1e",
|
|
"strokeStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"type": "arrow",
|
|
"updated": 1,
|
|
"version": 35,
|
|
"width": "102.80179",
|
|
"x": "-0.42182",
|
|
"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": "id691",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 50,
|
|
"id": "id702",
|
|
"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": 14,
|
|
"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] 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 the arrow got bound to a different element in the meantime > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id688": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id691",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"id691": {
|
|
"deleted": {
|
|
"endBinding": {
|
|
"elementId": "id702",
|
|
"fixedPoint": [
|
|
"0.50000",
|
|
1,
|
|
],
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"height": "70.45017",
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
"100.70774",
|
|
"70.45017",
|
|
],
|
|
],
|
|
"startBinding": {
|
|
"elementId": "id687",
|
|
"focus": "0.02970",
|
|
"gap": 1,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"endBinding": {
|
|
"elementId": "id688",
|
|
"focus": "-0.02000",
|
|
"gap": 1,
|
|
},
|
|
"height": "0.09250",
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
"98.58579",
|
|
"0.09250",
|
|
],
|
|
],
|
|
"startBinding": {
|
|
"elementId": "id687",
|
|
"focus": "0.02000",
|
|
"gap": 1,
|
|
},
|
|
},
|
|
},
|
|
"id702": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id691",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id709",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id687": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id691",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"id691": {
|
|
"deleted": {
|
|
"height": "102.45584",
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
"102.79971",
|
|
"102.45584",
|
|
],
|
|
],
|
|
"startBinding": null,
|
|
"y": 0,
|
|
},
|
|
"inserted": {
|
|
"height": "70.33521",
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
"100.78887",
|
|
"70.33521",
|
|
],
|
|
],
|
|
"startBinding": {
|
|
"elementId": "id687",
|
|
"focus": "0.02970",
|
|
"gap": 1,
|
|
},
|
|
"y": "35.20327",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id710",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id687": {
|
|
"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,
|
|
},
|
|
},
|
|
"id688": {
|
|
"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": {},
|
|
},
|
|
"id": "id690",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id691": true,
|
|
},
|
|
"selectedLinearElementId": "id691",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id691": {
|
|
"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": {},
|
|
},
|
|
"id": "id693",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id668": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id668": 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": "id664",
|
|
"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": 19,
|
|
"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": "id665",
|
|
"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": "id668",
|
|
"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": 31,
|
|
"width": 100,
|
|
"x": "149.29289",
|
|
"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] 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 bindings when both are updated through the history and there are no conflicting updates in the meantime > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id665": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id668",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"id668": {
|
|
"deleted": {
|
|
"endBinding": null,
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
},
|
|
"inserted": {
|
|
"endBinding": {
|
|
"elementId": "id665",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id685",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id664": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id668",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"id668": {
|
|
"deleted": {
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
"startBinding": null,
|
|
},
|
|
"inserted": {
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
"startBinding": {
|
|
"elementId": "id664",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id686",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id664": {
|
|
"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,
|
|
},
|
|
},
|
|
"id665": {
|
|
"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": {},
|
|
},
|
|
"id": "id667",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id668": true,
|
|
},
|
|
"selectedLinearElementId": "id668",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id668": {
|
|
"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": {},
|
|
},
|
|
"id": "id670",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id712",
|
|
"fixedPoint": [
|
|
"0.50000",
|
|
1,
|
|
],
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": "1.30038",
|
|
"id": "id715",
|
|
"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": "id711",
|
|
"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": "id715",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id711",
|
|
"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": "id715",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id712",
|
|
"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] 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 arrow when it's bindable elements are added through the history > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id711": {
|
|
"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,
|
|
},
|
|
},
|
|
"id712": {
|
|
"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": {
|
|
"id715": {
|
|
"deleted": {
|
|
"endBinding": {
|
|
"elementId": "id712",
|
|
"fixedPoint": [
|
|
"0.50000",
|
|
1,
|
|
],
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"startBinding": {
|
|
"elementId": "id711",
|
|
"fixedPoint": [
|
|
1,
|
|
"0.50000",
|
|
],
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"endBinding": null,
|
|
"startBinding": null,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id719",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id721",
|
|
"fixedPoint": [
|
|
1,
|
|
"0.50000",
|
|
],
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": "1.30038",
|
|
"id": "id725",
|
|
"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": "id720",
|
|
"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": "id725",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id720",
|
|
"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": "id725",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id721",
|
|
"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] 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 rebind remotely added bindable elements when it's arrow is added through the history > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id725": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"elbowed": false,
|
|
"endArrowhead": null,
|
|
"endBinding": {
|
|
"elementId": "id721",
|
|
"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": "id720",
|
|
"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": {
|
|
"id720": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id725",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id721": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id725",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id731",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id732",
|
|
"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": "id733",
|
|
"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] 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 unbind remotely deleted bindable elements from arrow when the arrow is added through the history > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id732": {
|
|
"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,
|
|
},
|
|
},
|
|
"id733": {
|
|
"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": {},
|
|
},
|
|
"id": "id735",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id740": 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": "id740",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id736",
|
|
"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": "id740",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id737",
|
|
"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": "id737",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": "374.05754",
|
|
"id": "id740",
|
|
"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": "id736",
|
|
"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] 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 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] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id736": {
|
|
"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,
|
|
},
|
|
},
|
|
"id737": {
|
|
"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": {},
|
|
},
|
|
"id": "id739",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id740": true,
|
|
},
|
|
"selectedLinearElementId": "id740",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id740": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"elbowed": false,
|
|
"endArrowhead": "arrow",
|
|
"endBinding": {
|
|
"elementId": "id737",
|
|
"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": "id736",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"strokeColor": "#1e1e1e",
|
|
"strokeStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"type": "arrow",
|
|
"width": 100,
|
|
"x": 0,
|
|
"y": 0,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id736": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id740",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id737": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id740",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id744",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id618",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id613",
|
|
"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": "id614",
|
|
"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": "id613",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id618",
|
|
"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] 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 container is added through the history > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id613": {
|
|
"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,
|
|
},
|
|
},
|
|
"id614": {
|
|
"deleted": {
|
|
"containerId": null,
|
|
},
|
|
"inserted": {
|
|
"containerId": null,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id622",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 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] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id628",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id623",
|
|
"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": "id623",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id624",
|
|
"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": "id623",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id628",
|
|
"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] 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 preserve latest remotely added binding and unbind previous one when the text is added through history > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"id624": {
|
|
"deleted": {
|
|
"containerId": "id623",
|
|
"isDeleted": true,
|
|
},
|
|
"inserted": {
|
|
"containerId": null,
|
|
"isDeleted": false,
|
|
},
|
|
},
|
|
},
|
|
"removed": {},
|
|
"updated": {
|
|
"id623": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id624",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id632",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 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] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id582",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id577",
|
|
"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": "id577",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id582",
|
|
"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": "id578",
|
|
"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] 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 container got bound to a different text in the meantime > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id577": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id582",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id578",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"id578": {
|
|
"deleted": {
|
|
"containerId": null,
|
|
},
|
|
"inserted": {
|
|
"containerId": "id577",
|
|
},
|
|
},
|
|
"id582": {
|
|
"deleted": {
|
|
"containerId": "id577",
|
|
},
|
|
"inserted": {
|
|
"containerId": null,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id586",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 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] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id587",
|
|
"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": "id588",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 60,
|
|
"id": "id592",
|
|
"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": "id592",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 50,
|
|
"id": "id588",
|
|
"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] 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 the text got bound to a different container in the meantime > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id587": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id588",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"id588": {
|
|
"deleted": {
|
|
"containerId": "id592",
|
|
},
|
|
"inserted": {
|
|
"containerId": "id587",
|
|
},
|
|
},
|
|
"id592": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id588",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id596",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 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] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id568",
|
|
"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": "id569",
|
|
"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] 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 bindings when both are updated through the history and there no conflicting updates in the meantime > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id568": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id569",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"id569": {
|
|
"deleted": {
|
|
"containerId": null,
|
|
},
|
|
"inserted": {
|
|
"containerId": "id568",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id576",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 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] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id598",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id597",
|
|
"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": "id597",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id598",
|
|
"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] 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 bound text when it's container is added through the history > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id597": {
|
|
"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": {
|
|
"id598": {
|
|
"deleted": {
|
|
"containerId": "id597",
|
|
},
|
|
"inserted": {
|
|
"containerId": null,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id604",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id606",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id605",
|
|
"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": "id605",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id606",
|
|
"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] 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 rebind remotely added container when it's bound text is added through the history > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id606": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"autoResize": true,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"containerId": "id605",
|
|
"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": {
|
|
"id605": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id606",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id612",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id658",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id657",
|
|
"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": "id657",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id658",
|
|
"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] 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 bound text to match container dimensions when the bound text is updated through the history > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id658": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"x": 15,
|
|
"y": 15,
|
|
},
|
|
"inserted": {
|
|
"angle": 0,
|
|
"x": 15,
|
|
"y": 15,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id663",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 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] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id650",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id649",
|
|
"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": "id649",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id650",
|
|
"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] 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 redraw remotely added bound text when it's container is updated through the history > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id649": {
|
|
"deleted": {
|
|
"angle": 90,
|
|
"x": 200,
|
|
"y": 200,
|
|
},
|
|
"inserted": {
|
|
"angle": 0,
|
|
"x": 10,
|
|
"y": 10,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id656",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id633",
|
|
"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": "id633",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id634",
|
|
"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] 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 bound text from container when the container is added through the history > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id633": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id634",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {},
|
|
},
|
|
"id": "id640",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id642",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id641",
|
|
"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": "id642",
|
|
"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] 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 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] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id642": {
|
|
"deleted": {
|
|
"containerId": null,
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"containerId": "id641",
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {},
|
|
},
|
|
"id": "id648",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id746",
|
|
"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": "id745",
|
|
"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] 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 > 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] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id746": {
|
|
"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": {},
|
|
},
|
|
"id": "id755",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id746": {
|
|
"deleted": {
|
|
"frameId": "id745",
|
|
},
|
|
"inserted": {
|
|
"frameId": null,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id756",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id469": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"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": "id468",
|
|
"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": "id469",
|
|
"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] 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 editing group contains only remotely deleted elements > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should iterate through the history when editing group contains only remotely deleted elements > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id468": true,
|
|
"id469": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"A": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedGroupIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id468": {
|
|
"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,
|
|
},
|
|
},
|
|
"id469": {
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id481",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"editingGroupId": "A",
|
|
"selectedElementIds": {},
|
|
"selectedGroupIds": {},
|
|
},
|
|
"inserted": {
|
|
"editingGroupId": null,
|
|
"selectedElementIds": {
|
|
"id468": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"A": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id482",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"editingGroupId": null,
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"editingGroupId": "A",
|
|
"selectedElementIds": {
|
|
"id469": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id485",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id418": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"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": "id410",
|
|
"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": "id413",
|
|
"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": "id418",
|
|
"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] 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 element changes relate only to remotely deleted elements > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should iterate through the history when element changes relate only to remotely deleted elements > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id410": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id410": {
|
|
"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": {},
|
|
},
|
|
"id": "id412",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id413": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id410": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id413": {
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id428",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id413": {
|
|
"deleted": {
|
|
"backgroundColor": "#ffc9c9",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "transparent",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id429",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id418": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id413": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id418": {
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id430",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id418": {
|
|
"deleted": {
|
|
"x": 50,
|
|
"y": 50,
|
|
},
|
|
"inserted": {
|
|
"x": 30,
|
|
"y": 30,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id431",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id433": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id433": true,
|
|
"id434": 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": "id432",
|
|
"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": "id433",
|
|
"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": "id434",
|
|
"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] 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 elements relate only to remotely deleted elements > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should iterate through the history when selected elements relate only to remotely deleted elements > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id432": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id432": {
|
|
"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,
|
|
},
|
|
},
|
|
"id433": {
|
|
"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,
|
|
},
|
|
},
|
|
"id434": {
|
|
"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": {},
|
|
},
|
|
"id": "id437",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id433": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id432": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id450",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id434": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id451",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id452": true,
|
|
"id453": true,
|
|
"id454": true,
|
|
"id455": 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": "id452",
|
|
"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": "id453",
|
|
"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": "id454",
|
|
"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": "id455",
|
|
"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] 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 groups contain only remotely deleted elements > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should iterate through the history when selected groups contain only remotely deleted elements > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id452": true,
|
|
"id453": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"A": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedGroupIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id466",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id454": true,
|
|
"id455": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"B": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedGroupIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id467",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id486": 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": "id486",
|
|
"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": 0,
|
|
"y": 0,
|
|
}
|
|
`;
|
|
|
|
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`] = `9`;
|
|
|
|
exports[`history > multiplayer undo/redo > should iterate through the history when selected or editing linear element was remotely deleted > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should iterate through the history when selected or editing linear element was remotely deleted > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id486": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id486": {
|
|
"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": {},
|
|
},
|
|
"id": "id488",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedLinearElementId": "id486",
|
|
},
|
|
"inserted": {
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id498",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"editingLinearElementId": "id486",
|
|
},
|
|
"inserted": {
|
|
"editingLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id499",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"editingLinearElementId": null,
|
|
},
|
|
"inserted": {
|
|
"editingLinearElementId": "id486",
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id500",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id401",
|
|
"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] 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 when element change relates to remotely deleted element > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should iterate through the history when when element change relates to remotely deleted element > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id401": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id401": {
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id408",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id401": {
|
|
"deleted": {
|
|
"backgroundColor": "#ffec99",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "transparent",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id409",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id514",
|
|
"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": "id515",
|
|
"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": "id513",
|
|
"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] 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 all indices > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id514": {
|
|
"deleted": {
|
|
"index": "a1",
|
|
},
|
|
"inserted": {
|
|
"index": "a3",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id523",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id514": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"id513": {
|
|
"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,
|
|
},
|
|
},
|
|
"id514": {
|
|
"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,
|
|
},
|
|
},
|
|
"id515": {
|
|
"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": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id524",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 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] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id501",
|
|
"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": "id503",
|
|
"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": "id502",
|
|
"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] 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 iterate through the history when z-index changes do not produce visible change and we synced changed indices > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id502": {
|
|
"deleted": {
|
|
"index": "a1",
|
|
},
|
|
"inserted": {
|
|
"index": "Zz",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id511",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id502": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"id501": {
|
|
"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,
|
|
},
|
|
},
|
|
"id502": {
|
|
"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,
|
|
},
|
|
},
|
|
"id503": {
|
|
"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": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id512",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 1`] = `[]`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id542": true,
|
|
"id545": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id542": true,
|
|
"id545": 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": "id542",
|
|
"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": "id545",
|
|
"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": "id555",
|
|
"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] 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 dragging > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress dragging > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id542": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id542": {
|
|
"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": {},
|
|
},
|
|
"id": "id563",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id545": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id542": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id545": {
|
|
"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": {},
|
|
},
|
|
"id": "id564",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id542": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id545": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id565",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id545": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id566",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id542": {
|
|
"deleted": {
|
|
"x": 90,
|
|
"y": 90,
|
|
},
|
|
"inserted": {
|
|
"x": 10,
|
|
"y": 10,
|
|
},
|
|
},
|
|
"id545": {
|
|
"deleted": {
|
|
"x": 110,
|
|
"y": 110,
|
|
},
|
|
"inserted": {
|
|
"x": 30,
|
|
"y": 30,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id567",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id525",
|
|
"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": "id526",
|
|
"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] 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 freedraw > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress freedraw > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id525": {
|
|
"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": {},
|
|
},
|
|
"id": "id530",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id531": 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": "id531",
|
|
"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": "id535",
|
|
"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] 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 let remote changes to interfere with in progress resizing > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should not let remote changes to interfere with in progress resizing > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id531": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id531": {
|
|
"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": {},
|
|
},
|
|
"id": "id540",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id531": {
|
|
"deleted": {
|
|
"height": 90,
|
|
"width": 90,
|
|
},
|
|
"inserted": {
|
|
"height": 10,
|
|
"width": 10,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id541",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id333": 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": "id333",
|
|
"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": "id338",
|
|
"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] 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 elements > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id333": {
|
|
"deleted": {
|
|
"backgroundColor": "transparent",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "#ffc9c9",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id341",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > multiplayer undo/redo > should not override remote changes on different elements > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id333": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id333": {
|
|
"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": {},
|
|
},
|
|
"id": "id335",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > multiplayer undo/redo > should not override remote changes on different properties > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id342": 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": "id342",
|
|
"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] 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 not override remote changes on different properties > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should not override remote changes on different properties > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id342": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id342": {
|
|
"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": {},
|
|
},
|
|
"id": "id344",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id342": {
|
|
"deleted": {
|
|
"backgroundColor": "#ffc9c9",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "transparent",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id348",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id371",
|
|
"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": "id372",
|
|
"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": "id375",
|
|
"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": "id376",
|
|
"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] 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 groups on undo, but restore them on redo > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should override remotely added groups on undo, but restore them on redo > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id371": {
|
|
"deleted": {
|
|
"groupIds": [
|
|
"A",
|
|
"B",
|
|
],
|
|
},
|
|
"inserted": {
|
|
"groupIds": [],
|
|
},
|
|
},
|
|
"id372": {
|
|
"deleted": {
|
|
"groupIds": [
|
|
"A",
|
|
"B",
|
|
],
|
|
},
|
|
"inserted": {
|
|
"groupIds": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id378",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id379": 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": "id379",
|
|
"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] 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`] = `14`;
|
|
|
|
exports[`history > multiplayer undo/redo > should override remotely added points on undo, but restore them on redo > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should override remotely added points on undo, but restore them on redo > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id379": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id379": {
|
|
"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": {},
|
|
},
|
|
"id": "id389",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id379": {
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id390",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedLinearElementId": "id379",
|
|
},
|
|
"inserted": {
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id391",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id392",
|
|
"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] 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 redistribute deltas when element gets removed locally but is restored remotely > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > multiplayer undo/redo > should redistribute deltas when element gets removed locally but is restored remotely > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id392": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id392": {
|
|
"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": {},
|
|
},
|
|
"id": "id399",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id392": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id392": {
|
|
"deleted": {
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": false,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id400",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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] 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 redraw arrows on undo > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"6Rm4g567UQM4WjLwej2Vc": {
|
|
"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": {},
|
|
"updated": {
|
|
"KPrBI4g_v9qUB1XxYLgSz": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "6Rm4g567UQM4WjLwej2Vc",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
"u2JGnnmoJ0VATV4vCNJE5": {
|
|
"deleted": {
|
|
"boundElements": [],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "6Rm4g567UQM4WjLwej2Vc",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id369",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"KPrBI4g_v9qUB1XxYLgSz": {
|
|
"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": {
|
|
"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": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id370",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > multiplayer undo/redo > should redraw arrows on undo > [end of test] undo stack 1`] = `[]`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id349": 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": "id349",
|
|
"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] 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 > multiplayer undo/redo > should update history entries after remote changes on the same properties > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id349": {
|
|
"deleted": {
|
|
"backgroundColor": "#d0bfff",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "#ffec99",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id360",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id349": {
|
|
"deleted": {
|
|
"backgroundColor": "transparent",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "#d0bfff",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id361",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > multiplayer undo/redo > should update history entries after remote changes on the same properties > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id349": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id349": {
|
|
"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": {},
|
|
},
|
|
"id": "id351",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id329",
|
|
"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] 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 > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id329": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"id329": {
|
|
"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": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id332",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > remounting undo/redo buttons should initialize undo/redo state correctly > [end of test] undo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id50": 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": "id46",
|
|
"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": "id50",
|
|
"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] 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 clear the redo stack on elements change > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should clear the redo stack on elements change > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id50": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id50": {
|
|
"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": {},
|
|
},
|
|
"id": "id52",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id148",
|
|
"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": "id153",
|
|
"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": 40,
|
|
"y": -20,
|
|
}
|
|
`;
|
|
|
|
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": "id157",
|
|
"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": 130,
|
|
"y": -30,
|
|
}
|
|
`;
|
|
|
|
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 entry when selecting freedraw > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should create entry when selecting freedraw > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id148": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id148": {
|
|
"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": {},
|
|
},
|
|
"id": "id150",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id148": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id152",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id157": {
|
|
"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": 130,
|
|
"y": -30,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {},
|
|
},
|
|
"id": "id159",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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] 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 create new history entry on scene import via drag&drop > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should create new history entry on scene import via drag&drop > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"viewBackgroundColor": "#000",
|
|
},
|
|
"inserted": {
|
|
"viewBackgroundColor": "#FFF",
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"A": {
|
|
"deleted": {
|
|
"isDeleted": true,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": false,
|
|
},
|
|
},
|
|
},
|
|
"removed": {
|
|
"B": {
|
|
"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": {},
|
|
},
|
|
"id": "id80",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id323": 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": "id323",
|
|
"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] 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 disable undo/redo buttons when stacks empty > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should disable undo/redo buttons when stacks empty > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id323": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id323": {
|
|
"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": {},
|
|
},
|
|
"id": "id327",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id70": 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": "id70",
|
|
"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] 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`] = `9`;
|
|
|
|
exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should end up with no history entry after initializing scene > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id70": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id70": {
|
|
"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": {},
|
|
},
|
|
"id": "id74",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id53": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"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": "id53",
|
|
"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] 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 iterate through the history when selection changes do not produce visible change > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id53": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id66",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id53": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id67",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id53": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"id53": {
|
|
"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": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id68",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should iterate through the history when selection changes do not produce visible change > [end of test] undo stack 1`] = `[]`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id18": 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": "id15",
|
|
"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": "id18",
|
|
"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] 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 clear the redo stack on standalone appstate change > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should not clear the redo stack on standalone appstate change > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id15": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id15": {
|
|
"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": {},
|
|
},
|
|
"id": "id17",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id15": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id24",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id15": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id27",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id18": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id15": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id18": {
|
|
"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": {},
|
|
},
|
|
"id": "id28",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should not collapse when applying corrupted history entry > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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] 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 collapse when applying corrupted history entry > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should not collapse when applying corrupted history entry > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id3",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id4": true,
|
|
"id5": 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": "id4",
|
|
"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": "id5",
|
|
"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] 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 appstate changes > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should not end up with history entry when there are no appstate changes > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id4": true,
|
|
"id5": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"A": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedGroupIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id4": {
|
|
"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,
|
|
},
|
|
},
|
|
"id5": {
|
|
"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": {},
|
|
},
|
|
"id": "id8",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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": "id10",
|
|
"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": "id11",
|
|
"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] 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 end up with history entry when there are no elements changes > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should not end up with history entry when there are no elements changes > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id10": {
|
|
"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,
|
|
},
|
|
},
|
|
"id11": {
|
|
"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": {},
|
|
},
|
|
"id": "id13",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id29": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id29": 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": "id29",
|
|
"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] 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 not override appstate changes when redo stack is not cleared > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id29": {
|
|
"deleted": {
|
|
"backgroundColor": "#ffc9c9",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "#a5d8ff",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id43",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id29": {
|
|
"deleted": {
|
|
"backgroundColor": "transparent",
|
|
},
|
|
"inserted": {
|
|
"backgroundColor": "#ffc9c9",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id44",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id29": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id45",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should not override appstate changes when redo stack is not cleared > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id29": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id29": {
|
|
"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": {},
|
|
},
|
|
"id": "id31",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support appstate name or viewBackgroundColor change > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"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] 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 appstate name or viewBackgroundColor change > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support appstate name or viewBackgroundColor change > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"name": "New name",
|
|
},
|
|
"inserted": {
|
|
"name": "Old name",
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id88",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"viewBackgroundColor": "#000",
|
|
},
|
|
"inserted": {
|
|
"viewBackgroundColor": "#FFF",
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id89",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id230": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id243": 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": "id231",
|
|
"type": "text",
|
|
},
|
|
{
|
|
"id": "id243",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id230",
|
|
"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": "id230",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id231",
|
|
"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": "id243",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id232",
|
|
"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": "id232",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 0,
|
|
"id": "id243",
|
|
"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": "id230",
|
|
"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] 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 deletion and rebind on undo > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id243": true,
|
|
},
|
|
"selectedLinearElementId": "id243",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id243": {
|
|
"deleted": {
|
|
"isDeleted": false,
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id230": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id243",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id232": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id243",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id248",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id230": {
|
|
"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,
|
|
},
|
|
},
|
|
"id231": {
|
|
"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,
|
|
},
|
|
},
|
|
"id232": {
|
|
"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": {},
|
|
},
|
|
"id": "id234",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id230": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id237",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id231": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id240",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id231": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id230": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id231",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id231": {
|
|
"deleted": {
|
|
"containerId": "id230",
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id242",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id243": true,
|
|
},
|
|
"selectedLinearElementId": "id243",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id230": true,
|
|
},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id243": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"elbowed": false,
|
|
"endArrowhead": "arrow",
|
|
"endBinding": {
|
|
"elementId": "id232",
|
|
"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": "id230",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"strokeColor": "#1e1e1e",
|
|
"strokeStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"type": "arrow",
|
|
"width": 100,
|
|
"x": 0,
|
|
"y": 0,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id230": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id243",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id232": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id243",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id245",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id212": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id225": 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": "id213",
|
|
"type": "text",
|
|
},
|
|
{
|
|
"id": "id225",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id212",
|
|
"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": "id212",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id213",
|
|
"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": "id225",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id214",
|
|
"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": "id214",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 0,
|
|
"id": "id225",
|
|
"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": "id212",
|
|
"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] 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 arrow from non deleted bindable elements on undo and rebind on redo > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id212": {
|
|
"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,
|
|
},
|
|
},
|
|
"id213": {
|
|
"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,
|
|
},
|
|
},
|
|
"id214": {
|
|
"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": {},
|
|
},
|
|
"id": "id216",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id212": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id219",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id213": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id222",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id213": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id212": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id213",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id213": {
|
|
"deleted": {
|
|
"containerId": "id212",
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id224",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id225": true,
|
|
},
|
|
"selectedLinearElementId": "id225",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id212": true,
|
|
},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id225": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"elbowed": false,
|
|
"endArrowhead": "arrow",
|
|
"endBinding": {
|
|
"elementId": "id214",
|
|
"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": "id212",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"strokeColor": "#1e1e1e",
|
|
"strokeStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"type": "arrow",
|
|
"width": 100,
|
|
"x": 0,
|
|
"y": 0,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id212": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id225",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id214": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id225",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id229",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id249": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id262": 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": "id250",
|
|
"type": "text",
|
|
},
|
|
{
|
|
"id": "id262",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id249",
|
|
"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": "id249",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id250",
|
|
"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": "id262",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id251",
|
|
"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": "id251",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 0,
|
|
"id": "id262",
|
|
"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": "id249",
|
|
"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] 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 everything from non deleted elements when iterating through the whole undo stack and vice versa rebind everything on redo > [end of test] redo stack 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] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id249": {
|
|
"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,
|
|
},
|
|
},
|
|
"id250": {
|
|
"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,
|
|
},
|
|
},
|
|
"id251": {
|
|
"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": {},
|
|
},
|
|
"id": "id270",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id249": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id271",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id250": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id272",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id250": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id249": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id250",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id250": {
|
|
"deleted": {
|
|
"containerId": "id249",
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id273",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id262": true,
|
|
},
|
|
"selectedLinearElementId": "id262",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id249": true,
|
|
},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id262": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"elbowed": false,
|
|
"endArrowhead": "arrow",
|
|
"endBinding": {
|
|
"elementId": "id251",
|
|
"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": "id249",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"strokeColor": "#1e1e1e",
|
|
"strokeStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"type": "arrow",
|
|
"width": 100,
|
|
"x": 0,
|
|
"y": 0,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id249": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id262",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id251": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id262",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id274",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": null,
|
|
"selectedElementIds": {
|
|
"id275": 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": "id288",
|
|
"type": "arrow",
|
|
},
|
|
{
|
|
"id": "id276",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id275",
|
|
"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": "id275",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id276",
|
|
"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": "id288",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id277",
|
|
"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": "id277",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 0,
|
|
"id": "id288",
|
|
"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": "id275",
|
|
"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] 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 rectangle from arrow on deletion and rebind on undo > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id275": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id275": {
|
|
"deleted": {
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
"id276": {
|
|
"deleted": {
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id288": {
|
|
"deleted": {
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
"startBinding": {
|
|
"elementId": "id275",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
"startBinding": null,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id296",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangle from arrow on deletion and rebind on undo > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id275": {
|
|
"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,
|
|
},
|
|
},
|
|
"id276": {
|
|
"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,
|
|
},
|
|
},
|
|
"id277": {
|
|
"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": {},
|
|
},
|
|
"id": "id279",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id275": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id282",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id276": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id285",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id276": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id275": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id276",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id276": {
|
|
"deleted": {
|
|
"containerId": "id275",
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id287",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id288": true,
|
|
},
|
|
"selectedLinearElementId": "id288",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id275": true,
|
|
},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id288": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"elbowed": false,
|
|
"endArrowhead": "arrow",
|
|
"endBinding": {
|
|
"elementId": "id277",
|
|
"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": "id275",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"strokeColor": "#1e1e1e",
|
|
"strokeStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"type": "arrow",
|
|
"width": 100,
|
|
"x": 0,
|
|
"y": 0,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id275": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id288",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id277": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id288",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id290",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id275": true,
|
|
},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id288": true,
|
|
},
|
|
"selectedLinearElementId": "id288",
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id293",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id297": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id297": true,
|
|
"id299": 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": "id310",
|
|
"type": "arrow",
|
|
},
|
|
{
|
|
"id": "id298",
|
|
"type": "text",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id297",
|
|
"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": "id297",
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"fontFamily": 5,
|
|
"fontSize": 20,
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 25,
|
|
"id": "id298",
|
|
"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": "id310",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 100,
|
|
"id": "id299",
|
|
"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": "id299",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [],
|
|
"height": 0,
|
|
"id": "id310",
|
|
"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": "id297",
|
|
"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] 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 bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] redo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id297": true,
|
|
"id299": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id297": {
|
|
"deleted": {
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
"id298": {
|
|
"deleted": {
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
"id299": {
|
|
"deleted": {
|
|
"isDeleted": false,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id310": {
|
|
"deleted": {
|
|
"endBinding": {
|
|
"elementId": "id299",
|
|
"focus": -0,
|
|
"gap": 1,
|
|
},
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
"startBinding": {
|
|
"elementId": "id297",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"endBinding": null,
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
100,
|
|
0,
|
|
],
|
|
],
|
|
"startBinding": null,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id321",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support bidirectional bindings > should unbind rectangles from arrow on deletion and rebind on undo > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id297": {
|
|
"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,
|
|
},
|
|
},
|
|
"id298": {
|
|
"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,
|
|
},
|
|
},
|
|
"id299": {
|
|
"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": {},
|
|
},
|
|
"id": "id301",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id297": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id304",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id298": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id307",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id298": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id297": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id298",
|
|
"type": "text",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id298": {
|
|
"deleted": {
|
|
"containerId": "id297",
|
|
"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,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id309",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id310": true,
|
|
},
|
|
"selectedLinearElementId": "id310",
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id297": true,
|
|
},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id310": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"elbowed": false,
|
|
"endArrowhead": "arrow",
|
|
"endBinding": {
|
|
"elementId": "id299",
|
|
"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": "id297",
|
|
"focus": 0,
|
|
"gap": 1,
|
|
},
|
|
"strokeColor": "#1e1e1e",
|
|
"strokeStyle": "solid",
|
|
"strokeWidth": 2,
|
|
"type": "arrow",
|
|
"width": 100,
|
|
"x": 0,
|
|
"y": 0,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": true,
|
|
},
|
|
},
|
|
},
|
|
"updated": {
|
|
"id297": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id310",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
"id299": {
|
|
"deleted": {
|
|
"boundElements": [
|
|
{
|
|
"id": "id310",
|
|
"type": "arrow",
|
|
},
|
|
],
|
|
},
|
|
"inserted": {
|
|
"boundElements": [],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id312",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id297": true,
|
|
},
|
|
"selectedLinearElementId": null,
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id310": true,
|
|
},
|
|
"selectedLinearElementId": "id310",
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id315",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id299": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id318",
|
|
},
|
|
]
|
|
`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] appState 1`] = `
|
|
{
|
|
"activeEmbeddable": null,
|
|
"activeTool": {
|
|
"customType": null,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id189": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id189": true,
|
|
"id195": 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": "id192",
|
|
"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": "id189",
|
|
"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": "id195",
|
|
"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] 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 changes in elements' order > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support changes in elements' order > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id189": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id189": {
|
|
"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": {},
|
|
},
|
|
"id": "id191",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id192": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id189": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id192": {
|
|
"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": {},
|
|
},
|
|
"id": "id194",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id195": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id192": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id195": {
|
|
"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": {},
|
|
},
|
|
"id": "id197",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id195": {
|
|
"deleted": {
|
|
"index": "a0V",
|
|
},
|
|
"inserted": {
|
|
"index": "a2",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id201",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id189": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id195": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id204",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id195": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id207",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id189": {
|
|
"deleted": {
|
|
"index": "a2",
|
|
},
|
|
"inserted": {
|
|
"index": "Zz",
|
|
},
|
|
},
|
|
"id195": {
|
|
"deleted": {
|
|
"index": "a3",
|
|
},
|
|
"inserted": {
|
|
"index": "a0",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id211",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"lastActiveTool": null,
|
|
"locked": false,
|
|
"type": "selection",
|
|
},
|
|
"collaborators": Map {},
|
|
"contextMenu": null,
|
|
"croppingElementId": null,
|
|
"currentChartType": "bar",
|
|
"currentHoveredFontFamily": null,
|
|
"currentItemArrowType": "round",
|
|
"currentItemBackgroundColor": "transparent",
|
|
"currentItemEndArrowhead": "arrow",
|
|
"currentItemFillStyle": "solid",
|
|
"currentItemFontFamily": 5,
|
|
"currentItemFontSize": 20,
|
|
"currentItemOpacity": 100,
|
|
"currentItemRoughness": 1,
|
|
"currentItemRoundness": "round",
|
|
"currentItemStartArrowhead": null,
|
|
"currentItemStrokeColor": "#1e1e1e",
|
|
"currentItemStrokeStyle": "solid",
|
|
"currentItemStrokeWidth": 2,
|
|
"currentItemTextAlign": "left",
|
|
"cursorButton": "up",
|
|
"defaultSidebarDockedPreference": false,
|
|
"editingFrame": null,
|
|
"editingGroupId": null,
|
|
"editingLinearElement": null,
|
|
"editingTextElement": null,
|
|
"elementsToHighlight": null,
|
|
"errorMessage": null,
|
|
"exportBackground": true,
|
|
"exportEmbedScene": false,
|
|
"exportScale": 1,
|
|
"exportWithDarkMode": false,
|
|
"fileHandle": null,
|
|
"followedBy": Set {},
|
|
"frameRendering": {
|
|
"clip": true,
|
|
"enabled": true,
|
|
"name": true,
|
|
"outline": true,
|
|
},
|
|
"frameToHighlight": null,
|
|
"gridModeEnabled": false,
|
|
"gridSize": 20,
|
|
"gridStep": 5,
|
|
"height": 0,
|
|
"hoveredElementIds": {},
|
|
"isBindingEnabled": true,
|
|
"isCropping": false,
|
|
"isLoading": false,
|
|
"isResizing": false,
|
|
"isRotating": false,
|
|
"lastPointerDownWith": "mouse",
|
|
"multiElement": null,
|
|
"newElement": null,
|
|
"objectsSnapModeEnabled": false,
|
|
"offsetLeft": 0,
|
|
"offsetTop": 0,
|
|
"openDialog": null,
|
|
"openMenu": null,
|
|
"openPopup": null,
|
|
"openSidebar": null,
|
|
"originSnapOffset": null,
|
|
"pasteDialog": {
|
|
"data": null,
|
|
"shown": false,
|
|
},
|
|
"penDetected": false,
|
|
"penMode": false,
|
|
"pendingImageElementId": null,
|
|
"previousSelectedElementIds": {
|
|
"id161": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"selectedElementIds": {
|
|
"id184": true,
|
|
"id186": true,
|
|
},
|
|
"selectedElementsAreBeingDragged": false,
|
|
"selectedGroupIds": {
|
|
"id185": 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": "id160",
|
|
"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": "id161",
|
|
"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": [
|
|
"id185",
|
|
],
|
|
"height": 100,
|
|
"id": "id184",
|
|
"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": 4,
|
|
"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": [
|
|
"id185",
|
|
],
|
|
"height": 100,
|
|
"id": "id186",
|
|
"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": 4,
|
|
"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": [
|
|
"id177",
|
|
],
|
|
"height": 100,
|
|
"id": "id176",
|
|
"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": 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": [
|
|
"id177",
|
|
],
|
|
"height": 100,
|
|
"id": "id178",
|
|
"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": 7,
|
|
"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] 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 duplication of groups, appstate group selection and editing group > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support duplication of groups, appstate group selection and editing group > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id160": true,
|
|
"id161": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"A": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
"selectedGroupIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id160": {
|
|
"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,
|
|
},
|
|
},
|
|
"id161": {
|
|
"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": {},
|
|
},
|
|
"id": "id164",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id184": true,
|
|
"id186": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"id185": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id160": true,
|
|
"id161": true,
|
|
},
|
|
"selectedGroupIds": {
|
|
"A": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id184": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [
|
|
"id185",
|
|
],
|
|
"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,
|
|
},
|
|
},
|
|
"id186": {
|
|
"deleted": {
|
|
"angle": 0,
|
|
"backgroundColor": "transparent",
|
|
"boundElements": null,
|
|
"customData": undefined,
|
|
"fillStyle": "solid",
|
|
"frameId": null,
|
|
"groupIds": [
|
|
"id185",
|
|
],
|
|
"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": {},
|
|
},
|
|
"id": "id188",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id93": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"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": "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": 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": "id93",
|
|
"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": "id96",
|
|
"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] 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`] = `29`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support element creation, deletion and appstate element selection change > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id90": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id90": {
|
|
"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": {},
|
|
},
|
|
"id": "id113",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id93": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id90": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id93": {
|
|
"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": {},
|
|
},
|
|
"id": "id114",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id96": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id93": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id96": {
|
|
"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": {},
|
|
},
|
|
"id": "id115",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id93": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id96": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id116",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id96": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id117",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {
|
|
"id93": true,
|
|
"id96": true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {
|
|
"id93": {
|
|
"deleted": {
|
|
"isDeleted": true,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": false,
|
|
},
|
|
},
|
|
"id96": {
|
|
"deleted": {
|
|
"isDeleted": true,
|
|
},
|
|
"inserted": {
|
|
"isDeleted": false,
|
|
},
|
|
},
|
|
},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id118",
|
|
},
|
|
]
|
|
`;
|
|
|
|
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,
|
|
"fromSelection": false,
|
|
"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": {
|
|
"id119": true,
|
|
},
|
|
"resizingElement": null,
|
|
"scrollX": 0,
|
|
"scrollY": 0,
|
|
"searchMatches": null,
|
|
"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 > 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": "id119",
|
|
"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] 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`] = `20`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support linear element creation and points manipulation through the editor > [end of test] redo stack 1`] = `[]`;
|
|
|
|
exports[`history > singleplayer undo/redo > should support linear element creation and points manipulation through the editor > [end of test] undo stack 1`] = `
|
|
[
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedElementIds": {
|
|
"id119": true,
|
|
},
|
|
},
|
|
"inserted": {
|
|
"selectedElementIds": {},
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {
|
|
"id119": {
|
|
"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": {},
|
|
},
|
|
"id": "id142",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id119": {
|
|
"deleted": {
|
|
"lastCommittedPoint": [
|
|
20,
|
|
0,
|
|
],
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
10,
|
|
10,
|
|
],
|
|
[
|
|
20,
|
|
0,
|
|
],
|
|
],
|
|
"width": 20,
|
|
},
|
|
"inserted": {
|
|
"lastCommittedPoint": [
|
|
10,
|
|
10,
|
|
],
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
10,
|
|
10,
|
|
],
|
|
],
|
|
"width": 10,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id143",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"selectedLinearElementId": "id119",
|
|
},
|
|
"inserted": {
|
|
"selectedLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id144",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"editingLinearElementId": "id119",
|
|
},
|
|
"inserted": {
|
|
"editingLinearElementId": null,
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id145",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {},
|
|
"inserted": {},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {
|
|
"id119": {
|
|
"deleted": {
|
|
"height": 20,
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
10,
|
|
10,
|
|
],
|
|
[
|
|
20,
|
|
20,
|
|
],
|
|
],
|
|
},
|
|
"inserted": {
|
|
"height": 10,
|
|
"points": [
|
|
[
|
|
0,
|
|
0,
|
|
],
|
|
[
|
|
10,
|
|
10,
|
|
],
|
|
[
|
|
20,
|
|
0,
|
|
],
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
"id": "id146",
|
|
},
|
|
{
|
|
"appState": AppStateDelta {
|
|
"delta": Delta {
|
|
"deleted": {
|
|
"editingLinearElementId": null,
|
|
},
|
|
"inserted": {
|
|
"editingLinearElementId": "id119",
|
|
},
|
|
},
|
|
},
|
|
"elements": {
|
|
"added": {},
|
|
"removed": {},
|
|
"updated": {},
|
|
},
|
|
"id": "id147",
|
|
},
|
|
]
|
|
`;
|