@pie-lib/graphing 4.0.13 → 4.1.0-beta

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 (99) hide show
  1. package/CHANGELOG.md +0 -42
  2. package/lib/__tests__/bg.test.js +282 -0
  3. package/lib/__tests__/bg.test.js.map +1 -0
  4. package/lib/__tests__/coordinates-label.test.js +276 -0
  5. package/lib/__tests__/coordinates-label.test.js.map +1 -0
  6. package/lib/__tests__/graph-with-controls.test.js +275 -0
  7. package/lib/__tests__/graph-with-controls.test.js.map +1 -0
  8. package/lib/__tests__/graph.test.js +927 -0
  9. package/lib/__tests__/graph.test.js.map +1 -0
  10. package/lib/__tests__/grid-setup.test.js +729 -0
  11. package/lib/__tests__/grid-setup.test.js.map +1 -0
  12. package/lib/__tests__/grid.test.js +29 -0
  13. package/lib/__tests__/grid.test.js.map +1 -0
  14. package/lib/__tests__/key-legend.test.js +321 -0
  15. package/lib/__tests__/key-legend.test.js.map +1 -0
  16. package/lib/__tests__/label-svg-icon.test.js +373 -0
  17. package/lib/__tests__/label-svg-icon.test.js.map +1 -0
  18. package/lib/__tests__/labels.test.js +61 -0
  19. package/lib/__tests__/labels.test.js.map +1 -0
  20. package/lib/__tests__/mark-label.test.js +133 -0
  21. package/lib/__tests__/mark-label.test.js.map +1 -0
  22. package/lib/__tests__/toggle-bar.test.js +197 -0
  23. package/lib/__tests__/toggle-bar.test.js.map +1 -0
  24. package/lib/__tests__/tool-menu.test.js +151 -0
  25. package/lib/__tests__/tool-menu.test.js.map +1 -0
  26. package/lib/__tests__/undo-redo.test.js +31 -0
  27. package/lib/__tests__/undo-redo.test.js.map +1 -0
  28. package/lib/__tests__/use-debounce.test.js +24 -0
  29. package/lib/__tests__/use-debounce.test.js.map +1 -0
  30. package/lib/__tests__/utils.js +70 -0
  31. package/lib/__tests__/utils.js.map +1 -0
  32. package/lib/__tests__/utils.test.js +123 -0
  33. package/lib/__tests__/utils.test.js.map +1 -0
  34. package/lib/axis/__tests__/arrow.test.js +60 -0
  35. package/lib/axis/__tests__/arrow.test.js.map +1 -0
  36. package/lib/axis/__tests__/axes.test.js +195 -0
  37. package/lib/axis/__tests__/axes.test.js.map +1 -0
  38. package/lib/container/__tests__/actions.test.js +108 -0
  39. package/lib/container/__tests__/actions.test.js.map +1 -0
  40. package/lib/container/__tests__/index.test.js +503 -0
  41. package/lib/container/__tests__/index.test.js.map +1 -0
  42. package/lib/container/__tests__/marks.test.js +259 -0
  43. package/lib/container/__tests__/marks.test.js.map +1 -0
  44. package/lib/container/__tests__/middleware.test.js +244 -0
  45. package/lib/container/__tests__/middleware.test.js.map +1 -0
  46. package/lib/container/__tests__/reducer.test.js +450 -0
  47. package/lib/container/__tests__/reducer.test.js.map +1 -0
  48. package/lib/tools/absolute/__tests__/component.test.js +65 -0
  49. package/lib/tools/absolute/__tests__/component.test.js.map +1 -0
  50. package/lib/tools/circle/__tests__/bg-circle.test.js +33 -0
  51. package/lib/tools/circle/__tests__/bg-circle.test.js.map +1 -0
  52. package/lib/tools/circle/__tests__/component.test.js +615 -0
  53. package/lib/tools/circle/__tests__/component.test.js.map +1 -0
  54. package/lib/tools/circle/__tests__/index.test.js +576 -0
  55. package/lib/tools/circle/__tests__/index.test.js.map +1 -0
  56. package/lib/tools/exponential/__tests__/component.test.js +64 -0
  57. package/lib/tools/exponential/__tests__/component.test.js.map +1 -0
  58. package/lib/tools/exponential/__tests__/index.test.js +828 -0
  59. package/lib/tools/exponential/__tests__/index.test.js.map +1 -0
  60. package/lib/tools/line/__tests__/component.test.js +45 -0
  61. package/lib/tools/line/__tests__/component.test.js.map +1 -0
  62. package/lib/tools/parabola/__tests__/component.test.js +64 -0
  63. package/lib/tools/parabola/__tests__/component.test.js.map +1 -0
  64. package/lib/tools/parabola/__tests__/index.test.js +564 -0
  65. package/lib/tools/parabola/__tests__/index.test.js.map +1 -0
  66. package/lib/tools/point/__tests__/component.test.js +434 -0
  67. package/lib/tools/point/__tests__/component.test.js.map +1 -0
  68. package/lib/tools/point/__tests__/index.test.js +262 -0
  69. package/lib/tools/point/__tests__/index.test.js.map +1 -0
  70. package/lib/tools/polygon/__tests__/component.test.js +485 -0
  71. package/lib/tools/polygon/__tests__/component.test.js.map +1 -0
  72. package/lib/tools/polygon/__tests__/index.test.js +303 -0
  73. package/lib/tools/polygon/__tests__/index.test.js.map +1 -0
  74. package/lib/tools/polygon/__tests__/line.test.js +50 -0
  75. package/lib/tools/polygon/__tests__/line.test.js.map +1 -0
  76. package/lib/tools/polygon/__tests__/polygon.test.js +85 -0
  77. package/lib/tools/polygon/__tests__/polygon.test.js.map +1 -0
  78. package/lib/tools/ray/__tests__/component.test.js +35 -0
  79. package/lib/tools/ray/__tests__/component.test.js.map +1 -0
  80. package/lib/tools/segment/__tests__/component.test.js +35 -0
  81. package/lib/tools/segment/__tests__/component.test.js.map +1 -0
  82. package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
  83. package/lib/tools/shared/__tests__/arrow-head.test.js.map +1 -0
  84. package/lib/tools/shared/line/__tests__/index.test.js +124 -0
  85. package/lib/tools/shared/line/__tests__/index.test.js.map +1 -0
  86. package/lib/tools/shared/line/__tests__/line-path.test.js +62 -0
  87. package/lib/tools/shared/line/__tests__/line-path.test.js.map +1 -0
  88. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +90 -0
  89. package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +1 -0
  90. package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
  91. package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +1 -0
  92. package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
  93. package/lib/tools/shared/point/__tests__/base-point.test.js.map +1 -0
  94. package/lib/tools/sine/__tests__/component.test.js +72 -0
  95. package/lib/tools/sine/__tests__/component.test.js.map +1 -0
  96. package/lib/tools/vector/__tests__/component.test.js +32 -0
  97. package/lib/tools/vector/__tests__/component.test.js.map +1 -0
  98. package/package.json +6 -6
  99. package/LICENSE.md +0 -5
