Updates tests

This commit is contained in:
Steve Ruiz 2021-07-07 14:53:03 +01:00
parent f62166adbf
commit 4a492dcefc
5 changed files with 1250 additions and 4455 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{ {
"document": { "document": {
"id": "0001", "id": "home",
"name": "My Document", "name": "My Document",
"pages": { "pages": {
"page1": { "page1": {
@ -9,74 +9,344 @@
"name": "Page 1", "name": "Page 1",
"childIndex": 0, "childIndex": 0,
"shapes": { "shapes": {
"5ca167d7-54de-47c9-aa8f-86affa25e44d": { "e43559cb-6f41-4ae4-9c49-158ed1ad2f72": {
"id": "5ca167d7-54de-47c9-aa8f-86affa25e44d", "id": "e43559cb-6f41-4ae4-9c49-158ed1ad2f72",
"seed": 0.08116783083496548, "type": "rectangle",
"name": "Rectangle",
"parentId": "page1",
"childIndex": 3,
"point": [
171.47,
288.63
],
"size": [
176.22,
192.26
],
"radius": 2,
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
}
},
"13448777-d8f5-46cd-8a70-a4259211902e": {
"id": "13448777-d8f5-46cd-8a70-a4259211902e",
"type": "rectangle",
"name": "Rectangle",
"parentId": "page1",
"childIndex": 4,
"point": [
511.7,
404.19
],
"size": [
181.08999999999992,
150.40999999999997
],
"radius": 2,
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
}
},
"75010635-8dfb-48ea-9250-719e50e58f02": {
"id": "75010635-8dfb-48ea-9250-719e50e58f02",
"type": "rectangle",
"name": "Rectangle",
"parentId": "page1",
"childIndex": 5,
"point": [
384.09,
378.45
],
"size": [
95.20999999999992,
91.1799999999999
],
"radius": 2,
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
}
},
"c892d665-3311-4e25-a0bf-c4632d777f7e": {
"id": "c892d665-3311-4e25-a0bf-c4632d777f7e",
"type": "ellipse",
"name": "Ellipse",
"parentId": "page1",
"childIndex": 6,
"point": [
162.45,
679.23
],
"radiusX": 102.99999999999997,
"radiusY": 102.99999999999994,
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
}
},
"51641de1-9787-41b8-afcc-2c85fd1b24c7": {
"id": "51641de1-9787-41b8-afcc-2c85fd1b24c7",
"type": "ellipse",
"name": "Ellipse",
"parentId": "page1",
"childIndex": 7,
"point": [
517.18,
783.54
],
"radiusX": 102.99999999999997,
"radiusY": 102.99999999999994,
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
}
},
"e08c415e-3db3-4d3b-878e-28ce693ec1b0": {
"id": "e08c415e-3db3-4d3b-878e-28ce693ec1b0",
"type": "ellipse",
"name": "Ellipse",
"parentId": "page1",
"childIndex": 8,
"point": [
398.99,
810.79
],
"radiusX": 45.484999999999985,
"radiusY": 45.48499999999996,
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
}
},
"fee77127-e779-4576-882b-b1bf7c7e132f": {
"id": "fee77127-e779-4576-882b-b1bf7c7e132f",
"type": "arrow", "type": "arrow",
"isGenerated": false,
"name": "Arrow", "name": "Arrow",
"parentId": "page1", "parentId": "page1",
"childIndex": 16, "childIndex": 9,
"point": [100, 100], "point": [
"rotation": 0, 252.85,
"isAspectRatioLocked": false, 1057.5
"isLocked": false,
"isHidden": false,
"bend": 0,
"points": [
[6.503619523263069, 281.09020634582345],
[0, 0]
], ],
"rotation": 0,
"bend": 0,
"handles": { "handles": {
"start": { "start": {
"id": "start", "id": "start",
"index": 0, "index": 0,
"point": [6.503619523263069, 281.09020634582345] "point": [
0,
0
]
}, },
"end": { "end": {
"id": "end", "id": "end",
"index": 1, "index": 1,
"point": [0, 0] "point": [
0.09000000000000341,
208
]
}, },
"bend": { "bend": {
"id": "bend", "id": "bend",
"index": 2, "index": 2,
"point": [3.2518097616315345, 140.54510317291172] "point": [
0.045000000000001705,
104
]
} }
}, },
"decorations": { "decorations": {
"start": null, "start": null,
"end": null, "middle": null,
"middle": null "end": "Arrow"
}, },
"style": { "style": {
"color": "Black", "color": "Black",
"size": "Small", "size": "Medium",
"isFilled": false, "isFilled": false,
"dash": "Solid" "dash": "Draw"
} }
}, },
"1f6c251c-e12e-40b4-8dd2-c1847d80b72f": { "2d842ace-ebc5-4e83-acdf-de29352e5e62": {
"id": "1f6c251c-e12e-40b4-8dd2-c1847d80b72f", "id": "2d842ace-ebc5-4e83-acdf-de29352e5e62",
"seed": 0.6440313303074272, "type": "arrow",
"type": "rectangle", "name": "Arrow",
"isGenerated": false,
"name": "Rectangle",
"parentId": "page1", "parentId": "page1",
"childIndex": 24, "childIndex": 10,
"point": [0, 0], "point": [
"size": [67.22075383450237, 72.92795609221832], 616.9,
"radius": 2, 1124.3
],
"rotation": 0, "rotation": 0,
"isAspectRatioLocked": false, "bend": 0,
"isLocked": false, "handles": {
"isHidden": false, "start": {
"id": "start",
"index": 0,
"point": [
0,
0
]
},
"end": {
"id": "end",
"index": 1,
"point": [
2.4500000000000455,
185.20000000000005
]
},
"bend": {
"id": "bend",
"index": 2,
"point": [
1.2250000000000227,
92.60000000000002
]
}
},
"decorations": {
"start": null,
"middle": null,
"end": "Arrow"
},
"style": { "style": {
"size": "Small",
"color": "Black", "color": "Black",
"dash": "Solid", "size": "Medium",
"isFilled": false "isFilled": false,
"dash": "Draw"
} }
},
"b8e4e2c5-c662-4587-bf80-b9820ad8ad7f": {
"id": "b8e4e2c5-c662-4587-bf80-b9820ad8ad7f",
"type": "arrow",
"name": "Arrow",
"parentId": "page1",
"childIndex": 11,
"point": [
425.18,
1143.2
],
"rotation": 0,
"bend": 0,
"handles": {
"start": {
"id": "start",
"index": 0,
"point": [
0,
0
]
},
"end": {
"id": "end",
"index": 1,
"point": [
1.8500000000000227,
95.70000000000005
]
},
"bend": {
"id": "bend",
"index": 2,
"point": [
0.9250000000000114,
47.85000000000002
]
}
},
"decorations": {
"start": null,
"middle": null,
"end": "Arrow"
},
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
}
},
"38e9e750-16c2-4476-93ab-21aeb5f8858f": {
"id": "38e9e750-16c2-4476-93ab-21aeb5f8858f",
"type": "text",
"name": "Text",
"parentId": "page1",
"childIndex": 12,
"point": [
207.16,
1422.4
],
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
},
"text": "Hello",
"scale": 1
},
"5ba998df-c036-447a-9b88-d96c71394f52": {
"id": "5ba998df-c036-447a-9b88-d96c71394f52",
"type": "text",
"name": "Text",
"parentId": "page1",
"childIndex": 13,
"point": [
389.57,
1496.5
],
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
},
"text": "Hello",
"scale": 1
},
"3c688979-b190-4270-915b-7d8dd22a2bb7": {
"id": "3c688979-b190-4270-915b-7d8dd22a2bb7",
"type": "text",
"name": "Text",
"parentId": "page1",
"childIndex": 14,
"point": [
564.06,
1558.1
],
"rotation": 0,
"style": {
"color": "Black",
"size": "Medium",
"isFilled": false,
"dash": "Draw"
},
"text": "Hello",
"scale": 1
} }
} }
} }
@ -85,16 +355,19 @@
"file0": { "file0": {
"id": "file0", "id": "file0",
"name": "index.ts", "name": "index.ts",
"code": "" "code": "\nconst draw = new Draw({\n points: [\n ...Utils.getPointsBetween([0, 0], [20, 50]),\n ...Utils.getPointsBetween([20, 50], [100, 20], 3),\n ...Utils.getPointsBetween([100, 20], [100, 100], 10),\n [100, 100],\n ],\n})\n\nconst rectangle = new Rectangle({\n point: [200, 0],\n style: {\n color: ColorStyle.Blue,\n },\n})\n\nconst ellipse = new Ellipse({\n point: [400, 0],\n})\n\nconst arrow = new Arrow({\n start: [600, 0],\n end: [700, 100],\n})\n\nconst radius = 1000\nconst count = 100\nconst center = [350, 50]\n\nfor (let i = 0; i < count; i++) {\n const point = Vec.rotWith(\n Vec.add(center, [radius, 0]),\n center,\n (Math.PI * 2 * i) / count\n )\n\n const dot = new Dot({\n point,\n })\n}\n "
} }
} }
}, },
"pageState": { "pageState": {
"id": "page1", "id": "page1",
"selectedIds": {},
"camera": { "camera": {
"point": [-776.1126994855964, -404.44260065511594], "point": [
"zoom": 0.260047458798192 0,
} -145
],
"zoom": 1
},
"selectedIds": {}
} }
} }

