@shakenbake/react-native 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/ShakeNbakeProvider.d.ts +26 -0
  2. package/dist/ShakeNbakeProvider.d.ts.map +1 -0
  3. package/dist/ShakeNbakeProvider.js +338 -0
  4. package/dist/ShakeNbakeProvider.js.map +1 -0
  5. package/dist/__tests__/capture.test.d.ts +2 -0
  6. package/dist/__tests__/capture.test.d.ts.map +1 -0
  7. package/dist/__tests__/capture.test.js +93 -0
  8. package/dist/__tests__/capture.test.js.map +1 -0
  9. package/dist/__tests__/collectors.test.d.ts +2 -0
  10. package/dist/__tests__/collectors.test.d.ts.map +1 -0
  11. package/dist/__tests__/collectors.test.js +212 -0
  12. package/dist/__tests__/collectors.test.js.map +1 -0
  13. package/dist/__tests__/drawing-canvas.test.d.ts +2 -0
  14. package/dist/__tests__/drawing-canvas.test.d.ts.map +1 -0
  15. package/dist/__tests__/drawing-canvas.test.js +503 -0
  16. package/dist/__tests__/drawing-canvas.test.js.map +1 -0
  17. package/dist/__tests__/provider.test.d.ts +2 -0
  18. package/dist/__tests__/provider.test.d.ts.map +1 -0
  19. package/dist/__tests__/provider.test.js +431 -0
  20. package/dist/__tests__/provider.test.js.map +1 -0
  21. package/dist/__tests__/report-form.test.d.ts +2 -0
  22. package/dist/__tests__/report-form.test.d.ts.map +1 -0
  23. package/dist/__tests__/report-form.test.js +178 -0
  24. package/dist/__tests__/report-form.test.js.map +1 -0
  25. package/dist/__tests__/triggers.test.d.ts +2 -0
  26. package/dist/__tests__/triggers.test.d.ts.map +1 -0
  27. package/dist/__tests__/triggers.test.js +53 -0
  28. package/dist/__tests__/triggers.test.js.map +1 -0
  29. package/dist/annotate/DrawingCanvas.d.ts +13 -0
  30. package/dist/annotate/DrawingCanvas.d.ts.map +1 -0
  31. package/dist/annotate/DrawingCanvas.js +475 -0
  32. package/dist/annotate/DrawingCanvas.js.map +1 -0
  33. package/dist/annotate/types.d.ts +72 -0
  34. package/dist/annotate/types.d.ts.map +1 -0
  35. package/dist/annotate/types.js +34 -0
  36. package/dist/annotate/types.js.map +1 -0
  37. package/dist/annotate/useDrawingOperations.d.ts +88 -0
  38. package/dist/annotate/useDrawingOperations.d.ts.map +1 -0
  39. package/dist/annotate/useDrawingOperations.js +186 -0
  40. package/dist/annotate/useDrawingOperations.js.map +1 -0
  41. package/dist/capture/screenshot.d.ts +31 -0
  42. package/dist/capture/screenshot.d.ts.map +1 -0
  43. package/dist/capture/screenshot.js +90 -0
  44. package/dist/capture/screenshot.js.map +1 -0
  45. package/dist/context/collectors.d.ts +25 -0
  46. package/dist/context/collectors.d.ts.map +1 -0
  47. package/dist/context/collectors.js +244 -0
  48. package/dist/context/collectors.js.map +1 -0
  49. package/dist/hooks/useShakeNbake.d.ts +28 -0
  50. package/dist/hooks/useShakeNbake.d.ts.map +1 -0
  51. package/dist/hooks/useShakeNbake.js +30 -0
  52. package/dist/hooks/useShakeNbake.js.map +1 -0
  53. package/dist/index.d.ts +19 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +49 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/triggers/shake.d.ts +16 -0
  58. package/dist/triggers/shake.d.ts.map +1 -0
  59. package/dist/triggers/shake.js +41 -0
  60. package/dist/triggers/shake.js.map +1 -0
  61. package/dist/ui/ReportForm.d.ts +33 -0
  62. package/dist/ui/ReportForm.d.ts.map +1 -0
  63. package/dist/ui/ReportForm.js +608 -0
  64. package/dist/ui/ReportForm.js.map +1 -0
  65. package/dist/ui/form-validation.d.ts +26 -0
  66. package/dist/ui/form-validation.d.ts.map +1 -0
  67. package/dist/ui/form-validation.js +44 -0
  68. package/dist/ui/form-validation.js.map +1 -0
  69. package/dist/ui/state-machine.d.ts +70 -0
  70. package/dist/ui/state-machine.d.ts.map +1 -0
  71. package/dist/ui/state-machine.js +107 -0
  72. package/dist/ui/state-machine.js.map +1 -0
  73. package/package.json +57 -0