@@ -0,0 +1,373 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _testUtils = require("@pie-lib/test-utils");
6
+ var _labelSvgIcon = _interopRequireDefault(require("../label-svg-icon"));
7
+ describe('SvgIcon', function () {
8
+ describe('rendering', function () {
9
+ it('renders without crashing with correct type', function () {
10
+ var _render = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
11
+ type: "correct"
12
+ })),
13
+ container = _render.container;
14
+ expect(container.firstChild).toBeInTheDocument();
15
+ });
16
+ it('renders correct icon type', function () {
17
+ var _render2 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
18
+ type: "correct"
19
+ })),
20
+ container = _render2.container;
21
+ var svg = container.querySelector('svg');
22
+ expect(svg).toBeInTheDocument();
23
+ expect(svg).toHaveAttribute('width', '8');
24
+ expect(svg).toHaveAttribute('height', '6');
25
+ });
26
+ it('renders incorrect icon type', function () {
27
+ var _render3 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
28
+ type: "incorrect"
29
+ })),
30
+ container = _render3.container;
31
+ var svg = container.querySelector('svg');
32
+ expect(svg).toBeInTheDocument();
33
+ expect(svg).toHaveAttribute('width', '7');
34
+ expect(svg).toHaveAttribute('height', '7');
35
+ });
36
+ it('renders empty icon type', function () {
37
+ var _render4 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
38
+ type: "empty"
39
+ })),
40
+ container = _render4.container;
41
+ var svg = container.querySelector('svg');
42
+ expect(svg).toBeInTheDocument();
43
+ expect(svg).toHaveAttribute('width', '11');
44
+ expect(svg).toHaveAttribute('height', '12');
45
+ });
46
+ it('renders null for unknown icon type', function () {
47
+ var _render5 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
48
+ type: "unknown"
49
+ })),
50
+ container = _render5.container;
51
+ expect(container.firstChild).toBeNull();
52
+ });
53
+ it('renders null for invalid icon type', function () {
54
+ var _render6 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
55
+ type: "invalid"
56
+ })),
57
+ container = _render6.container;
58
+ expect(container.firstChild).toBeNull();
59
+ });
60
+ });
61
+ describe('correct icon', function () {
62
+ it('has correct viewBox attribute', function () {
63
+ var _render7 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
64
+ type: "correct"
65
+ })),
66
+ container = _render7.container;
67
+ var svg = container.querySelector('svg');
68
+ expect(svg).toHaveAttribute('viewBox', '0 0 8 6');
69
+ });
70
+ it('has correct fill color for path', function () {
71
+ var _render8 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
72
+ type: "correct"
73
+ })),
74
+ container = _render8.container;
75
+ var path = container.querySelector('path');
76
+ expect(path).toHaveAttribute('fill', '#0B7D38');
77
+ });
78
+ it('has correct path d attribute for checkmark', function () {
79
+ var _render9 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
80
+ type: "correct"
81
+ })),
82
+ container = _render9.container;
83
+ var path = container.querySelector('path');
84
+ expect(path).toHaveAttribute('d');
85
+ var dAttribute = path.getAttribute('d');
86
+ expect(dAttribute).toContain('M6.79688');
87
+ });
88
+ it('has xmlns attribute', function () {
89
+ var _render0 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
90
+ type: "correct"
91
+ })),
92
+ container = _render0.container;
93
+ var svg = container.querySelector('svg');
94
+ expect(svg).toHaveAttribute('xmlns', 'http://www.w3.org/2000/svg');
95
+ });
96
+ });
97
+ describe('incorrect icon', function () {
98
+ it('has correct viewBox attribute', function () {
99
+ var _render1 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
100
+ type: "incorrect"
101
+ })),
102
+ container = _render1.container;
103
+ var svg = container.querySelector('svg');
104
+ expect(svg).toHaveAttribute('viewBox', '0 0 7 7');
105
+ });
106
+ it('has correct fill color for path', function () {
107
+ var _render10 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
108
+ type: "incorrect"
109
+ })),
110
+ container = _render10.container;
111
+ var path = container.querySelector('path');
112
+ expect(path).toHaveAttribute('fill', '#BF0D00');
113
+ });
114
+ it('has correct path d attribute for X mark', function () {
115
+ var _render11 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
116
+ type: "incorrect"
117
+ })),
118
+ container = _render11.container;
119
+ var path = container.querySelector('path');
120
+ expect(path).toHaveAttribute('d');
121
+ var dAttribute = path.getAttribute('d');
122
+ expect(dAttribute).toContain('M4.23438');
123
+ });
124
+ it('has xmlns attribute', function () {
125
+ var _render12 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
126
+ type: "incorrect"
127
+ })),
128
+ container = _render12.container;
129
+ var svg = container.querySelector('svg');
130
+ expect(svg).toHaveAttribute('xmlns', 'http://www.w3.org/2000/svg');
131
+ });
132
+ });
133
+ describe('empty icon', function () {
134
+ it('has correct viewBox attribute', function () {
135
+ var _render13 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
136
+ type: "empty"
137
+ })),
138
+ container = _render13.container;
139
+ var svg = container.querySelector('svg');
140
+ expect(svg).toHaveAttribute('viewBox', '0 0 11 12');
141
+ });
142
+ it('has correct fill color for path', function () {
143
+ var _render14 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
144
+ type: "empty"
145
+ })),
146
+ container = _render14.container;
147
+ var path = container.querySelector('path');
148
+ expect(path).toHaveAttribute('fill', '#BF0D00');
149
+ });
150
+ it('has correct path d attribute for empty frame', function () {
151
+ var _render15 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
152
+ type: "empty"
153
+ })),
154
+ container = _render15.container;
155
+ var path = container.querySelector('path');
156
+ expect(path).toHaveAttribute('d');
157
+ var dAttribute = path.getAttribute('d');
158
+ expect(dAttribute).toContain('M0.25');
159
+ });
160
+ it('has xmlns attribute', function () {
161
+ var _render16 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
162
+ type: "empty"
163
+ })),
164
+ container = _render16.container;
165
+ var svg = container.querySelector('svg');
166
+ expect(svg).toHaveAttribute('xmlns', 'http://www.w3.org/2000/svg');
167
+ });
168
+ });
169
+ describe('icon structure', function () {
170
+ it('correct icon has one path element', function () {
171
+ var _render17 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
172
+ type: "correct"
173
+ })),
174
+ container = _render17.container;
175
+ var paths = container.querySelectorAll('path');
176
+ expect(paths.length).toBe(1);
177
+ });
178
+ it('incorrect icon has one path element', function () {
179
+ var _render18 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
180
+ type: "incorrect"
181
+ })),
182
+ container = _render18.container;
183
+ var paths = container.querySelectorAll('path');
184
+ expect(paths.length).toBe(1);
185
+ });
186
+ it('empty icon has one path element', function () {
187
+ var _render19 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
188
+ type: "empty"
189
+ })),
190
+ container = _render19.container;
191
+ var paths = container.querySelectorAll('path');
192
+ expect(paths.length).toBe(1);
193
+ });
194
+ it('each icon renders only one svg element', function () {
195
+ var _render20 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
196
+ type: "correct"
197
+ })),
198
+ correctContainer = _render20.container;
199
+ var _render21 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
200
+ type: "incorrect"
201
+ })),
202
+ incorrectContainer = _render21.container;
203
+ var _render22 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
204
+ type: "empty"
205
+ })),
206
+ emptyContainer = _render22.container;
207
+ expect(correctContainer.querySelectorAll('svg').length).toBe(1);
208
+ expect(incorrectContainer.querySelectorAll('svg').length).toBe(1);
209
+ expect(emptyContainer.querySelectorAll('svg').length).toBe(1);
210
+ });
211
+ });
212
+ describe('edge cases', function () {
213
+ it('handles empty string type gracefully', function () {
214
+ var _render23 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
215
+ type: ""
216
+ })),
217
+ container = _render23.container;
218
+ expect(container.firstChild).toBeNull();
219
+ });
220
+ it('handles null type gracefully', function () {
221
+ var _render24 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
222
+ type: null
223
+ })),
224
+ container = _render24.container;
225
+ expect(container.firstChild).toBeNull();
226
+ });
227
+ it('handles undefined type gracefully', function () {
228
+ var _render25 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
229
+ type: undefined
230
+ })),
231
+ container = _render25.container;
232
+ expect(container.firstChild).toBeNull();
233
+ });
234
+ it('handles numeric type gracefully', function () {
235
+ var _render26 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
236
+ type: 123
237
+ })),
238
+ container = _render26.container;
239
+ expect(container.firstChild).toBeNull();
240
+ });
241
+ it('handles object type gracefully', function () {
242
+ var _render27 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
243
+ type: {}
244
+ })),
245
+ container = _render27.container;
246
+ expect(container.firstChild).toBeNull();
247
+ });
248
+ });
249
+ describe('icon differentiation', function () {
250
+ it('correct and incorrect icons have different dimensions', function () {
251
+ var _render28 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
252
+ type: "correct"
253
+ })),
254
+ correctContainer = _render28.container;
255
+ var _render29 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
256
+ type: "incorrect"
257
+ })),
258
+ incorrectContainer = _render29.container;
259
+ var correctSvg = correctContainer.querySelector('svg');
260
+ var incorrectSvg = incorrectContainer.querySelector('svg');
261
+ expect(correctSvg.getAttribute('width')).not.toBe(incorrectSvg.getAttribute('width'));
262
+ });
263
+ it('correct and empty icons have different fill colors', function () {
264
+ var _render30 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
265
+ type: "correct"
266
+ })),
267
+ correctContainer = _render30.container;
268
+ var _render31 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
269
+ type: "empty"
270
+ })),
271
+ emptyContainer = _render31.container;
272
+ var correctPath = correctContainer.querySelector('path');
273
+ var emptyPath = emptyContainer.querySelector('path');
274
+ expect(correctPath.getAttribute('fill')).not.toBe(emptyPath.getAttribute('fill'));
275
+ });
276
+ it('incorrect and empty icons have same fill color', function () {
277
+ var _render32 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
278
+ type: "incorrect"
279
+ })),
280
+ incorrectContainer = _render32.container;
281
+ var _render33 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
282
+ type: "empty"
283
+ })),
284
+ emptyContainer = _render33.container;
285
+ var incorrectPath = incorrectContainer.querySelector('path');
286
+ var emptyPath = emptyContainer.querySelector('path');
287
+ expect(incorrectPath.getAttribute('fill')).toBe(emptyPath.getAttribute('fill'));
288
+ });
289
+ it('each icon type has unique path data', function () {
290
+ var _render34 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
291
+ type: "correct"
292
+ })),
293
+ correctContainer = _render34.container;
294
+ var _render35 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
295
+ type: "incorrect"
296
+ })),
297
+ incorrectContainer = _render35.container;
298
+ var _render36 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
299
+ type: "empty"
300
+ })),
301
+ emptyContainer = _render36.container;
302
+ var correctPath = correctContainer.querySelector('path').getAttribute('d');
303
+ var incorrectPath = incorrectContainer.querySelector('path').getAttribute('d');
304
+ var emptyPath = emptyContainer.querySelector('path').getAttribute('d');
305
+ expect(correctPath).not.toBe(incorrectPath);
306
+ expect(correctPath).not.toBe(emptyPath);
307
+ expect(incorrectPath).not.toBe(emptyPath);
308
+ });
309
+ });
310
+ describe('SVG attributes', function () {
311
+ it('all icons have fill="none" on svg element', function () {
312
+ var _render37 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
313
+ type: "correct"
314
+ })),
315
+ correctContainer = _render37.container;
316
+ var _render38 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
317
+ type: "incorrect"
318
+ })),
319
+ incorrectContainer = _render38.container;
320
+ var _render39 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
321
+ type: "empty"
322
+ })),
323
+ emptyContainer = _render39.container;
324
+ expect(correctContainer.querySelector('svg')).toHaveAttribute('fill', 'none');
325
+ expect(incorrectContainer.querySelector('svg')).toHaveAttribute('fill', 'none');
326
+ expect(emptyContainer.querySelector('svg')).toHaveAttribute('fill', 'none');
327
+ });
328
+ it('all icons have proper xmlns namespace', function () {
329
+ var _render40 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
330
+ type: "correct"
331
+ })),
332
+ correctContainer = _render40.container;
333
+ var _render41 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
334
+ type: "incorrect"
335
+ })),
336
+ incorrectContainer = _render41.container;
337
+ var _render42 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
338
+ type: "empty"
339
+ })),
340
+ emptyContainer = _render42.container;
341
+ var xmlns = 'http://www.w3.org/2000/svg';
342
+ expect(correctContainer.querySelector('svg')).toHaveAttribute('xmlns', xmlns);
343
+ expect(incorrectContainer.querySelector('svg')).toHaveAttribute('xmlns', xmlns);
344
+ expect(emptyContainer.querySelector('svg')).toHaveAttribute('xmlns', xmlns);
345
+ });
346
+ });
347
+ describe('accessibility', function () {
348
+ it('svg elements are properly structured for screen readers', function () {
349
+ var _render43 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
350
+ type: "correct"
351
+ })),
352
+ container = _render43.container;
353
+ var svg = container.querySelector('svg');
354
+
355
+ // SVG should be in DOM
356
+ expect(svg).toBeInTheDocument();
357
+
358
+ // Should have valid viewBox for proper scaling
359
+ expect(svg.getAttribute('viewBox')).toBeTruthy();
360
+ });
361
+ it('icons render as inline elements', function () {
362
+ var _render44 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labelSvgIcon["default"], {
363
+ type: "correct"
364
+ })),
365
+ container = _render44.container;
366
+ var svg = container.querySelector('svg');
367
+
368
+ // SVG should be direct child (inline)
369
+ expect(container.firstChild).toBe(svg);
370
+ });
371
+ });
372
+ });
373
+ //# sourceMappingURL=label-svg-icon.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-svg-icon.test.js","names":["_react","_interopRequireDefault","require","_testUtils","_labelSvgIcon","describe","it","_render","render","createElement","type","container","expect","firstChild","toBeInTheDocument","_render2","svg","querySelector","toHaveAttribute","_render3","_render4","_render5","toBeNull","_render6","_render7","_render8","path","_render9","dAttribute","getAttribute","toContain","_render0","_render1","_render10","_render11","_render12","_render13","_render14","_render15","_render16","_render17","paths","querySelectorAll","length","toBe","_render18","_render19","_render20","correctContainer","_render21","incorrectContainer","_render22","emptyContainer","_render23","_render24","_render25","undefined","_render26","_render27","_render28","_render29","correctSvg","incorrectSvg","not","_render30","_render31","correctPath","emptyPath","_render32","_render33","incorrectPath","_render34","_render35","_render36","_render37","_render38","_render39","_render40","_render41","_render42","xmlns","_render43","toBeTruthy","_render44"],"sources":["../../src/__tests__/label-svg-icon.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render } from '@pie-lib/test-utils';\n\nimport SvgIcon from '../label-svg-icon';\n\ndescribe('SvgIcon', () => {\n describe('rendering', () => {\n it('renders without crashing with correct type', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders correct icon type', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const svg = container.querySelector('svg');\n expect(svg).toBeInTheDocument();\n expect(svg).toHaveAttribute('width', '8');\n expect(svg).toHaveAttribute('height', '6');\n });\n\n it('renders incorrect icon type', () => {\n const { container } = render(<SvgIcon type=\"incorrect\" />);\n const svg = container.querySelector('svg');\n expect(svg).toBeInTheDocument();\n expect(svg).toHaveAttribute('width', '7');\n expect(svg).toHaveAttribute('height', '7');\n });\n\n it('renders empty icon type', () => {\n const { container } = render(<SvgIcon type=\"empty\" />);\n const svg = container.querySelector('svg');\n expect(svg).toBeInTheDocument();\n expect(svg).toHaveAttribute('width', '11');\n expect(svg).toHaveAttribute('height', '12');\n });\n\n it('renders null for unknown icon type', () => {\n const { container } = render(<SvgIcon type=\"unknown\" />);\n expect(container.firstChild).toBeNull();\n });\n\n it('renders null for invalid icon type', () => {\n const { container } = render(<SvgIcon type=\"invalid\" />);\n expect(container.firstChild).toBeNull();\n });\n });\n\n describe('correct icon', () => {\n it('has correct viewBox attribute', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const svg = container.querySelector('svg');\n expect(svg).toHaveAttribute('viewBox', '0 0 8 6');\n });\n\n it('has correct fill color for path', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const path = container.querySelector('path');\n expect(path).toHaveAttribute('fill', '#0B7D38');\n });\n\n it('has correct path d attribute for checkmark', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const path = container.querySelector('path');\n expect(path).toHaveAttribute('d');\n const dAttribute = path.getAttribute('d');\n expect(dAttribute).toContain('M6.79688');\n });\n\n it('has xmlns attribute', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const svg = container.querySelector('svg');\n expect(svg).toHaveAttribute('xmlns', 'http://www.w3.org/2000/svg');\n });\n });\n\n describe('incorrect icon', () => {\n it('has correct viewBox attribute', () => {\n const { container } = render(<SvgIcon type=\"incorrect\" />);\n const svg = container.querySelector('svg');\n expect(svg).toHaveAttribute('viewBox', '0 0 7 7');\n });\n\n it('has correct fill color for path', () => {\n const { container } = render(<SvgIcon type=\"incorrect\" />);\n const path = container.querySelector('path');\n expect(path).toHaveAttribute('fill', '#BF0D00');\n });\n\n it('has correct path d attribute for X mark', () => {\n const { container } = render(<SvgIcon type=\"incorrect\" />);\n const path = container.querySelector('path');\n expect(path).toHaveAttribute('d');\n const dAttribute = path.getAttribute('d');\n expect(dAttribute).toContain('M4.23438');\n });\n\n it('has xmlns attribute', () => {\n const { container } = render(<SvgIcon type=\"incorrect\" />);\n const svg = container.querySelector('svg');\n expect(svg).toHaveAttribute('xmlns', 'http://www.w3.org/2000/svg');\n });\n });\n\n describe('empty icon', () => {\n it('has correct viewBox attribute', () => {\n const { container } = render(<SvgIcon type=\"empty\" />);\n const svg = container.querySelector('svg');\n expect(svg).toHaveAttribute('viewBox', '0 0 11 12');\n });\n\n it('has correct fill color for path', () => {\n const { container } = render(<SvgIcon type=\"empty\" />);\n const path = container.querySelector('path');\n expect(path).toHaveAttribute('fill', '#BF0D00');\n });\n\n it('has correct path d attribute for empty frame', () => {\n const { container } = render(<SvgIcon type=\"empty\" />);\n const path = container.querySelector('path');\n expect(path).toHaveAttribute('d');\n const dAttribute = path.getAttribute('d');\n expect(dAttribute).toContain('M0.25');\n });\n\n it('has xmlns attribute', () => {\n const { container } = render(<SvgIcon type=\"empty\" />);\n const svg = container.querySelector('svg');\n expect(svg).toHaveAttribute('xmlns', 'http://www.w3.org/2000/svg');\n });\n });\n\n describe('icon structure', () => {\n it('correct icon has one path element', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const paths = container.querySelectorAll('path');\n expect(paths.length).toBe(1);\n });\n\n it('incorrect icon has one path element', () => {\n const { container } = render(<SvgIcon type=\"incorrect\" />);\n const paths = container.querySelectorAll('path');\n expect(paths.length).toBe(1);\n });\n\n it('empty icon has one path element', () => {\n const { container } = render(<SvgIcon type=\"empty\" />);\n const paths = container.querySelectorAll('path');\n expect(paths.length).toBe(1);\n });\n\n it('each icon renders only one svg element', () => {\n const { container: correctContainer } = render(<SvgIcon type=\"correct\" />);\n const { container: incorrectContainer } = render(<SvgIcon type=\"incorrect\" />);\n const { container: emptyContainer } = render(<SvgIcon type=\"empty\" />);\n\n expect(correctContainer.querySelectorAll('svg').length).toBe(1);\n expect(incorrectContainer.querySelectorAll('svg').length).toBe(1);\n expect(emptyContainer.querySelectorAll('svg').length).toBe(1);\n });\n });\n\n describe('edge cases', () => {\n it('handles empty string type gracefully', () => {\n const { container } = render(<SvgIcon type=\"\" />);\n expect(container.firstChild).toBeNull();\n });\n\n it('handles null type gracefully', () => {\n const { container } = render(<SvgIcon type={null} />);\n expect(container.firstChild).toBeNull();\n });\n\n it('handles undefined type gracefully', () => {\n const { container } = render(<SvgIcon type={undefined} />);\n expect(container.firstChild).toBeNull();\n });\n\n it('handles numeric type gracefully', () => {\n const { container } = render(<SvgIcon type={123} />);\n expect(container.firstChild).toBeNull();\n });\n\n it('handles object type gracefully', () => {\n const { container } = render(<SvgIcon type={{}} />);\n expect(container.firstChild).toBeNull();\n });\n });\n\n describe('icon differentiation', () => {\n it('correct and incorrect icons have different dimensions', () => {\n const { container: correctContainer } = render(<SvgIcon type=\"correct\" />);\n const { container: incorrectContainer } = render(<SvgIcon type=\"incorrect\" />);\n\n const correctSvg = correctContainer.querySelector('svg');\n const incorrectSvg = incorrectContainer.querySelector('svg');\n\n expect(correctSvg.getAttribute('width')).not.toBe(incorrectSvg.getAttribute('width'));\n });\n\n it('correct and empty icons have different fill colors', () => {\n const { container: correctContainer } = render(<SvgIcon type=\"correct\" />);\n const { container: emptyContainer } = render(<SvgIcon type=\"empty\" />);\n\n const correctPath = correctContainer.querySelector('path');\n const emptyPath = emptyContainer.querySelector('path');\n\n expect(correctPath.getAttribute('fill')).not.toBe(emptyPath.getAttribute('fill'));\n });\n\n it('incorrect and empty icons have same fill color', () => {\n const { container: incorrectContainer } = render(<SvgIcon type=\"incorrect\" />);\n const { container: emptyContainer } = render(<SvgIcon type=\"empty\" />);\n\n const incorrectPath = incorrectContainer.querySelector('path');\n const emptyPath = emptyContainer.querySelector('path');\n\n expect(incorrectPath.getAttribute('fill')).toBe(emptyPath.getAttribute('fill'));\n });\n\n it('each icon type has unique path data', () => {\n const { container: correctContainer } = render(<SvgIcon type=\"correct\" />);\n const { container: incorrectContainer } = render(<SvgIcon type=\"incorrect\" />);\n const { container: emptyContainer } = render(<SvgIcon type=\"empty\" />);\n\n const correctPath = correctContainer.querySelector('path').getAttribute('d');\n const incorrectPath = incorrectContainer.querySelector('path').getAttribute('d');\n const emptyPath = emptyContainer.querySelector('path').getAttribute('d');\n\n expect(correctPath).not.toBe(incorrectPath);\n expect(correctPath).not.toBe(emptyPath);\n expect(incorrectPath).not.toBe(emptyPath);\n });\n });\n\n describe('SVG attributes', () => {\n it('all icons have fill=\"none\" on svg element', () => {\n const { container: correctContainer } = render(<SvgIcon type=\"correct\" />);\n const { container: incorrectContainer } = render(<SvgIcon type=\"incorrect\" />);\n const { container: emptyContainer } = render(<SvgIcon type=\"empty\" />);\n\n expect(correctContainer.querySelector('svg')).toHaveAttribute('fill', 'none');\n expect(incorrectContainer.querySelector('svg')).toHaveAttribute('fill', 'none');\n expect(emptyContainer.querySelector('svg')).toHaveAttribute('fill', 'none');\n });\n\n it('all icons have proper xmlns namespace', () => {\n const { container: correctContainer } = render(<SvgIcon type=\"correct\" />);\n const { container: incorrectContainer } = render(<SvgIcon type=\"incorrect\" />);\n const { container: emptyContainer } = render(<SvgIcon type=\"empty\" />);\n\n const xmlns = 'http://www.w3.org/2000/svg';\n expect(correctContainer.querySelector('svg')).toHaveAttribute('xmlns', xmlns);\n expect(incorrectContainer.querySelector('svg')).toHaveAttribute('xmlns', xmlns);\n expect(emptyContainer.querySelector('svg')).toHaveAttribute('xmlns', xmlns);\n });\n });\n\n describe('accessibility', () => {\n it('svg elements are properly structured for screen readers', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const svg = container.querySelector('svg');\n\n // SVG should be in DOM\n expect(svg).toBeInTheDocument();\n\n // Should have valid viewBox for proper scaling\n expect(svg.getAttribute('viewBox')).toBeTruthy();\n });\n\n it('icons render as inline elements', () => {\n const { container } = render(<SvgIcon type=\"correct\" />);\n const svg = container.querySelector('svg');\n\n // SVG should be direct child (inline)\n expect(container.firstChild).toBe(svg);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _testUtils = require("@pie-lib/test-utils");
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _labels = _interopRequireWildcard(require("../labels"));
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ describe('Labels', function () {
13
+ var onChange = jest.fn();
14
+ var renderComponent = function renderComponent(extras) {
15
+ var defaults = {
16
+ classes: {},
17
+ className: 'className',
18
+ onChange: onChange,
19
+ graphProps: {
20
+ size: {
21
+ width: 400,
22
+ height: 400
23
+ },
24
+ domain: {
25
+ min: 0,
26
+ max: 10,
27
+ step: 1,
28
+ padding: 0
29
+ },
30
+ range: {
31
+ min: 0,
32
+ max: 10,
33
+ step: 1,
34
+ padding: 0
35
+ }
36
+ }
37
+ };
38
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
39
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labels["default"], props));
40
+ };
41
+ describe('rendering', function () {
42
+ it('renders without crashing', function () {
43
+ var _renderComponent = renderComponent(),
44
+ container = _renderComponent.container;
45
+ expect(container.firstChild).toBeInTheDocument();
46
+ });
47
+ });
48
+ });
49
+ describe('getTransform', function () {
50
+ var assertTransform = function assertTransform(side, expected) {
51
+ it("returns ".concat(expected, " for ").concat(side), function () {
52
+ var r = (0, _labels.getTransform)('left', 100, 100);
53
+ expect(r).toEqual('translate(-20, 50), rotate(-90)');
54
+ });
55
+ };
56
+ assertTransform('left', 'translate(-20, 50), rotate(-90)');
57
+ assertTransform('right', 'translate(130, 50), rotate(90)');
58
+ assertTransform('top', 'translate(50, -20), rotate(0)');
59
+ assertTransform('bottom', 'translate(50, 130), rotate(0)');
60
+ });
61
+ //# sourceMappingURL=labels.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_labels","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","describe","onChange","jest","fn","renderComponent","extras","defaults","classes","className","graphProps","size","width","height","domain","min","max","step","padding","range","props","render","createElement","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","assertTransform","side","expected","concat","getTransform","toEqual"],"sources":["../../src/__tests__/labels.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\n\nimport Labels, { getTransform } from '../labels';\n\ndescribe('Labels', () => {\n let onChange = jest.fn();\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n graphProps: {\n size: {\n width: 400,\n height: 400,\n },\n domain: {\n min: 0,\n max: 10,\n step: 1,\n padding: 0,\n },\n range: {\n min: 0,\n max: 10,\n step: 1,\n padding: 0,\n },\n },\n };\n const props = { ...defaults, ...extras };\n return render(<Labels {...props} />);\n };\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n\ndescribe('getTransform', () => {\n const assertTransform = (side, expected) => {\n it(`returns ${expected} for ${side}`, () => {\n const r = getTransform('left', 100, 100);\n expect(r).toEqual('translate(-20, 50), rotate(-90)');\n });\n };\n\n assertTransform('left', 'translate(-20, 50), rotate(-90)');\n assertTransform('right', 'translate(130, 50), rotate(90)');\n assertTransform('top', 'translate(50, -20), rotate(0)');\n assertTransform('bottom', 'translate(50, 130), rotate(0)');\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _testUtils = require("@pie-lib/test-utils");
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _markLabel = require("../mark-label");
8
+ var _utils = require("./utils");
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ describe('MarkLabel', function () {
12
+ var onChange = jest.fn();
13
+ var inputRef = jest.fn();
14
+ var renderComponent = function renderComponent(extras) {
15
+ var defaults = {
16
+ classes: {},
17
+ className: 'className',
18
+ onChange: onChange,
19
+ inputRef: inputRef,
20
+ mark: {
21
+ x: 1,
22
+ y: 1
23
+ },
24
+ graphProps: (0, _utils.graphProps)(0, 10, 0, 10)
25
+ };
26
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
27
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_markLabel.MarkLabel, props));
28
+ };
29
+ describe('rendering', function () {
30
+ it('renders without crashing', function () {
31
+ var _renderComponent = renderComponent(),
32
+ container = _renderComponent.container;
33
+ expect(container.firstChild).toBeInTheDocument();
34
+ });
35
+ it('renders with different mark position', function () {
36
+ var _renderComponent2 = renderComponent({
37
+ mark: {
38
+ x: 10,
39
+ y: 10
40
+ }
41
+ }),
42
+ container = _renderComponent2.container;
43
+ expect(container.firstChild).toBeInTheDocument();
44
+ });
45
+ });
46
+ });
47
+ describe('position', function () {
48
+ var assertPosition = function assertPosition(mark, rect, expected) {
49
+ it("".concat(mark.x, ",").concat(mark.y, " + ").concat(rect.width, ",").concat(rect.height, " => ").concat(expected), function () {
50
+ // we set range.min to a value because in pixels - the greater the Y the lower down on the screen.
51
+ var graphProps = (0, _utils.graphProps)(0, 12, 12, 0);
52
+ var result = (0, _markLabel.position)(graphProps, mark, rect);
53
+ expect(result).toEqual(expected);
54
+ });
55
+ };
56
+ assertPosition({
57
+ x: 0,
58
+ y: 0
59
+ }, {
60
+ width: 10,
61
+ height: 10
62
+ }, 'top-left');
63
+ assertPosition({
64
+ x: 0,
65
+ y: 0
66
+ }, {
67
+ width: 1,
68
+ height: 1
69
+ }, 'bottom-right');
70
+ assertPosition({
71
+ x: 0,
72
+ y: 0
73
+ }, {
74
+ width: 10,
75
+ height: 0
76
+ }, 'bottom-left');
77
+ assertPosition({
78
+ x: 0,
79
+ y: 0
80
+ }, {
81
+ width: 0,
82
+ height: 10
83
+ }, 'top-right');
84
+ });
85
+ describe('coordinates', function () {
86
+ var assertCoordinates = function assertCoordinates(mark, rect, pos, expected) {
87
+ it("".concat(mark.x, ", ").concat(mark.y, " -> ").concat(pos, " = ").concat(expected.left, ", ").concat(expected.top), function () {
88
+ var result = (0, _markLabel.coordinates)((0, _utils.graphProps)(), mark, rect, pos);
89
+ expect(result).toEqual(expected);
90
+ });
91
+ };
92
+ assertCoordinates({
93
+ x: 0,
94
+ y: 0
95
+ }, {
96
+ width: 0,
97
+ height: 0
98
+ }, 'top-left', {
99
+ left: -5,
100
+ top: -5
101
+ });
102
+ assertCoordinates({
103
+ x: 0,
104
+ y: 0
105
+ }, {
106
+ width: 0,
107
+ height: 0
108
+ }, 'bottom-left', {
109
+ left: -5,
110
+ top: 5
111
+ });
112
+ assertCoordinates({
113
+ x: 0,
114
+ y: 0
115
+ }, {
116
+ width: 0,
117
+ height: 0
118
+ }, 'top-right', {
119
+ left: 5,
120
+ top: -5
121
+ });
122
+ assertCoordinates({
123
+ x: 0,
124
+ y: 0
125
+ }, {
126
+ width: 0,
127
+ height: 0
128
+ }, 'bottom-right', {
129
+ left: 5,
130
+ top: 5
131
+ });
132
+ });
133
+ //# sourceMappingURL=mark-label.test.js.map