View file

@ -4,12 +4,53 @@ exports[`project loads file from json: data after mount from file 1`] = `
Object { Object {
"code": Object { "code": Object {
"file0": Object { "file0": Object {
"code": "", "code": "
const draw = new Draw({
points: [
...Utils.getPointsBetween([0, 0], [20, 50]),
...Utils.getPointsBetween([20, 50], [100, 20], 3),
...Utils.getPointsBetween([100, 20], [100, 100], 10),
[100, 100],
],
})
const rectangle = new Rectangle({
point: [200, 0],
style: {
color: ColorStyle.Blue,
},
})
const ellipse = new Ellipse({
point: [400, 0],
})
const arrow = new Arrow({
start: [600, 0],
end: [700, 100],
})
const radius = 1000
const count = 100
const center = [350, 50]
for (let i = 0; i < count; i++) {
const point = Vec.rotWith(
Vec.add(center, [radius, 0]),
center,
(Math.PI * 2 * i) / count
)
const dot = new Dot({
point,
})
}
",
"id": "file0", "id": "file0",
"name": "index.ts", "name": "index.ts",
}, },
}, },
"id": "0001", "id": "home",
"name": "My Document", "name": "My Document",
"pages": Object { "pages": Object {
"page1": Object { "page1": Object {
@ -17,39 +58,34 @@ Object {
"id": "page1", "id": "page1",
"name": "Page 1", "name": "Page 1",
"shapes": Object { "shapes": Object {
"1f6c251c-e12e-40b4-8dd2-c1847d80b72f": Object { "13448777-d8f5-46cd-8a70-a4259211902e": Object {
"childIndex": 24, "childIndex": 4,
"id": "1f6c251c-e12e-40b4-8dd2-c1847d80b72f", "id": "13448777-d8f5-46cd-8a70-a4259211902e",
"isAspectRatioLocked": false,
"isGenerated": false,
"isHidden": false,
"isLocked": false,
"name": "Rectangle", "name": "Rectangle",
"parentId": "page1", "parentId": "page1",
"point": Array [ "point": Array [
0, 511.7,
0, 404.19,
], ],
"radius": 2, "radius": 2,
"rotation": 0, "rotation": 0,
"seed": 0.6440313303074272,
"size": Array [ "size": Array [
67.22075383450237, 181.08999999999992,
72.92795609221832, 150.40999999999997,
], ],
"style": Object { "style": Object {
"color": "Black", "color": "Black",
"dash": "Solid", "dash": "Draw",
"isFilled": false, "isFilled": false,
"size": "Small", "size": "Medium",
}, },
"type": "rectangle", "type": "rectangle",
}, },
"5ca167d7-54de-47c9-aa8f-86affa25e44d": Object { "2d842ace-ebc5-4e83-acdf-de29352e5e62": Object {
"bend": 0, "bend": 0,
"childIndex": 16, "childIndex": 10,
"decorations": Object { "decorations": Object {
"end": null, "end": "Arrow",
"middle": null, "middle": null,
"start": null, "start": null,
}, },
@ -58,55 +94,306 @@ Object {
"id": "bend", "id": "bend",
"index": 2, "index": 2,
"point": Array [ "point": Array [
3.2518097616315345, 1.2250000000000227,
140.54510317291172, 92.60000000000002,
], ],
}, },
"end": Object { "end": Object {
"id": "end", "id": "end",
"index": 1, "index": 1,
"point": Array [ "point": Array [
0, 2.4500000000000455,
0, 185.20000000000005,
], ],
}, },
"start": Object { "start": Object {
"id": "start", "id": "start",
"index": 0, "index": 0,
"point": Array [ "point": Array [
6.503619523263069, 0,
281.09020634582345, 0,
], ],
}, },
}, },
"id": "5ca167d7-54de-47c9-aa8f-86affa25e44d", "id": "2d842ace-ebc5-4e83-acdf-de29352e5e62",
"isAspectRatioLocked": false,
"isGenerated": false,
"isHidden": false,
"isLocked": false,
"name": "Arrow", "name": "Arrow",
"parentId": "page1", "parentId": "page1",
"point": Array [ "point": Array [
100, 616.9,
100, 1124.3,
],
"points": Array [
Array [
6.503619523263069,
281.09020634582345,
],
Array [
0,
0,
],
], ],
"rotation": 0, "rotation": 0,
"seed": 0.08116783083496548,
"style": Object { "style": Object {
"color": "Black", "color": "Black",
"dash": "Solid", "dash": "Draw",
"isFilled": false, "isFilled": false,
"size": "Small", "size": "Medium",
},
"type": "arrow",
},
"38e9e750-16c2-4476-93ab-21aeb5f8858f": Object {
"childIndex": 12,
"id": "38e9e750-16c2-4476-93ab-21aeb5f8858f",
"name": "Text",
"parentId": "page1",
"point": Array [
207.16,
1422.4,
],
"rotation": 0,
"scale": 1,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"text": "Hello",
"type": "text",
},
"3c688979-b190-4270-915b-7d8dd22a2bb7": Object {
"childIndex": 14,
"id": "3c688979-b190-4270-915b-7d8dd22a2bb7",
"name": "Text",
"parentId": "page1",
"point": Array [
564.06,
1558.1,
],
"rotation": 0,
"scale": 1,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"text": "Hello",
"type": "text",
},
"51641de1-9787-41b8-afcc-2c85fd1b24c7": Object {
"childIndex": 7,
"id": "51641de1-9787-41b8-afcc-2c85fd1b24c7",
"name": "Ellipse",
"parentId": "page1",
"point": Array [
517.18,
783.54,
],
"radiusX": 102.99999999999997,
"radiusY": 102.99999999999994,
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "ellipse",
},
"5ba998df-c036-447a-9b88-d96c71394f52": Object {
"childIndex": 13,
"id": "5ba998df-c036-447a-9b88-d96c71394f52",
"name": "Text",
"parentId": "page1",
"point": Array [
389.57,
1496.5,
],
"rotation": 0,
"scale": 1,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"text": "Hello",
"type": "text",
},
"75010635-8dfb-48ea-9250-719e50e58f02": Object {
"childIndex": 5,
"id": "75010635-8dfb-48ea-9250-719e50e58f02",
"name": "Rectangle",
"parentId": "page1",
"point": Array [
384.09,
378.45,
],
"radius": 2,
"rotation": 0,
"size": Array [
95.20999999999992,
91.1799999999999,
],
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "rectangle",
},
"b8e4e2c5-c662-4587-bf80-b9820ad8ad7f": Object {
"bend": 0,
"childIndex": 11,
"decorations": Object {
"end": "Arrow",
"middle": null,
"start": null,
},
"handles": Object {
"bend": Object {
"id": "bend",
"index": 2,
"point": Array [
0.9250000000000114,
47.85000000000002,
],
},
"end": Object {
"id": "end",
"index": 1,
"point": Array [
1.8500000000000227,
95.70000000000005,
],
},
"start": Object {
"id": "start",
"index": 0,
"point": Array [
0,
0,
],
},
},
"id": "b8e4e2c5-c662-4587-bf80-b9820ad8ad7f",
"name": "Arrow",
"parentId": "page1",
"point": Array [
425.18,
1143.2,
],
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "arrow",
},
"c892d665-3311-4e25-a0bf-c4632d777f7e": Object {
"childIndex": 6,
"id": "c892d665-3311-4e25-a0bf-c4632d777f7e",
"name": "Ellipse",
"parentId": "page1",
"point": Array [
162.45,
679.23,
],
"radiusX": 102.99999999999997,
"radiusY": 102.99999999999994,
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "ellipse",
},
"e08c415e-3db3-4d3b-878e-28ce693ec1b0": Object {
"childIndex": 8,
"id": "e08c415e-3db3-4d3b-878e-28ce693ec1b0",
"name": "Ellipse",
"parentId": "page1",
"point": Array [
398.99,
810.79,
],
"radiusX": 45.484999999999985,
"radiusY": 45.48499999999996,
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "ellipse",
},
"e43559cb-6f41-4ae4-9c49-158ed1ad2f72": Object {
"childIndex": 3,
"id": "e43559cb-6f41-4ae4-9c49-158ed1ad2f72",
"name": "Rectangle",
"parentId": "page1",
"point": Array [
171.47,
288.63,
],
"radius": 2,
"rotation": 0,
"size": Array [
176.22,
192.26,
],
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "rectangle",
},
"fee77127-e779-4576-882b-b1bf7c7e132f": Object {
"bend": 0,
"childIndex": 9,
"decorations": Object {
"end": "Arrow",
"middle": null,
"start": null,
},
"handles": Object {
"bend": Object {
"id": "bend",
"index": 2,
"point": Array [
0.045000000000001705,
104,
],
},
"end": Object {
"id": "end",
"index": 1,
"point": Array [
0.09000000000000341,
208,
],
},
"start": Object {
"id": "start",
"index": 0,
"point": Array [
0,
0,
],
},
},
"id": "fee77127-e779-4576-882b-b1bf7c7e132f",
"name": "Arrow",
"parentId": "page1",
"point": Array [
252.85,
1057.5,
],
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
}, },
"type": "arrow", "type": "arrow",
}, },
@ -121,12 +408,53 @@ exports[`restoring project remounts the state after mutating the current state:
Object { Object {
"code": Object { "code": Object {
"file0": Object { "file0": Object {
"code": "", "code": "
const draw = new Draw({
points: [
...Utils.getPointsBetween([0, 0], [20, 50]),
...Utils.getPointsBetween([20, 50], [100, 20], 3),
...Utils.getPointsBetween([100, 20], [100, 100], 10),
[100, 100],
],
})
const rectangle = new Rectangle({
point: [200, 0],
style: {
color: ColorStyle.Blue,
},
})
const ellipse = new Ellipse({
point: [400, 0],
})
const arrow = new Arrow({
start: [600, 0],
end: [700, 100],
})
const radius = 1000
const count = 100
const center = [350, 50]
for (let i = 0; i < count; i++) {
const point = Vec.rotWith(
Vec.add(center, [radius, 0]),
center,
(Math.PI * 2 * i) / count
)
const dot = new Dot({
point,
})
}
",
"id": "file0", "id": "file0",
"name": "index.ts", "name": "index.ts",
}, },
}, },
"id": "0001", "id": "home",
"name": "My Document", "name": "My Document",
"pages": Object { "pages": Object {
"page1": Object { "page1": Object {
@ -134,39 +462,34 @@ Object {
"id": "page1", "id": "page1",
"name": "Page 1", "name": "Page 1",
"shapes": Object { "shapes": Object {
"1f6c251c-e12e-40b4-8dd2-c1847d80b72f": Object { "13448777-d8f5-46cd-8a70-a4259211902e": Object {
"childIndex": 24, "childIndex": 4,
"id": "1f6c251c-e12e-40b4-8dd2-c1847d80b72f", "id": "13448777-d8f5-46cd-8a70-a4259211902e",
"isAspectRatioLocked": false,
"isGenerated": false,
"isHidden": false,
"isLocked": false,
"name": "Rectangle", "name": "Rectangle",
"parentId": "page1", "parentId": "page1",
"point": Array [ "point": Array [
0, 511.7,
0, 404.19,
], ],
"radius": 2, "radius": 2,
"rotation": 0, "rotation": 0,
"seed": 0.6440313303074272,
"size": Array [ "size": Array [
67.22075383450237, 181.08999999999992,
72.92795609221832, 150.40999999999997,
], ],
"style": Object { "style": Object {
"color": "Black", "color": "Black",
"dash": "Solid", "dash": "Draw",
"isFilled": false, "isFilled": false,
"size": "Small", "size": "Medium",
}, },
"type": "rectangle", "type": "rectangle",
}, },
"5ca167d7-54de-47c9-aa8f-86affa25e44d": Object { "2d842ace-ebc5-4e83-acdf-de29352e5e62": Object {
"bend": 0, "bend": 0,
"childIndex": 16, "childIndex": 10,
"decorations": Object { "decorations": Object {
"end": null, "end": "Arrow",
"middle": null, "middle": null,
"start": null, "start": null,
}, },
@ -175,55 +498,306 @@ Object {
"id": "bend", "id": "bend",
"index": 2, "index": 2,
"point": Array [ "point": Array [
3.2518097616315345, 1.2250000000000227,
140.54510317291172, 92.60000000000002,
], ],
}, },
"end": Object { "end": Object {
"id": "end", "id": "end",
"index": 1, "index": 1,
"point": Array [ "point": Array [
0, 2.4500000000000455,
0, 185.20000000000005,
], ],
}, },
"start": Object { "start": Object {
"id": "start", "id": "start",
"index": 0, "index": 0,
"point": Array [ "point": Array [
6.503619523263069, 0,
281.09020634582345, 0,
], ],
}, },
}, },
"id": "5ca167d7-54de-47c9-aa8f-86affa25e44d", "id": "2d842ace-ebc5-4e83-acdf-de29352e5e62",
"isAspectRatioLocked": false,
"isGenerated": false,
"isHidden": false,
"isLocked": false,
"name": "Arrow", "name": "Arrow",
"parentId": "page1", "parentId": "page1",
"point": Array [ "point": Array [
100, 616.9,
100, 1124.3,
],
"points": Array [
Array [
6.503619523263069,
281.09020634582345,
],
Array [
0,
0,
],
], ],
"rotation": 0, "rotation": 0,
"seed": 0.08116783083496548,
"style": Object { "style": Object {
"color": "Black", "color": "Black",
"dash": "Solid", "dash": "Draw",
"isFilled": false, "isFilled": false,
"size": "Small", "size": "Medium",
},
"type": "arrow",
},
"38e9e750-16c2-4476-93ab-21aeb5f8858f": Object {
"childIndex": 12,
"id": "38e9e750-16c2-4476-93ab-21aeb5f8858f",
"name": "Text",
"parentId": "page1",
"point": Array [
207.16,
1422.4,
],
"rotation": 0,
"scale": 1,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"text": "Hello",
"type": "text",
},
"3c688979-b190-4270-915b-7d8dd22a2bb7": Object {
"childIndex": 14,
"id": "3c688979-b190-4270-915b-7d8dd22a2bb7",
"name": "Text",
"parentId": "page1",
"point": Array [
564.06,
1558.1,
],
"rotation": 0,
"scale": 1,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"text": "Hello",
"type": "text",
},
"51641de1-9787-41b8-afcc-2c85fd1b24c7": Object {
"childIndex": 7,
"id": "51641de1-9787-41b8-afcc-2c85fd1b24c7",
"name": "Ellipse",
"parentId": "page1",
"point": Array [
517.18,
783.54,
],
"radiusX": 102.99999999999997,
"radiusY": 102.99999999999994,
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "ellipse",
},
"5ba998df-c036-447a-9b88-d96c71394f52": Object {
"childIndex": 13,
"id": "5ba998df-c036-447a-9b88-d96c71394f52",
"name": "Text",
"parentId": "page1",
"point": Array [
389.57,
1496.5,
],
"rotation": 0,
"scale": 1,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"text": "Hello",
"type": "text",
},
"75010635-8dfb-48ea-9250-719e50e58f02": Object {
"childIndex": 5,
"id": "75010635-8dfb-48ea-9250-719e50e58f02",
"name": "Rectangle",
"parentId": "page1",
"point": Array [
384.09,
378.45,
],
"radius": 2,
"rotation": 0,
"size": Array [
95.20999999999992,
91.1799999999999,
],
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "rectangle",
},
"b8e4e2c5-c662-4587-bf80-b9820ad8ad7f": Object {
"bend": 0,
"childIndex": 11,
"decorations": Object {
"end": "Arrow",
"middle": null,
"start": null,
},
"handles": Object {
"bend": Object {
"id": "bend",
"index": 2,
"point": Array [
0.9250000000000114,
47.85000000000002,
],
},
"end": Object {
"id": "end",
"index": 1,
"point": Array [
1.8500000000000227,
95.70000000000005,
],
},
"start": Object {
"id": "start",
"index": 0,
"point": Array [
0,
0,
],
},
},
"id": "b8e4e2c5-c662-4587-bf80-b9820ad8ad7f",
"name": "Arrow",
"parentId": "page1",
"point": Array [
425.18,
1143.2,
],
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "arrow",
},
"c892d665-3311-4e25-a0bf-c4632d777f7e": Object {
"childIndex": 6,
"id": "c892d665-3311-4e25-a0bf-c4632d777f7e",
"name": "Ellipse",
"parentId": "page1",
"point": Array [
162.45,
679.23,
],
"radiusX": 102.99999999999997,
"radiusY": 102.99999999999994,
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "ellipse",
},
"e08c415e-3db3-4d3b-878e-28ce693ec1b0": Object {
"childIndex": 8,
"id": "e08c415e-3db3-4d3b-878e-28ce693ec1b0",
"name": "Ellipse",
"parentId": "page1",
"point": Array [
398.99,
810.79,
],
"radiusX": 45.484999999999985,
"radiusY": 45.48499999999996,
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "ellipse",
},
"e43559cb-6f41-4ae4-9c49-158ed1ad2f72": Object {
"childIndex": 3,
"id": "e43559cb-6f41-4ae4-9c49-158ed1ad2f72",
"name": "Rectangle",
"parentId": "page1",
"point": Array [
171.47,
288.63,
],
"radius": 2,
"rotation": 0,
"size": Array [
176.22,
192.26,
],
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
},
"type": "rectangle",
},
"fee77127-e779-4576-882b-b1bf7c7e132f": Object {
"bend": 0,
"childIndex": 9,
"decorations": Object {
"end": "Arrow",
"middle": null,
"start": null,
},
"handles": Object {
"bend": Object {
"id": "bend",
"index": 2,
"point": Array [
0.045000000000001705,
104,
],
},
"end": Object {
"id": "end",
"index": 1,
"point": Array [
0.09000000000000341,
208,
],
},
"start": Object {
"id": "start",
"index": 0,
"point": Array [
0,
0,
],
},
},
"id": "fee77127-e779-4576-882b-b1bf7c7e132f",
"name": "Arrow",
"parentId": "page1",
"point": Array [
252.85,
1057.5,
],
"rotation": 0,
"style": Object {
"color": "Black",
"dash": "Draw",
"isFilled": false,
"size": "Medium",
}, },
"type": "arrow", "type": "arrow",
}, },

View file

@ -3,13 +3,13 @@ import tld from 'utils/tld'
import inputs from 'state/inputs' import inputs from 'state/inputs'
import { createShape, getShapeUtils } from 'state/shape-utils' import { createShape, getShapeUtils } from 'state/shape-utils'
import { Data, Shape, ShapeType, ShapeUtility } from 'types' import { Data, Shape, ShapeType, ShapeUtility } from 'types'
import { deepCompareArrays, uniqueId, vec } from 'utils' import { deepCompareArrays, setToArray, uniqueId, vec } from 'utils'
import * as json from './__mocks__/document.json' import * as mockDocument from './__mocks__/document.json'
type State = typeof _state type State = typeof _state
export const rectangleId = '1f6c251c-e12e-40b4-8dd2-c1847d80b72f' export const rectangleId = 'e43559cb-6f41-4ae4-9c49-158ed1ad2f72'
export const arrowId = '5ca167d7-54de-47c9-aa8f-86affa25e44d' export const arrowId = 'fee77127-e779-4576-882b-b1bf7c7e132f'
interface PointerOptions { interface PointerOptions {
id?: number id?: number
@ -40,8 +40,9 @@ class TestState {
reset(): TestState { reset(): TestState {
this.state.reset() this.state.reset()
this.state this.state
.send('MOUNTED') .send('UNMOUNTED')
.send('LOADED_FROM_FILE', { json: JSON.stringify(json) }) .send('MOUNTED', { roomId: 'TESTING' })
.send('LOADED_FROM_FILE', { json: JSON.stringify(mockDocument) })
return this return this
} }
@ -126,6 +127,10 @@ class TestState {
) )
} }
get selectedIds(): string[] {
return setToArray(tld.getSelectedIds(this.data))
}
/** /**
* Get whether the shape with the provided id has the provided parent id. * Get whether the shape with the provided id has the provided parent id.
* *
@ -220,9 +225,15 @@ class TestState {
*``` *```
*/ */
clickShape(id: string, options: PointerOptions = {}): TestState { clickShape(id: string, options: PointerOptions = {}): TestState {
this.state this.state.send(
.send('POINTED_SHAPE', inputs.pointerDown(TestState.point(options), id)) 'POINTED_SHAPE',
.send('STOPPED_POINTING', inputs.pointerUp(TestState.point(options), id)) inputs.pointerDown(TestState.point(options), id)
)
this.state.send(
'STOPPED_POINTING',
inputs.pointerUp(TestState.point(options), id)
)
return this return this
} }

View file

@ -13,7 +13,7 @@ function storageId(fileId: string, label: string, id?: string) {
class Storage { class Storage {
previousSaveHandle?: any // FileSystemHandle previousSaveHandle?: any // FileSystemHandle
firstLoad(data: Data, roomId?: string) { firstLoad(data: Data, roomId = 'TESTING') {
const lastOpenedFileId = const lastOpenedFileId =
roomId || localStorage.getItem(`${CURRENT_VERSION}_lastOpened`) roomId || localStorage.getItem(`${CURRENT_VERSION}_lastOpened`)
@ -88,6 +88,7 @@ class Storage {
JSON.parse(json) JSON.parse(json)
data.document = restoredDocument.document data.document = restoredDocument.document
data.pageStates[restoredDocument.pageState.id] = restoredDocument.pageState
// Save pages to local storage, possibly overwriting unsaved local copies // Save pages to local storage, possibly overwriting unsaved local copies
Object.values(data.document.pages).forEach((page) => { Object.values(data.document.pages).forEach((page) => {
@ -164,8 +165,6 @@ class Storage {
data.pageStates[pageState.id] = pageState data.pageStates[pageState.id] = pageState
data.currentPageId = pageState.id data.currentPageId = pageState.id
} catch (e) { } catch (e) {
console.error('Could not restore page state:', e.message)
data.pageStates[data.currentPageId] = { data.pageStates[data.currentPageId] = {
id: data.currentPageId, id: data.currentPageId,
selectedIds: new Set([]), selectedIds: new Set([]),