@@ -0,0 +1,503 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // Tests for annotation module — DrawingCanvas, types, and undo/redo logic
4
+ //
5
+ // Since @shopify/react-native-skia requires native modules that are not
6
+ // available in the Node test environment, we:
7
+ // 1. Mock Skia entirely for any component-level assertions
8
+ // 2. Test the pure undo/redo logic via the non-React state functions
9
+ // 3. Verify module exports are correctly shaped
10
+ // ---------------------------------------------------------------------------
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const vitest_1 = require("vitest");
13
+ // ---------------------------------------------------------------------------
14
+ // Mock peer dependencies before importing anything that touches them
15
+ // ---------------------------------------------------------------------------
16
+ vitest_1.vi.mock('react-native', () => ({
17
+ View: 'View',
18
+ Text: 'Text',
19
+ TouchableOpacity: 'TouchableOpacity',
20
+ StyleSheet: {
21
+ create: (styles) => styles,
22
+ },
23
+ PanResponder: {
24
+ create: () => ({ panHandlers: {} }),
25
+ },
26
+ Platform: { OS: 'ios', Version: '17.0' },
27
+ Dimensions: { get: () => ({ width: 390, height: 844, scale: 3, fontScale: 1 }) },
28
+ PixelRatio: { get: () => 3, getFontScale: () => 1 },
29
+ }));
30
+ vitest_1.vi.mock('@shopify/react-native-skia', () => {
31
+ const mockPath = {
32
+ moveTo: vitest_1.vi.fn(),
33
+ lineTo: vitest_1.vi.fn(),
34
+ close: vitest_1.vi.fn(),
35
+ reset: vitest_1.vi.fn(),
36
+ copy: vitest_1.vi.fn(() => mockPath),
37
+ };
38
+ return {
39
+ Canvas: 'SkiaCanvas',
40
+ Image: 'SkiaImage',
41
+ Path: 'SkiaPath',
42
+ Rect: 'SkiaRect',
43
+ Circle: 'SkiaCircle',
44
+ Line: 'SkiaLine',
45
+ Skia: {
46
+ Path: { Make: () => ({ ...mockPath }) },
47
+ Data: { fromBase64: () => ({}) },
48
+ },
49
+ makeImageFromEncoded: () => ({
50
+ width: () => 390,
51
+ height: () => 844,
52
+ encodeToBase64: () => 'mock-base64-data',
53
+ }),
54
+ useCanvasRef: () => ({ current: null }),
55
+ };
56
+ });
57
+ // ---------------------------------------------------------------------------
58
+ // Imports (after mocks)
59
+ // ---------------------------------------------------------------------------
60
+ const useDrawingOperations_js_1 = require("../annotate/useDrawingOperations.js");
61
+ const types_js_1 = require("../annotate/types.js");
62
+ const DrawingCanvas_js_1 = require("../annotate/DrawingCanvas.js");
63
+ // ---------------------------------------------------------------------------
64
+ // 1. Module exports
65
+ // ---------------------------------------------------------------------------
66
+ (0, vitest_1.describe)('Module exports', () => {
67
+ (0, vitest_1.it)('DrawingCanvas is a function component', () => {
68
+ (0, vitest_1.expect)(typeof DrawingCanvas_js_1.DrawingCanvas).toBe('function');
69
+ });
70
+ (0, vitest_1.it)('pure state functions are exported', () => {
71
+ (0, vitest_1.expect)(typeof useDrawingOperations_js_1.createDrawingState).toBe('function');
72
+ (0, vitest_1.expect)(typeof useDrawingOperations_js_1.addOperation).toBe('function');
73
+ (0, vitest_1.expect)(typeof useDrawingOperations_js_1.undoOperation).toBe('function');
74
+ (0, vitest_1.expect)(typeof useDrawingOperations_js_1.redoOperation).toBe('function');
75
+ (0, vitest_1.expect)(typeof useDrawingOperations_js_1.clearOperations).toBe('function');
76
+ });
77
+ (0, vitest_1.it)('re-exports from index', async () => {
78
+ const index = await import('../index.js');
79
+ (0, vitest_1.expect)(typeof index.DrawingCanvas).toBe('function');
80
+ (0, vitest_1.expect)(typeof index.createDrawingState).toBe('function');
81
+ (0, vitest_1.expect)(typeof index.addOperation).toBe('function');
82
+ (0, vitest_1.expect)(typeof index.undoOperation).toBe('function');
83
+ (0, vitest_1.expect)(typeof index.redoOperation).toBe('function');
84
+ (0, vitest_1.expect)(typeof index.clearOperations).toBe('function');
85
+ (0, vitest_1.expect)(index.DRAWING_COLORS).toBeDefined();
86
+ (0, vitest_1.expect)(index.DEFAULT_COLOR).toBe('#FF0000');
87
+ (0, vitest_1.expect)(index.STROKE_WIDTHS).toBeDefined();
88
+ (0, vitest_1.expect)(index.DEFAULT_STROKE_SIZE).toBe('medium');
89
+ });
90
+ });
91
+ // ---------------------------------------------------------------------------
92
+ // 2. Type constants
93
+ // ---------------------------------------------------------------------------
94
+ (0, vitest_1.describe)('Drawing type constants', () => {
95
+ (0, vitest_1.it)('DRAWING_COLORS has 6 colors', () => {
96
+ (0, vitest_1.expect)(types_js_1.DRAWING_COLORS).toHaveLength(6);
97
+ (0, vitest_1.expect)(types_js_1.DRAWING_COLORS).toContain('#FF0000');
98
+ (0, vitest_1.expect)(types_js_1.DRAWING_COLORS).toContain('#FFFF00');
99
+ (0, vitest_1.expect)(types_js_1.DRAWING_COLORS).toContain('#0066FF');
100
+ (0, vitest_1.expect)(types_js_1.DRAWING_COLORS).toContain('#00CC00');
101
+ (0, vitest_1.expect)(types_js_1.DRAWING_COLORS).toContain('#FFFFFF');
102
+ (0, vitest_1.expect)(types_js_1.DRAWING_COLORS).toContain('#000000');
103
+ });
104
+ (0, vitest_1.it)('DEFAULT_COLOR is red', () => {
105
+ (0, vitest_1.expect)(types_js_1.DEFAULT_COLOR).toBe('#FF0000');
106
+ });
107
+ (0, vitest_1.it)('STROKE_WIDTHS maps sizes to pixel values', () => {
108
+ (0, vitest_1.expect)(types_js_1.STROKE_WIDTHS.thin).toBe(2);
109
+ (0, vitest_1.expect)(types_js_1.STROKE_WIDTHS.medium).toBe(4);
110
+ (0, vitest_1.expect)(types_js_1.STROKE_WIDTHS.thick).toBe(8);
111
+ });
112
+ (0, vitest_1.it)('DEFAULT_STROKE_SIZE is medium', () => {
113
+ (0, vitest_1.expect)(types_js_1.DEFAULT_STROKE_SIZE).toBe('medium');
114
+ });
115
+ });
116
+ // ---------------------------------------------------------------------------
117
+ // 3. Pure undo/redo logic (non-React state functions)
118
+ // ---------------------------------------------------------------------------
119
+ (0, vitest_1.describe)('createDrawingState', () => {
120
+ (0, vitest_1.it)('returns empty initial state', () => {
121
+ const state = (0, useDrawingOperations_js_1.createDrawingState)();
122
+ (0, vitest_1.expect)(state.operations).toEqual([]);
123
+ (0, vitest_1.expect)(state.redoStack).toEqual([]);
124
+ (0, vitest_1.expect)(state.currentOperation).toBeNull();
125
+ (0, vitest_1.expect)(state.nextId).toBe(1);
126
+ });
127
+ });
128
+ (0, vitest_1.describe)('addOperation', () => {
129
+ (0, vitest_1.it)('adds an operation with auto-incrementing id', () => {
130
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
131
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
132
+ tool: 'pen',
133
+ color: '#FF0000',
134
+ strokeWidth: 4,
135
+ points: [{ x: 0, y: 0 }, { x: 10, y: 10 }],
136
+ });
137
+ (0, vitest_1.expect)(state.operations).toHaveLength(1);
138
+ (0, vitest_1.expect)(state.operations[0].id).toBe(1);
139
+ (0, vitest_1.expect)(state.operations[0].tool).toBe('pen');
140
+ (0, vitest_1.expect)(state.nextId).toBe(2);
141
+ });
142
+ (0, vitest_1.it)('clears redo stack when adding a new operation', () => {
143
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
144
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
145
+ tool: 'pen',
146
+ color: '#FF0000',
147
+ strokeWidth: 4,
148
+ points: [{ x: 0, y: 0 }],
149
+ });
150
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
151
+ tool: 'rectangle',
152
+ color: '#0066FF',
153
+ strokeWidth: 2,
154
+ startPoint: { x: 10, y: 10 },
155
+ endPoint: { x: 50, y: 50 },
156
+ });
157
+ // Undo to put one item in redo stack
158
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
159
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(1);
160
+ // Adding a new operation clears redo
161
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
162
+ tool: 'circle',
163
+ color: '#00CC00',
164
+ strokeWidth: 8,
165
+ startPoint: { x: 20, y: 20 },
166
+ endPoint: { x: 40, y: 40 },
167
+ });
168
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(0);
169
+ });
170
+ (0, vitest_1.it)('preserves shape tool properties', () => {
171
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
172
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
173
+ tool: 'arrow',
174
+ color: '#FFFF00',
175
+ strokeWidth: 4,
176
+ startPoint: { x: 100, y: 100 },
177
+ endPoint: { x: 200, y: 200 },
178
+ });
179
+ const op = state.operations[0];
180
+ (0, vitest_1.expect)(op.tool).toBe('arrow');
181
+ (0, vitest_1.expect)(op.startPoint).toEqual({ x: 100, y: 100 });
182
+ (0, vitest_1.expect)(op.endPoint).toEqual({ x: 200, y: 200 });
183
+ });
184
+ });
185
+ (0, vitest_1.describe)('undoOperation', () => {
186
+ (0, vitest_1.it)('moves last operation from operations to redoStack', () => {
187
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
188
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
189
+ tool: 'pen',
190
+ color: '#FF0000',
191
+ strokeWidth: 4,
192
+ points: [{ x: 0, y: 0 }],
193
+ });
194
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
195
+ tool: 'rectangle',
196
+ color: '#0066FF',
197
+ strokeWidth: 2,
198
+ startPoint: { x: 10, y: 10 },
199
+ endPoint: { x: 50, y: 50 },
200
+ });
201
+ (0, vitest_1.expect)(state.operations).toHaveLength(2);
202
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(0);
203
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
204
+ (0, vitest_1.expect)(state.operations).toHaveLength(1);
205
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(1);
206
+ (0, vitest_1.expect)(state.redoStack[0].tool).toBe('rectangle');
207
+ });
208
+ (0, vitest_1.it)('returns unchanged state if nothing to undo', () => {
209
+ const state = (0, useDrawingOperations_js_1.createDrawingState)();
210
+ const result = (0, useDrawingOperations_js_1.undoOperation)(state);
211
+ (0, vitest_1.expect)(result).toBe(state); // same reference — no mutation
212
+ });
213
+ (0, vitest_1.it)('can undo all operations', () => {
214
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
215
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
216
+ tool: 'pen',
217
+ color: '#FF0000',
218
+ strokeWidth: 4,
219
+ points: [{ x: 0, y: 0 }],
220
+ });
221
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
222
+ tool: 'pen',
223
+ color: '#FF0000',
224
+ strokeWidth: 4,
225
+ points: [{ x: 5, y: 5 }],
226
+ });
227
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
228
+ tool: 'pen',
229
+ color: '#FF0000',
230
+ strokeWidth: 4,
231
+ points: [{ x: 10, y: 10 }],
232
+ });
233
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
234
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
235
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
236
+ (0, vitest_1.expect)(state.operations).toHaveLength(0);
237
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(3);
238
+ });
239
+ });
240
+ (0, vitest_1.describe)('redoOperation', () => {
241
+ (0, vitest_1.it)('moves last item from redoStack back to operations', () => {
242
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
243
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
244
+ tool: 'pen',
245
+ color: '#FF0000',
246
+ strokeWidth: 4,
247
+ points: [{ x: 0, y: 0 }],
248
+ });
249
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
250
+ (0, vitest_1.expect)(state.operations).toHaveLength(0);
251
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(1);
252
+ state = (0, useDrawingOperations_js_1.redoOperation)(state);
253
+ (0, vitest_1.expect)(state.operations).toHaveLength(1);
254
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(0);
255
+ (0, vitest_1.expect)(state.operations[0].tool).toBe('pen');
256
+ });
257
+ (0, vitest_1.it)('returns unchanged state if nothing to redo', () => {
258
+ const state = (0, useDrawingOperations_js_1.createDrawingState)();
259
+ const result = (0, useDrawingOperations_js_1.redoOperation)(state);
260
+ (0, vitest_1.expect)(result).toBe(state);
261
+ });
262
+ (0, vitest_1.it)('supports multiple undo then redo in order', () => {
263
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
264
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
265
+ tool: 'pen',
266
+ color: '#FF0000',
267
+ strokeWidth: 4,
268
+ points: [{ x: 1, y: 1 }],
269
+ });
270
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
271
+ tool: 'rectangle',
272
+ color: '#0066FF',
273
+ strokeWidth: 2,
274
+ startPoint: { x: 10, y: 10 },
275
+ endPoint: { x: 50, y: 50 },
276
+ });
277
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
278
+ tool: 'circle',
279
+ color: '#00CC00',
280
+ strokeWidth: 8,
281
+ startPoint: { x: 20, y: 20 },
282
+ endPoint: { x: 40, y: 40 },
283
+ });
284
+ // Undo all three
285
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
286
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
287
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
288
+ (0, vitest_1.expect)(state.operations).toHaveLength(0);
289
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(3);
290
+ // Redo two
291
+ state = (0, useDrawingOperations_js_1.redoOperation)(state);
292
+ state = (0, useDrawingOperations_js_1.redoOperation)(state);
293
+ (0, vitest_1.expect)(state.operations).toHaveLength(2);
294
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(1);
295
+ (0, vitest_1.expect)(state.operations[0].tool).toBe('pen');
296
+ (0, vitest_1.expect)(state.operations[1].tool).toBe('rectangle');
297
+ });
298
+ });
299
+ (0, vitest_1.describe)('clearOperations', () => {
300
+ (0, vitest_1.it)('clears all operations, redo stack, and current operation', () => {
301
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
302
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
303
+ tool: 'pen',
304
+ color: '#FF0000',
305
+ strokeWidth: 4,
306
+ points: [{ x: 0, y: 0 }],
307
+ });
308
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
309
+ tool: 'rectangle',
310
+ color: '#0066FF',
311
+ strokeWidth: 2,
312
+ startPoint: { x: 10, y: 10 },
313
+ endPoint: { x: 50, y: 50 },
314
+ });
315
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
316
+ state = {
317
+ ...state,
318
+ currentOperation: {
319
+ id: 99,
320
+ tool: 'circle',
321
+ color: '#00CC00',
322
+ strokeWidth: 8,
323
+ startPoint: { x: 20, y: 20 },
324
+ endPoint: { x: 40, y: 40 },
325
+ },
326
+ };
327
+ state = (0, useDrawingOperations_js_1.clearOperations)(state);
328
+ (0, vitest_1.expect)(state.operations).toHaveLength(0);
329
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(0);
330
+ (0, vitest_1.expect)(state.currentOperation).toBeNull();
331
+ });
332
+ });
333
+ // ---------------------------------------------------------------------------
334
+ // 4. DrawingOperation type shapes
335
+ // ---------------------------------------------------------------------------
336
+ (0, vitest_1.describe)('DrawingOperation type shapes', () => {
337
+ (0, vitest_1.it)('pen operation has points', () => {
338
+ const op = {
339
+ id: 1,
340
+ tool: 'pen',
341
+ color: '#FF0000',
342
+ strokeWidth: 4,
343
+ points: [
344
+ { x: 0, y: 0 },
345
+ { x: 10, y: 10 },
346
+ { x: 20, y: 15 },
347
+ ],
348
+ };
349
+ (0, vitest_1.expect)(op.points).toHaveLength(3);
350
+ (0, vitest_1.expect)(op.startPoint).toBeUndefined();
351
+ (0, vitest_1.expect)(op.endPoint).toBeUndefined();
352
+ });
353
+ (0, vitest_1.it)('rectangle operation has start and end points', () => {
354
+ const op = {
355
+ id: 2,
356
+ tool: 'rectangle',
357
+ color: '#0066FF',
358
+ strokeWidth: 2,
359
+ startPoint: { x: 10, y: 10 },
360
+ endPoint: { x: 100, y: 80 },
361
+ };
362
+ (0, vitest_1.expect)(op.startPoint).toEqual({ x: 10, y: 10 });
363
+ (0, vitest_1.expect)(op.endPoint).toEqual({ x: 100, y: 80 });
364
+ (0, vitest_1.expect)(op.points).toBeUndefined();
365
+ });
366
+ (0, vitest_1.it)('arrow operation has start and end points', () => {
367
+ const op = {
368
+ id: 3,
369
+ tool: 'arrow',
370
+ color: '#FFFF00',
371
+ strokeWidth: 4,
372
+ startPoint: { x: 50, y: 50 },
373
+ endPoint: { x: 200, y: 150 },
374
+ };
375
+ (0, vitest_1.expect)(op.tool).toBe('arrow');
376
+ (0, vitest_1.expect)(op.startPoint).toBeDefined();
377
+ (0, vitest_1.expect)(op.endPoint).toBeDefined();
378
+ });
379
+ (0, vitest_1.it)('circle operation has center and edge points', () => {
380
+ const op = {
381
+ id: 4,
382
+ tool: 'circle',
383
+ color: '#00CC00',
384
+ strokeWidth: 8,
385
+ startPoint: { x: 100, y: 100 }, // center
386
+ endPoint: { x: 150, y: 100 }, // edge (radius = 50)
387
+ };
388
+ (0, vitest_1.expect)(op.tool).toBe('circle');
389
+ const radius = Math.sqrt((op.endPoint.x - op.startPoint.x) ** 2 +
390
+ (op.endPoint.y - op.startPoint.y) ** 2);
391
+ (0, vitest_1.expect)(radius).toBe(50);
392
+ });
393
+ (0, vitest_1.it)('eraser operation has points like pen', () => {
394
+ const op = {
395
+ id: 5,
396
+ tool: 'eraser',
397
+ color: '#000000',
398
+ strokeWidth: 12,
399
+ points: [{ x: 30, y: 30 }, { x: 40, y: 40 }],
400
+ };
401
+ (0, vitest_1.expect)(op.tool).toBe('eraser');
402
+ (0, vitest_1.expect)(op.points).toHaveLength(2);
403
+ });
404
+ });
405
+ // ---------------------------------------------------------------------------
406
+ // 5. Integration-style: addOperation + undo/redo sequencing
407
+ // ---------------------------------------------------------------------------
408
+ (0, vitest_1.describe)('Undo/redo integration scenarios', () => {
409
+ (0, vitest_1.it)('new operation after undo clears redo stack (branching history)', () => {
410
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
411
+ // Draw three things
412
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
413
+ tool: 'pen', color: '#FF0000', strokeWidth: 4, points: [{ x: 0, y: 0 }],
414
+ });
415
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
416
+ tool: 'rectangle', color: '#0066FF', strokeWidth: 2,
417
+ startPoint: { x: 10, y: 10 }, endPoint: { x: 50, y: 50 },
418
+ });
419
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
420
+ tool: 'circle', color: '#00CC00', strokeWidth: 8,
421
+ startPoint: { x: 20, y: 20 }, endPoint: { x: 40, y: 40 },
422
+ });
423
+ // Undo two
424
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
425
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
426
+ (0, vitest_1.expect)(state.operations).toHaveLength(1);
427
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(2);
428
+ // Draw something new (should clear redo)
429
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
430
+ tool: 'arrow', color: '#FFFF00', strokeWidth: 4,
431
+ startPoint: { x: 0, y: 0 }, endPoint: { x: 100, y: 100 },
432
+ });
433
+ (0, vitest_1.expect)(state.operations).toHaveLength(2);
434
+ (0, vitest_1.expect)(state.redoStack).toHaveLength(0);
435
+ (0, vitest_1.expect)(state.operations[1].tool).toBe('arrow');
436
+ });
437
+ (0, vitest_1.it)('maintains operation order through undo-redo cycle', () => {
438
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
439
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
440
+ tool: 'pen', color: '#FF0000', strokeWidth: 4, points: [{ x: 1, y: 1 }],
441
+ });
442
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
443
+ tool: 'pen', color: '#0066FF', strokeWidth: 4, points: [{ x: 2, y: 2 }],
444
+ });
445
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
446
+ tool: 'pen', color: '#00CC00', strokeWidth: 4, points: [{ x: 3, y: 3 }],
447
+ });
448
+ const originalOps = [...state.operations];
449
+ // Undo all, redo all
450
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
451
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
452
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
453
+ state = (0, useDrawingOperations_js_1.redoOperation)(state);
454
+ state = (0, useDrawingOperations_js_1.redoOperation)(state);
455
+ state = (0, useDrawingOperations_js_1.redoOperation)(state);
456
+ // Should be back to original order
457
+ (0, vitest_1.expect)(state.operations).toHaveLength(3);
458
+ (0, vitest_1.expect)(state.operations[0].color).toBe(originalOps[0].color);
459
+ (0, vitest_1.expect)(state.operations[1].color).toBe(originalOps[1].color);
460
+ (0, vitest_1.expect)(state.operations[2].color).toBe(originalOps[2].color);
461
+ });
462
+ (0, vitest_1.it)('nextId keeps incrementing across add/undo/redo', () => {
463
+ let state = (0, useDrawingOperations_js_1.createDrawingState)();
464
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
465
+ tool: 'pen', color: '#FF0000', strokeWidth: 4, points: [{ x: 0, y: 0 }],
466
+ });
467
+ (0, vitest_1.expect)(state.nextId).toBe(2);
468
+ state = (0, useDrawingOperations_js_1.undoOperation)(state);
469
+ // nextId does not decrease on undo
470
+ (0, vitest_1.expect)(state.nextId).toBe(2);
471
+ state = (0, useDrawingOperations_js_1.redoOperation)(state);
472
+ // nextId does not change on redo
473
+ (0, vitest_1.expect)(state.nextId).toBe(2);
474
+ state = (0, useDrawingOperations_js_1.addOperation)(state, {
475
+ tool: 'pen', color: '#FF0000', strokeWidth: 4, points: [{ x: 5, y: 5 }],
476
+ });
477
+ (0, vitest_1.expect)(state.nextId).toBe(3);
478
+ });
479
+ });
480
+ // ---------------------------------------------------------------------------
481
+ // 6. Tool type validation
482
+ // ---------------------------------------------------------------------------
483
+ (0, vitest_1.describe)('Drawing tool types', () => {
484
+ (0, vitest_1.it)('all tool types are valid', () => {
485
+ const tools = ['pen', 'rectangle', 'arrow', 'circle', 'eraser'];
486
+ (0, vitest_1.expect)(tools).toHaveLength(5);
487
+ });
488
+ (0, vitest_1.it)('all color constants are valid hex', () => {
489
+ for (const c of types_js_1.DRAWING_COLORS) {
490
+ (0, vitest_1.expect)(c).toMatch(/^#[0-9A-F]{6}$/);
491
+ }
492
+ });
493
+ (0, vitest_1.it)('all stroke sizes map to positive numbers', () => {
494
+ const sizes = ['thin', 'medium', 'thick'];
495
+ for (const s of sizes) {
496
+ (0, vitest_1.expect)(types_js_1.STROKE_WIDTHS[s]).toBeGreaterThan(0);
497
+ }
498
+ // Ensure ordering: thin < medium < thick
499
+ (0, vitest_1.expect)(types_js_1.STROKE_WIDTHS.thin).toBeLessThan(types_js_1.STROKE_WIDTHS.medium);
500
+ (0, vitest_1.expect)(types_js_1.STROKE_WIDTHS.medium).toBeLessThan(types_js_1.STROKE_WIDTHS.thick);
501
+ });
502
+ });
503
+ //# sourceMappingURL=drawing-canvas.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawing-canvas.test.js","sourceRoot":"","sources":["../../src/__tests__/drawing-canvas.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/provider.test.ts"],"names":[],"mappings":""}