@pie-lib/graphing 4.0.24-beta.6 → 4.0.24-beta.7

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 (97) hide show
  1. package/lib/__tests__/bg.test.js +282 -0
  2. package/lib/__tests__/coordinates-label.test.js +276 -0
  3. package/lib/__tests__/graph-with-controls.test.js +275 -0
  4. package/lib/__tests__/graph.test.js +927 -0
  5. package/lib/__tests__/grid-setup.test.js +729 -0
  6. package/lib/__tests__/grid.test.js +29 -0
  7. package/lib/__tests__/key-legend.test.js +321 -0
  8. package/lib/__tests__/label-svg-icon.test.js +373 -0
  9. package/lib/__tests__/labels.test.js +61 -0
  10. package/lib/__tests__/mark-label.test.js +133 -0
  11. package/lib/__tests__/toggle-bar.test.js +197 -0
  12. package/lib/__tests__/tool-menu.test.js +151 -0
  13. package/lib/__tests__/undo-redo.test.js +31 -0
  14. package/lib/__tests__/use-debounce.test.js +24 -0
  15. package/lib/__tests__/utils.js +70 -0
  16. package/lib/__tests__/utils.test.js +123 -0
  17. package/lib/axis/__tests__/arrow.test.js +60 -0
  18. package/lib/axis/__tests__/axes.test.js +195 -0
  19. package/lib/container/__tests__/actions.test.js +108 -0
  20. package/lib/container/__tests__/index.test.js +503 -0
  21. package/lib/container/__tests__/marks.test.js +259 -0
  22. package/lib/container/__tests__/middleware.test.js +244 -0
  23. package/lib/container/__tests__/reducer.test.js +450 -0
  24. package/lib/tools/absolute/__tests__/component.test.js +65 -0
  25. package/lib/tools/circle/__tests__/bg-circle.test.js +33 -0
  26. package/lib/tools/circle/__tests__/component.test.js +615 -0
  27. package/lib/tools/circle/__tests__/index.test.js +576 -0
  28. package/lib/tools/exponential/__tests__/component.test.js +64 -0
  29. package/lib/tools/exponential/__tests__/index.test.js +828 -0
  30. package/lib/tools/line/__tests__/component.test.js +45 -0
  31. package/lib/tools/parabola/__tests__/component.test.js +64 -0
  32. package/lib/tools/parabola/__tests__/index.test.js +564 -0
  33. package/lib/tools/point/__tests__/component.test.js +434 -0
  34. package/lib/tools/point/__tests__/index.test.js +262 -0
  35. package/lib/tools/polygon/__tests__/component.test.js +485 -0
  36. package/lib/tools/polygon/__tests__/index.test.js +303 -0
  37. package/lib/tools/polygon/__tests__/line.test.js +50 -0
  38. package/lib/tools/polygon/__tests__/polygon.test.js +85 -0
  39. package/lib/tools/ray/__tests__/component.test.js +35 -0
  40. package/lib/tools/segment/__tests__/component.test.js +35 -0
  41. package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
  42. package/lib/tools/shared/line/__tests__/index.test.js +124 -0
  43. package/lib/tools/shared/line/__tests__/line-path.test.js +62 -0
  44. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +90 -0
  45. package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
  46. package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
  47. package/lib/tools/sine/__tests__/component.test.js +72 -0
  48. package/lib/tools/vector/__tests__/component.test.js +32 -0
  49. package/package.json +3 -3
  50. package/src/__tests__/bg.test.jsx +250 -0
  51. package/src/__tests__/coordinates-label.test.jsx +243 -0
  52. package/src/__tests__/graph-with-controls.test.jsx +198 -0
  53. package/src/__tests__/graph.test.jsx +721 -0
  54. package/src/__tests__/grid-setup.test.jsx +645 -0
  55. package/src/__tests__/grid.test.jsx +22 -0
  56. package/src/__tests__/key-legend.test.jsx +260 -0
  57. package/src/__tests__/label-svg-icon.test.jsx +278 -0
  58. package/src/__tests__/labels.test.jsx +55 -0
  59. package/src/__tests__/mark-label.test.jsx +63 -0
  60. package/src/__tests__/toggle-bar.test.jsx +146 -0
  61. package/src/__tests__/tool-menu.test.jsx +115 -0
  62. package/src/__tests__/undo-redo.test.jsx +24 -0
  63. package/src/__tests__/use-debounce.test.js +21 -0
  64. package/src/__tests__/utils.js +41 -0
  65. package/src/__tests__/utils.test.js +105 -0
  66. package/src/axis/__tests__/arrow.test.jsx +38 -0
  67. package/src/axis/__tests__/axes.test.jsx +216 -0
  68. package/src/container/__tests__/actions.test.js +105 -0
  69. package/src/container/__tests__/index.test.jsx +319 -0
  70. package/src/container/__tests__/marks.test.js +172 -0
  71. package/src/container/__tests__/middleware.test.js +235 -0
  72. package/src/container/__tests__/reducer.test.js +324 -0
  73. package/src/tools/absolute/__tests__/component.test.jsx +53 -0
  74. package/src/tools/circle/__tests__/bg-circle.test.jsx +26 -0
  75. package/src/tools/circle/__tests__/component.test.jsx +494 -0
  76. package/src/tools/circle/__tests__/index.test.js +480 -0
  77. package/src/tools/exponential/__tests__/component.test.jsx +53 -0
  78. package/src/tools/exponential/__tests__/index.test.js +729 -0
  79. package/src/tools/line/__tests__/component.test.jsx +37 -0
  80. package/src/tools/parabola/__tests__/component.test.jsx +48 -0
  81. package/src/tools/parabola/__tests__/index.test.js +470 -0
  82. package/src/tools/point/__tests__/component.test.jsx +349 -0
  83. package/src/tools/point/__tests__/index.test.js +241 -0
  84. package/src/tools/polygon/__tests__/component.test.jsx +471 -0
  85. package/src/tools/polygon/__tests__/index.test.js +294 -0
  86. package/src/tools/polygon/__tests__/line.test.jsx +35 -0
  87. package/src/tools/polygon/__tests__/polygon.test.jsx +61 -0
  88. package/src/tools/ray/__tests__/component.test.jsx +29 -0
  89. package/src/tools/segment/__tests__/component.test.jsx +28 -0
  90. package/src/tools/shared/__tests__/arrow-head.test.jsx +31 -0
  91. package/src/tools/shared/line/__tests__/index.test.jsx +109 -0
  92. package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
  93. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
  94. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +91 -0
  95. package/src/tools/shared/point/__tests__/base-point.test.jsx +87 -0
  96. package/src/tools/sine/__tests__/component.test.jsx +51 -0
  97. package/src/tools/vector/__tests__/component.test.jsx +25 -0
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
5
+ var _index = require("../index");
6
+ var _component = _interopRequireDefault(require("../component"));
7
+ var xy = function xy(x, y) {
8
+ return {
9
+ x: x,
10
+ y: y
11
+ };
12
+ };
13
+
14
+ /**
15
+ * Test suite for polygon tool
16
+ *
17
+ * Note: equalPoints() uses roundNumber() which rounds to 4 decimal places.
18
+ * - Values like 1.0001 and 1.0002 are considered DIFFERENT (round to 1.0001 and 1.0002)
19
+ * - Values like 1.00001 and 1.00002 are considered EQUAL (both round to 1.0000)
20
+ */
21
+
22
+ describe('polygon', function () {
23
+ describe('addPointToArray', function () {
24
+ var assertAddPoint = function assertAddPoint(point, arr, expected) {
25
+ it("returns expected result when adding point to array", function () {
26
+ var result = (0, _index.addPointToArray)(point, arr);
27
+ expect(result).toEqual(expected);
28
+ });
29
+ };
30
+ assertAddPoint(xy(0, 0), [], {
31
+ closed: false,
32
+ points: [xy(0, 0)]
33
+ });
34
+ assertAddPoint(xy(0, 0), [xy(0, 0)], {
35
+ closed: false,
36
+ points: [xy(0, 0)]
37
+ });
38
+ assertAddPoint(xy(1, 1), [xy(0, 0)], {
39
+ closed: false,
40
+ points: [xy(0, 0), xy(1, 1)]
41
+ });
42
+ it('handles undefined array', function () {
43
+ var result = (0, _index.addPointToArray)(xy(1, 2), undefined);
44
+ expect(result).toEqual({
45
+ points: [xy(1, 2)],
46
+ closed: false
47
+ });
48
+ });
49
+ it('handles null array', function () {
50
+ var result = (0, _index.addPointToArray)(xy(1, 2), null);
51
+ expect(result).toEqual({
52
+ points: [xy(1, 2)],
53
+ closed: false
54
+ });
55
+ });
56
+ it('closes polygon when clicking first point', function () {
57
+ var firstPoint = xy(1, 2);
58
+ var points = [firstPoint, xy(3, 4), xy(5, 6)];
59
+ var result = (0, _index.addPointToArray)(firstPoint, points);
60
+ expect(result).toEqual({
61
+ points: points,
62
+ closed: true
63
+ });
64
+ });
65
+ it('does not add duplicate point in middle', function () {
66
+ var points = [xy(1, 2), xy(3, 4), xy(5, 6)];
67
+ var result = (0, _index.addPointToArray)(points[1], points);
68
+ expect(result).toEqual({
69
+ points: points,
70
+ closed: false
71
+ });
72
+ });
73
+ it('adds new point to array with 2+ points', function () {
74
+ var points = [xy(0, 0), xy(1, 1)];
75
+ var newPoint = xy(2, 2);
76
+ var result = (0, _index.addPointToArray)(newPoint, points);
77
+ expect(result).toEqual({
78
+ points: [].concat(points, [newPoint]),
79
+ closed: false
80
+ });
81
+ });
82
+ it('handles points within rounding tolerance', function () {
83
+ // roundNumber rounds to 4 decimal places
84
+ // 1.0001 and 1.0002 round to different values after toFixed(4)
85
+ var firstPoint = xy(1.0001, 2.0001);
86
+ var closePoint = xy(1.0002, 2.0002);
87
+ var result = (0, _index.addPointToArray)(closePoint, [firstPoint]);
88
+
89
+ // Since they round to different values, both points are added
90
+ expect(result).toEqual({
91
+ points: [firstPoint, closePoint],
92
+ closed: false
93
+ });
94
+ });
95
+ it('handles points that round to exactly the same value', function () {
96
+ // Points that round to exactly the same value after toFixed(4)
97
+ var firstPoint = xy(1.0001, 2.0001);
98
+ var samePoint = xy(1.0001, 2.0001);
99
+ var result = (0, _index.addPointToArray)(samePoint, [firstPoint]);
100
+
101
+ // Since they round to the same value, point is not added
102
+ expect(result).toEqual({
103
+ points: [firstPoint],
104
+ closed: false
105
+ });
106
+ });
107
+ });
108
+ });
109
+ describe('tool', function () {
110
+ var t;
111
+ beforeEach(function () {
112
+ t = (0, _index.tool)();
113
+ });
114
+ describe('tool structure', function () {
115
+ it('creates polygon type', function () {
116
+ expect(t.type).toEqual('polygon');
117
+ });
118
+ it('has Component property', function () {
119
+ expect(t.Component).toBe(_component["default"]);
120
+ });
121
+ it('has complete method', function () {
122
+ expect((0, _typeof2["default"])(t.complete)).toBe('function');
123
+ });
124
+ it('has addPoint method', function () {
125
+ expect((0, _typeof2["default"])(t.addPoint)).toBe('function');
126
+ });
127
+ });
128
+ describe('complete', function () {
129
+ it('closes polygon', function () {
130
+ expect(t.complete()).toEqual({
131
+ building: false,
132
+ closed: true
133
+ });
134
+ });
135
+ it('marks polygon as not building', function () {
136
+ var mark = {
137
+ type: 'polygon',
138
+ points: [xy(1, 2), xy(3, 4)],
139
+ closed: false,
140
+ building: true
141
+ };
142
+ var result = t.complete(null, mark);
143
+ expect(result.building).toBe(false);
144
+ });
145
+ it('marks polygon as closed', function () {
146
+ var mark = {
147
+ type: 'polygon',
148
+ points: [xy(1, 2), xy(3, 4)],
149
+ closed: false,
150
+ building: true
151
+ };
152
+ var result = t.complete(null, mark);
153
+ expect(result.closed).toBe(true);
154
+ });
155
+ it('preserves other mark properties', function () {
156
+ var mark = {
157
+ type: 'polygon',
158
+ points: [xy(1, 2)],
159
+ closed: false,
160
+ building: true,
161
+ label: 'Test',
162
+ color: 'red'
163
+ };
164
+ var result = t.complete(null, mark);
165
+ expect(result.label).toBe('Test');
166
+ expect(result.color).toBe('red');
167
+ });
168
+ });
169
+ describe('addPoint', function () {
170
+ it('creates new polygon with first point', function () {
171
+ var mark = t.addPoint({
172
+ x: 0,
173
+ y: 0
174
+ });
175
+ expect(mark).toEqual({
176
+ type: 'polygon',
177
+ points: [{
178
+ x: 0,
179
+ y: 0
180
+ }],
181
+ closed: false,
182
+ building: true
183
+ });
184
+ });
185
+ it('adds second point to existing mark', function () {
186
+ var mark = t.addPoint({
187
+ x: 0,
188
+ y: 0
189
+ }, {
190
+ points: [{
191
+ x: 1,
192
+ y: 1
193
+ }]
194
+ });
195
+ expect(mark).toEqual({
196
+ building: true,
197
+ closed: false,
198
+ points: [{
199
+ x: 1,
200
+ y: 1
201
+ }, {
202
+ x: 0,
203
+ y: 0
204
+ }]
205
+ });
206
+ });
207
+ it('creates mark with building flag true', function () {
208
+ var mark = t.addPoint(xy(1, 2));
209
+ expect(mark.building).toBe(true);
210
+ });
211
+ it('creates mark with closed flag false', function () {
212
+ var mark = t.addPoint(xy(1, 2));
213
+ expect(mark.closed).toBe(false);
214
+ });
215
+ it('adds multiple points sequentially', function () {
216
+ var mark = t.addPoint(xy(0, 0));
217
+ mark = t.addPoint(xy(1, 1), mark);
218
+ mark = t.addPoint(xy(2, 2), mark);
219
+ expect(mark.points).toHaveLength(3);
220
+ expect(mark.points).toEqual([xy(0, 0), xy(1, 1), xy(2, 2)]);
221
+ });
222
+ it('closes polygon when clicking first point', function () {
223
+ var firstPoint = xy(1, 2);
224
+ var mark = t.addPoint(firstPoint);
225
+ mark = t.addPoint(xy(3, 4), mark);
226
+ mark = t.addPoint(xy(5, 6), mark);
227
+ mark = t.addPoint(firstPoint, mark);
228
+ expect(mark.closed).toBe(true);
229
+ expect(mark.building).toBe(false);
230
+ });
231
+ it('does not add duplicate points', function () {
232
+ var point = xy(1, 2);
233
+ var mark = t.addPoint(point);
234
+ mark = t.addPoint(xy(3, 4), mark);
235
+ // Adding the first point again would close it
236
+ // Let's add it one more time after closing to test duplicate handling
237
+ mark = t.addPoint(point, mark);
238
+
239
+ // When we add the first point to a polygon with 2+ points, it closes
240
+ expect(mark.points).toHaveLength(2);
241
+ expect(mark.closed).toBe(true);
242
+ expect(mark.building).toBe(false);
243
+ });
244
+ it('does not add duplicate non-first points', function () {
245
+ var firstPoint = xy(1, 2);
246
+ var secondPoint = xy(3, 4);
247
+ var mark = t.addPoint(firstPoint);
248
+ mark = t.addPoint(secondPoint, mark);
249
+ mark = t.addPoint(xy(5, 6), mark);
250
+ // Try to add the second point again (not the first point)
251
+ mark = t.addPoint(secondPoint, mark);
252
+
253
+ // Should not add the duplicate point
254
+ expect(mark.points).toHaveLength(3);
255
+ expect(mark.points).toEqual([firstPoint, secondPoint, xy(5, 6)]);
256
+ expect(mark.closed).toBe(false);
257
+ });
258
+ it('preserves mark properties when adding points', function () {
259
+ var mark = {
260
+ type: 'polygon',
261
+ points: [xy(1, 2)],
262
+ closed: false,
263
+ building: true,
264
+ label: 'My Shape'
265
+ };
266
+ var result = t.addPoint(xy(3, 4), mark);
267
+ expect(result.label).toBe('My Shape');
268
+ });
269
+ });
270
+ describe('integration scenarios', function () {
271
+ it('creates complete triangle', function () {
272
+ var p1 = xy(0, 0);
273
+ var p2 = xy(1, 0);
274
+ var p3 = xy(0.5, 1);
275
+ var mark = t.addPoint(p1);
276
+ mark = t.addPoint(p2, mark);
277
+ mark = t.addPoint(p3, mark);
278
+ mark = t.addPoint(p1, mark);
279
+ expect(mark.points).toEqual([p1, p2, p3]);
280
+ expect(mark.closed).toBe(true);
281
+ expect(mark.building).toBe(false);
282
+ });
283
+ it('creates complete square', function () {
284
+ var points = [xy(0, 0), xy(1, 0), xy(1, 1), xy(0, 1)];
285
+ var mark = t.addPoint(points[0]);
286
+ points.slice(1).forEach(function (p) {
287
+ mark = t.addPoint(p, mark);
288
+ });
289
+ mark = t.addPoint(points[0], mark);
290
+ expect(mark.points).toEqual(points);
291
+ expect(mark.closed).toBe(true);
292
+ });
293
+ it('can force complete without closing', function () {
294
+ var mark = t.addPoint(xy(0, 0));
295
+ mark = t.addPoint(xy(1, 1), mark);
296
+ mark = t.complete(null, mark);
297
+ expect(mark.closed).toBe(true);
298
+ expect(mark.building).toBe(false);
299
+ expect(mark.points).toHaveLength(2);
300
+ });
301
+ });
302
+ });
303
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJyZXF1aXJlIiwiX2NvbXBvbmVudCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJ4eSIsIngiLCJ5IiwiZGVzY3JpYmUiLCJhc3NlcnRBZGRQb2ludCIsInBvaW50IiwiYXJyIiwiZXhwZWN0ZWQiLCJpdCIsInJlc3VsdCIsImFkZFBvaW50VG9BcnJheSIsImV4cGVjdCIsInRvRXF1YWwiLCJjbG9zZWQiLCJwb2ludHMiLCJ1bmRlZmluZWQiLCJmaXJzdFBvaW50IiwibmV3UG9pbnQiLCJjb25jYXQiLCJjbG9zZVBvaW50Iiwic2FtZVBvaW50IiwidCIsImJlZm9yZUVhY2giLCJ0b29sIiwidHlwZSIsIkNvbXBvbmVudCIsInRvQmUiLCJQb2x5Z29uIiwiX3R5cGVvZjIiLCJjb21wbGV0ZSIsImFkZFBvaW50IiwiYnVpbGRpbmciLCJtYXJrIiwibGFiZWwiLCJjb2xvciIsInRvSGF2ZUxlbmd0aCIsInNlY29uZFBvaW50IiwicDEiLCJwMiIsInAzIiwic2xpY2UiLCJmb3JFYWNoIiwicCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wb2x5Z29uL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZFBvaW50VG9BcnJheSwgdG9vbCB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCBQb2x5Z29uIGZyb20gJy4uL2NvbXBvbmVudCc7XG5cbmNvbnN0IHh5ID0gKHgsIHkpID0+ICh7IHgsIHkgfSk7XG5cbi8qKlxuICogVGVzdCBzdWl0ZSBmb3IgcG9seWdvbiB0b29sXG4gKlxuICogTm90ZTogZXF1YWxQb2ludHMoKSB1c2VzIHJvdW5kTnVtYmVyKCkgd2hpY2ggcm91bmRzIHRvIDQgZGVjaW1hbCBwbGFjZXMuXG4gKiAtIFZhbHVlcyBsaWtlIDEuMDAwMSBhbmQgMS4wMDAyIGFyZSBjb25zaWRlcmVkIERJRkZFUkVOVCAocm91bmQgdG8gMS4wMDAxIGFuZCAxLjAwMDIpXG4gKiAtIFZhbHVlcyBsaWtlIDEuMDAwMDEgYW5kIDEuMDAwMDIgYXJlIGNvbnNpZGVyZWQgRVFVQUwgKGJvdGggcm91bmQgdG8gMS4wMDAwKVxuICovXG5cbmRlc2NyaWJlKCdwb2x5Z29uJywgKCkgPT4ge1xuICBkZXNjcmliZSgnYWRkUG9pbnRUb0FycmF5JywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydEFkZFBvaW50ID0gKHBvaW50LCBhcnIsIGV4cGVjdGVkKSA9PiB7XG4gICAgICBpdChgcmV0dXJucyBleHBlY3RlZCByZXN1bHQgd2hlbiBhZGRpbmcgcG9pbnQgdG8gYXJyYXlgLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGFkZFBvaW50VG9BcnJheShwb2ludCwgYXJyKTtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgYXNzZXJ0QWRkUG9pbnQoeHkoMCwgMCksIFtdLCB7IGNsb3NlZDogZmFsc2UsIHBvaW50czogW3h5KDAsIDApXSB9KTtcbiAgICBhc3NlcnRBZGRQb2ludCh4eSgwLCAwKSwgW3h5KDAsIDApXSwgeyBjbG9zZWQ6IGZhbHNlLCBwb2ludHM6IFt4eSgwLCAwKV0gfSk7XG4gICAgYXNzZXJ0QWRkUG9pbnQoeHkoMSwgMSksIFt4eSgwLCAwKV0sIHtcbiAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICBwb2ludHM6IFt4eSgwLCAwKSwgeHkoMSwgMSldLFxuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgdW5kZWZpbmVkIGFycmF5JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYWRkUG9pbnRUb0FycmF5KHh5KDEsIDIpLCB1bmRlZmluZWQpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHBvaW50czogW3h5KDEsIDIpXSwgY2xvc2VkOiBmYWxzZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdoYW5kbGVzIG51bGwgYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhZGRQb2ludFRvQXJyYXkoeHkoMSwgMiksIG51bGwpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHBvaW50czogW3h5KDEsIDIpXSwgY2xvc2VkOiBmYWxzZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjbG9zZXMgcG9seWdvbiB3aGVuIGNsaWNraW5nIGZpcnN0IHBvaW50JywgKCkgPT4ge1xuICAgICAgY29uc3QgZmlyc3RQb2ludCA9IHh5KDEsIDIpO1xuICAgICAgY29uc3QgcG9pbnRzID0gW2ZpcnN0UG9pbnQsIHh5KDMsIDQpLCB4eSg1LCA2KV07XG4gICAgICBjb25zdCByZXN1bHQgPSBhZGRQb2ludFRvQXJyYXkoZmlyc3RQb2ludCwgcG9pbnRzKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHBvaW50cywgY2xvc2VkOiB0cnVlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RvZXMgbm90IGFkZCBkdXBsaWNhdGUgcG9pbnQgaW4gbWlkZGxlJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnRzID0gW3h5KDEsIDIpLCB4eSgzLCA0KSwgeHkoNSwgNildO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYWRkUG9pbnRUb0FycmF5KHBvaW50c1sxXSwgcG9pbnRzKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHBvaW50cywgY2xvc2VkOiBmYWxzZSB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdhZGRzIG5ldyBwb2ludCB0byBhcnJheSB3aXRoIDIrIHBvaW50cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50cyA9IFt4eSgwLCAwKSwgeHkoMSwgMSldO1xuICAgICAgY29uc3QgbmV3UG9pbnQgPSB4eSgyLCAyKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGFkZFBvaW50VG9BcnJheShuZXdQb2ludCwgcG9pbnRzKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHBvaW50czogWy4uLnBvaW50cywgbmV3UG9pbnRdLFxuICAgICAgICBjbG9zZWQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyBwb2ludHMgd2l0aGluIHJvdW5kaW5nIHRvbGVyYW5jZScsICgpID0+IHtcbiAgICAgIC8vIHJvdW5kTnVtYmVyIHJvdW5kcyB0byA0IGRlY2ltYWwgcGxhY2VzXG4gICAgICAvLyAxLjAwMDEgYW5kIDEuMDAwMiByb3VuZCB0byBkaWZmZXJlbnQgdmFsdWVzIGFmdGVyIHRvRml4ZWQoNClcbiAgICAgIGNvbnN0IGZpcnN0UG9pbnQgPSB4eSgxLjAwMDEsIDIuMDAwMSk7XG4gICAgICBjb25zdCBjbG9zZVBvaW50ID0geHkoMS4wMDAyLCAyLjAwMDIpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYWRkUG9pbnRUb0FycmF5KGNsb3NlUG9pbnQsIFtmaXJzdFBvaW50XSk7XG5cbiAgICAgIC8vIFNpbmNlIHRoZXkgcm91bmQgdG8gZGlmZmVyZW50IHZhbHVlcywgYm90aCBwb2ludHMgYXJlIGFkZGVkXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgcG9pbnRzOiBbZmlyc3RQb2ludCwgY2xvc2VQb2ludF0sIGNsb3NlZDogZmFsc2UgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyBwb2ludHMgdGhhdCByb3VuZCB0byBleGFjdGx5IHRoZSBzYW1lIHZhbHVlJywgKCkgPT4ge1xuICAgICAgLy8gUG9pbnRzIHRoYXQgcm91bmQgdG8gZXhhY3RseSB0aGUgc2FtZSB2YWx1ZSBhZnRlciB0b0ZpeGVkKDQpXG4gICAgICBjb25zdCBmaXJzdFBvaW50ID0geHkoMS4wMDAxLCAyLjAwMDEpO1xuICAgICAgY29uc3Qgc2FtZVBvaW50ID0geHkoMS4wMDAxLCAyLjAwMDEpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYWRkUG9pbnRUb0FycmF5KHNhbWVQb2ludCwgW2ZpcnN0UG9pbnRdKTtcblxuICAgICAgLy8gU2luY2UgdGhleSByb3VuZCB0byB0aGUgc2FtZSB2YWx1ZSwgcG9pbnQgaXMgbm90IGFkZGVkXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgcG9pbnRzOiBbZmlyc3RQb2ludF0sIGNsb3NlZDogZmFsc2UgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCd0b29sJywgKCkgPT4ge1xuICBsZXQgdDtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICB0ID0gdG9vbCgpO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9vbCBzdHJ1Y3R1cmUnLCAoKSA9PiB7XG4gICAgaXQoJ2NyZWF0ZXMgcG9seWdvbiB0eXBlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHQudHlwZSkudG9FcXVhbCgncG9seWdvbicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhcyBDb21wb25lbnQgcHJvcGVydHknLCAoKSA9PiB7XG4gICAgICBleHBlY3QodC5Db21wb25lbnQpLnRvQmUoUG9seWdvbik7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFzIGNvbXBsZXRlIG1ldGhvZCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh0eXBlb2YgdC5jb21wbGV0ZSkudG9CZSgnZnVuY3Rpb24nKTtcbiAgICB9KTtcblxuICAgIGl0KCdoYXMgYWRkUG9pbnQgbWV0aG9kJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHR5cGVvZiB0LmFkZFBvaW50KS50b0JlKCdmdW5jdGlvbicpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29tcGxldGUnLCAoKSA9PiB7XG4gICAgaXQoJ2Nsb3NlcyBwb2x5Z29uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHQuY29tcGxldGUoKSkudG9FcXVhbCh7IGJ1aWxkaW5nOiBmYWxzZSwgY2xvc2VkOiB0cnVlIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ21hcmtzIHBvbHlnb24gYXMgbm90IGJ1aWxkaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFyayA9IHtcbiAgICAgICAgdHlwZTogJ3BvbHlnb24nLFxuICAgICAgICBwb2ludHM6IFt4eSgxLCAyKSwgeHkoMywgNCldLFxuICAgICAgICBjbG9zZWQ6IGZhbHNlLFxuICAgICAgICBidWlsZGluZzogdHJ1ZSxcbiAgICAgIH07XG4gICAgICBjb25zdCByZXN1bHQgPSB0LmNvbXBsZXRlKG51bGwsIG1hcmspO1xuXG4gICAgICBleHBlY3QocmVzdWx0LmJ1aWxkaW5nKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdtYXJrcyBwb2x5Z29uIGFzIGNsb3NlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmsgPSB7XG4gICAgICAgIHR5cGU6ICdwb2x5Z29uJyxcbiAgICAgICAgcG9pbnRzOiBbeHkoMSwgMiksIHh5KDMsIDQpXSxcbiAgICAgICAgY2xvc2VkOiBmYWxzZSxcbiAgICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gdC5jb21wbGV0ZShudWxsLCBtYXJrKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdC5jbG9zZWQpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgncHJlc2VydmVzIG90aGVyIG1hcmsgcHJvcGVydGllcycsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmsgPSB7XG4gICAgICAgIHR5cGU6ICdwb2x5Z29uJyxcbiAgICAgICAgcG9pbnRzOiBbeHkoMSwgMildLFxuICAgICAgICBjbG9zZWQ6IGZhbHNlLFxuICAgICAgICBidWlsZGluZzogdHJ1ZSxcbiAgICAgICAgbGFiZWw6ICdUZXN0JyxcbiAgICAgICAgY29sb3I6ICdyZWQnLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHQuY29tcGxldGUobnVsbCwgbWFyayk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQubGFiZWwpLnRvQmUoJ1Rlc3QnKTtcbiAgICAgIGV4cGVjdChyZXN1bHQuY29sb3IpLnRvQmUoJ3JlZCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkUG9pbnQnLCAoKSA9PiB7XG4gICAgaXQoJ2NyZWF0ZXMgbmV3IHBvbHlnb24gd2l0aCBmaXJzdCBwb2ludCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmsgPSB0LmFkZFBvaW50KHsgeDogMCwgeTogMCB9KTtcbiAgICAgIGV4cGVjdChtYXJrKS50b0VxdWFsKHtcbiAgICAgICAgdHlwZTogJ3BvbHlnb24nLFxuICAgICAgICBwb2ludHM6IFt7IHg6IDAsIHk6IDAgfV0sXG4gICAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICAgIGJ1aWxkaW5nOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnYWRkcyBzZWNvbmQgcG9pbnQgdG8gZXhpc3RpbmcgbWFyaycsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmsgPSB0LmFkZFBvaW50KHsgeDogMCwgeTogMCB9LCB7IHBvaW50czogW3sgeDogMSwgeTogMSB9XSB9KTtcbiAgICAgIGV4cGVjdChtYXJrKS50b0VxdWFsKHtcbiAgICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICAgIHBvaW50czogW1xuICAgICAgICAgIHsgeDogMSwgeTogMSB9LFxuICAgICAgICAgIHsgeDogMCwgeTogMCB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY3JlYXRlcyBtYXJrIHdpdGggYnVpbGRpbmcgZmxhZyB0cnVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFyayA9IHQuYWRkUG9pbnQoeHkoMSwgMikpO1xuICAgICAgZXhwZWN0KG1hcmsuYnVpbGRpbmcpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY3JlYXRlcyBtYXJrIHdpdGggY2xvc2VkIGZsYWcgZmFsc2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBtYXJrID0gdC5hZGRQb2ludCh4eSgxLCAyKSk7XG4gICAgICBleHBlY3QobWFyay5jbG9zZWQpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FkZHMgbXVsdGlwbGUgcG9pbnRzIHNlcXVlbnRpYWxseScsICgpID0+IHtcbiAgICAgIGxldCBtYXJrID0gdC5hZGRQb2ludCh4eSgwLCAwKSk7XG4gICAgICBtYXJrID0gdC5hZGRQb2ludCh4eSgxLCAxKSwgbWFyayk7XG4gICAgICBtYXJrID0gdC5hZGRQb2ludCh4eSgyLCAyKSwgbWFyayk7XG5cbiAgICAgIGV4cGVjdChtYXJrLnBvaW50cykudG9IYXZlTGVuZ3RoKDMpO1xuICAgICAgZXhwZWN0KG1hcmsucG9pbnRzKS50b0VxdWFsKFt4eSgwLCAwKSwgeHkoMSwgMSksIHh5KDIsIDIpXSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2xvc2VzIHBvbHlnb24gd2hlbiBjbGlja2luZyBmaXJzdCBwb2ludCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGZpcnN0UG9pbnQgPSB4eSgxLCAyKTtcbiAgICAgIGxldCBtYXJrID0gdC5hZGRQb2ludChmaXJzdFBvaW50KTtcbiAgICAgIG1hcmsgPSB0LmFkZFBvaW50KHh5KDMsIDQpLCBtYXJrKTtcbiAgICAgIG1hcmsgPSB0LmFkZFBvaW50KHh5KDUsIDYpLCBtYXJrKTtcbiAgICAgIG1hcmsgPSB0LmFkZFBvaW50KGZpcnN0UG9pbnQsIG1hcmspO1xuXG4gICAgICBleHBlY3QobWFyay5jbG9zZWQpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QobWFyay5idWlsZGluZykudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZG9lcyBub3QgYWRkIGR1cGxpY2F0ZSBwb2ludHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludCA9IHh5KDEsIDIpO1xuICAgICAgbGV0IG1hcmsgPSB0LmFkZFBvaW50KHBvaW50KTtcbiAgICAgIG1hcmsgPSB0LmFkZFBvaW50KHh5KDMsIDQpLCBtYXJrKTtcbiAgICAgIC8vIEFkZGluZyB0aGUgZmlyc3QgcG9pbnQgYWdhaW4gd291bGQgY2xvc2UgaXRcbiAgICAgIC8vIExldCdzIGFkZCBpdCBvbmUgbW9yZSB0aW1lIGFmdGVyIGNsb3NpbmcgdG8gdGVzdCBkdXBsaWNhdGUgaGFuZGxpbmdcbiAgICAgIG1hcmsgPSB0LmFkZFBvaW50KHBvaW50LCBtYXJrKTtcblxuICAgICAgLy8gV2hlbiB3ZSBhZGQgdGhlIGZpcnN0IHBvaW50IHRvIGEgcG9seWdvbiB3aXRoIDIrIHBvaW50cywgaXQgY2xvc2VzXG4gICAgICBleHBlY3QobWFyay5wb2ludHMpLnRvSGF2ZUxlbmd0aCgyKTtcbiAgICAgIGV4cGVjdChtYXJrLmNsb3NlZCkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChtYXJrLmJ1aWxkaW5nKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdkb2VzIG5vdCBhZGQgZHVwbGljYXRlIG5vbi1maXJzdCBwb2ludHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdFBvaW50ID0geHkoMSwgMik7XG4gICAgICBjb25zdCBzZWNvbmRQb2ludCA9IHh5KDMsIDQpO1xuICAgICAgbGV0IG1hcmsgPSB0LmFkZFBvaW50KGZpcnN0UG9pbnQpO1xuICAgICAgbWFyayA9IHQuYWRkUG9pbnQoc2Vjb25kUG9pbnQsIG1hcmspO1xuICAgICAgbWFyayA9IHQuYWRkUG9pbnQoeHkoNSwgNiksIG1hcmspO1xuICAgICAgLy8gVHJ5IHRvIGFkZCB0aGUgc2Vjb25kIHBvaW50IGFnYWluIChub3QgdGhlIGZpcnN0IHBvaW50KVxuICAgICAgbWFyayA9IHQuYWRkUG9pbnQoc2Vjb25kUG9pbnQsIG1hcmspO1xuXG4gICAgICAvLyBTaG91bGQgbm90IGFkZCB0aGUgZHVwbGljYXRlIHBvaW50XG4gICAgICBleHBlY3QobWFyay5wb2ludHMpLnRvSGF2ZUxlbmd0aCgzKTtcbiAgICAgIGV4cGVjdChtYXJrLnBvaW50cykudG9FcXVhbChbZmlyc3RQb2ludCwgc2Vjb25kUG9pbnQsIHh5KDUsIDYpXSk7XG4gICAgICBleHBlY3QobWFyay5jbG9zZWQpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXNlcnZlcyBtYXJrIHByb3BlcnRpZXMgd2hlbiBhZGRpbmcgcG9pbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFyayA9IHtcbiAgICAgICAgdHlwZTogJ3BvbHlnb24nLFxuICAgICAgICBwb2ludHM6IFt4eSgxLCAyKV0sXG4gICAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICAgIGJ1aWxkaW5nOiB0cnVlLFxuICAgICAgICBsYWJlbDogJ015IFNoYXBlJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHQuYWRkUG9pbnQoeHkoMywgNCksIG1hcmspO1xuICAgICAgZXhwZWN0KHJlc3VsdC5sYWJlbCkudG9CZSgnTXkgU2hhcGUnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2ludGVncmF0aW9uIHNjZW5hcmlvcycsICgpID0+IHtcbiAgICBpdCgnY3JlYXRlcyBjb21wbGV0ZSB0cmlhbmdsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHAxID0geHkoMCwgMCk7XG4gICAgICBjb25zdCBwMiA9IHh5KDEsIDApO1xuICAgICAgY29uc3QgcDMgPSB4eSgwLjUsIDEpO1xuXG4gICAgICBsZXQgbWFyayA9IHQuYWRkUG9pbnQocDEpO1xuICAgICAgbWFyayA9IHQuYWRkUG9pbnQocDIsIG1hcmspO1xuICAgICAgbWFyayA9IHQuYWRkUG9pbnQocDMsIG1hcmspO1xuICAgICAgbWFyayA9IHQuYWRkUG9pbnQocDEsIG1hcmspO1xuXG4gICAgICBleHBlY3QobWFyay5wb2ludHMpLnRvRXF1YWwoW3AxLCBwMiwgcDNdKTtcbiAgICAgIGV4cGVjdChtYXJrLmNsb3NlZCkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChtYXJrLmJ1aWxkaW5nKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdjcmVhdGVzIGNvbXBsZXRlIHNxdWFyZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50cyA9IFt4eSgwLCAwKSwgeHkoMSwgMCksIHh5KDEsIDEpLCB4eSgwLCAxKV07XG5cbiAgICAgIGxldCBtYXJrID0gdC5hZGRQb2ludChwb2ludHNbMF0pO1xuICAgICAgcG9pbnRzLnNsaWNlKDEpLmZvckVhY2goKHApID0+IHtcbiAgICAgICAgbWFyayA9IHQuYWRkUG9pbnQocCwgbWFyayk7XG4gICAgICB9KTtcbiAgICAgIG1hcmsgPSB0LmFkZFBvaW50KHBvaW50c1swXSwgbWFyayk7XG5cbiAgICAgIGV4cGVjdChtYXJrLnBvaW50cykudG9FcXVhbChwb2ludHMpO1xuICAgICAgZXhwZWN0KG1hcmsuY2xvc2VkKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NhbiBmb3JjZSBjb21wbGV0ZSB3aXRob3V0IGNsb3NpbmcnLCAoKSA9PiB7XG4gICAgICBsZXQgbWFyayA9IHQuYWRkUG9pbnQoeHkoMCwgMCkpO1xuICAgICAgbWFyayA9IHQuYWRkUG9pbnQoeHkoMSwgMSksIG1hcmspO1xuICAgICAgbWFyayA9IHQuY29tcGxldGUobnVsbCwgbWFyayk7XG5cbiAgICAgIGV4cGVjdChtYXJrLmNsb3NlZCkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChtYXJrLmJ1aWxkaW5nKS50b0JlKGZhbHNlKTtcbiAgICAgIGV4cGVjdChtYXJrLnBvaW50cykudG9IYXZlTGVuZ3RoKDIpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBTUcsRUFBRSxHQUFHLFNBQUxBLEVBQUVBLENBQUlDLENBQUMsRUFBRUMsQ0FBQztFQUFBLE9BQU07SUFBRUQsQ0FBQyxFQUFEQSxDQUFDO0lBQUVDLENBQUMsRUFBREE7RUFBRSxDQUFDO0FBQUEsQ0FBQzs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsWUFBTTtFQUN4QkEsUUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQU07SUFDaEMs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
@@ -0,0 +1,50 @@
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 _line = require("../line");
8
+ var _utils = require("../../../__tests__/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('Line', function () {
12
+ var renderComponent = function renderComponent(extras) {
13
+ var defaults = {
14
+ classes: {},
15
+ className: 'className',
16
+ graphProps: (0, _utils.graphProps)()
17
+ };
18
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
19
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_line.Line, props));
20
+ };
21
+ describe('rendering', function () {
22
+ it('renders without crashing', function () {
23
+ var _renderComponent = renderComponent(),
24
+ container = _renderComponent.container;
25
+ expect(container.firstChild).toBeInTheDocument();
26
+ });
27
+ it('renders with from and to points', function () {
28
+ var _renderComponent2 = renderComponent({
29
+ from: {
30
+ x: 0,
31
+ y: 0
32
+ },
33
+ to: {
34
+ x: 5,
35
+ y: 5
36
+ }
37
+ }),
38
+ container = _renderComponent2.container;
39
+ expect(container.firstChild).toBeInTheDocument();
40
+ });
41
+ it('renders with className', function () {
42
+ var _renderComponent3 = renderComponent({
43
+ className: 'custom-line'
44
+ }),
45
+ container = _renderComponent3.container;
46
+ expect(container.firstChild).toBeInTheDocument();
47
+ });
48
+ });
49
+ });
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbGluZSIsIl91dGlscyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiZGVzY3JpYmUiLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiTGluZSIsIml0IiwiX3JlbmRlckNvbXBvbmVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIl9yZW5kZXJDb21wb25lbnQyIiwiZnJvbSIsIngiLCJ5IiwidG8iLCJfcmVuZGVyQ29tcG9uZW50MyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wb2x5Z29uL19fdGVzdHNfXy9saW5lLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExpbmUgfSBmcm9tICcuLi9saW5lJztcbmltcG9ydCB7IGdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuXG5kZXNjcmliZSgnTGluZScsICgpID0+IHtcbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxMaW5lIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGZyb20gYW5kIHRvIHBvaW50cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoe1xuICAgICAgICBmcm9tOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgICAgdG86IHsgeDogNSwgeTogNSB9LFxuICAgICAgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGNsYXNzTmFtZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoeyBjbGFzc05hbWU6ICdjdXN0b20tbGluZScgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJ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
@@ -0,0 +1,85 @@
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 _polygon = require("../polygon");
8
+ var _utils = require("../../../__tests__/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
+ var xy = function xy(x, y) {
12
+ return {
13
+ x: x,
14
+ y: y
15
+ };
16
+ };
17
+ describe('Polygon', function () {
18
+ var renderComponent = function renderComponent(extras) {
19
+ var defaults = {
20
+ classes: {},
21
+ className: 'className',
22
+ graphProps: (0, _utils.graphProps)(),
23
+ closed: false
24
+ };
25
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
26
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_polygon.Polygon, props));
27
+ };
28
+ describe('rendering', function () {
29
+ it('renders without crashing', function () {
30
+ var _renderComponent = renderComponent({
31
+ points: [{
32
+ x: 1,
33
+ y: 1
34
+ }]
35
+ }),
36
+ container = _renderComponent.container;
37
+ expect(container.firstChild).toBeInTheDocument();
38
+ });
39
+ it('renders multiple points', function () {
40
+ var points = [xy(0, 0), xy(1, 1), xy(2, 0)];
41
+ var _renderComponent2 = renderComponent({
42
+ points: points
43
+ }),
44
+ container = _renderComponent2.container;
45
+ expect(container.firstChild).toBeInTheDocument();
46
+ });
47
+ it('renders closed polygon', function () {
48
+ var points = [xy(0, 0), xy(1, 1), xy(2, 0)];
49
+ var _renderComponent3 = renderComponent({
50
+ points: points,
51
+ closed: true
52
+ }),
53
+ container = _renderComponent3.container;
54
+ expect(container.firstChild).toBeInTheDocument();
55
+ });
56
+ it('renders open polygon', function () {
57
+ var points = [xy(0, 0), xy(1, 1)];
58
+ var _renderComponent4 = renderComponent({
59
+ points: points,
60
+ closed: false
61
+ }),
62
+ container = _renderComponent4.container;
63
+ expect(container.firstChild).toBeInTheDocument();
64
+ });
65
+ });
66
+ });
67
+ describe('getPointString', function () {
68
+ var assertString = function assertString(arr, expected) {
69
+ it('creates: ', function () {
70
+ var result = (0, _polygon.getPointString)(arr, {
71
+ x: jest.fn(function (n) {
72
+ return n;
73
+ }),
74
+ y: jest.fn(function (n) {
75
+ return n;
76
+ })
77
+ });
78
+ expect(result).toEqual(expected);
79
+ });
80
+ };
81
+ assertString([xy(1, 1)], '1,1');
82
+ assertString([xy(1, 1), xy(2, 1)], '1,1 2,1');
83
+ assertString([xy(1, 1), xy(2, 1), xy(4, 4)], '1,1 2,1 4,4');
84
+ });
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcG9seWdvbiIsIl91dGlscyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwieHkiLCJ4IiwieSIsImRlc2NyaWJlIiwicmVuZGVyQ29tcG9uZW50IiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiZ3JhcGhQcm9wcyIsImNsb3NlZCIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIlBvbHlnb24iLCJpdCIsIl9yZW5kZXJDb21wb25lbnQiLCJwb2ludHMiLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJfcmVuZGVyQ29tcG9uZW50MiIsIl9yZW5kZXJDb21wb25lbnQzIiwiX3JlbmRlckNvbXBvbmVudDQiLCJhc3NlcnRTdHJpbmciLCJhcnIiLCJleHBlY3RlZCIsInJlc3VsdCIsImdldFBvaW50U3RyaW5nIiwiamVzdCIsImZuIiwibiIsInRvRXF1YWwiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHMvcG9seWdvbi9fX3Rlc3RzX18vcG9seWdvbi50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBnZXRQb2ludFN0cmluZywgUG9seWdvbiB9IGZyb20gJy4uL3BvbHlnb24nO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5cbmNvbnN0IHh5ID0gKHgsIHkpID0+ICh7IHgsIHkgfSk7XG5cbmRlc2NyaWJlKCdQb2x5Z29uJywgKCkgPT4ge1xuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgICBjbG9zZWQ6IGZhbHNlLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxQb2x5Z29uIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoeyBwb2ludHM6IFt7IHg6IDEsIHk6IDEgfV0gfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBtdWx0aXBsZSBwb2ludHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludHMgPSBbeHkoMCwgMCksIHh5KDEsIDEpLCB4eSgyLCAwKV07XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KHsgcG9pbnRzIH0pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgY2xvc2VkIHBvbHlnb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludHMgPSBbeHkoMCwgMCksIHh5KDEsIDEpLCB4eSgyLCAwKV07XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KHsgcG9pbnRzLCBjbG9zZWQ6IHRydWUgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBvcGVuIHBvbHlnb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludHMgPSBbeHkoMCwgMCksIHh5KDEsIDEpXTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoeyBwb2ludHMsIGNsb3NlZDogZmFsc2UgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdnZXRQb2ludFN0cmluZycsICgpID0+IHtcbiAgY29uc3QgYXNzZXJ0U3RyaW5nID0gKGFyciwgZXhwZWN0ZWQpID0+IHtcbiAgICBpdCgnY3JlYXRlczogJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0UG9pbnRTdHJpbmcoYXJyLCB7XG4gICAgICAgIHg6IGplc3QuZm4oKG4pID0+IG4pLFxuICAgICAgICB5OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICB9KTtcbiAgfTtcblxuICBhc3NlcnRTdHJpbmcoW3h5KDEsIDEpXSwgJzEsMScpO1xuICBhc3NlcnRTdHJpbmcoW3h5KDEsIDEpLCB4eSgyLCAxKV0sICcxLDEgMiwxJyk7XG4gIGFzc2VydFN0cmluZyhbeHkoMSwgMSksIHh5KDIsIDEpLCB4eSg0LCA0KV0sICcx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
@@ -0,0 +1,35 @@
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 _component = require("../component");
8
+ var _utils = require("../../../__tests__/utils");
9
+ var _plot = require("@pie-lib/plot");
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('RayLine', function () {
13
+ var onChange = jest.fn();
14
+ var renderComponent = function renderComponent(extras) {
15
+ var defaults = {
16
+ classes: {},
17
+ className: 'className',
18
+ onChange: onChange,
19
+ markerId: '1',
20
+ graphProps: (0, _utils.graphProps)(),
21
+ from: _plot.utils.xy(0, 0),
22
+ to: _plot.utils.xy(1, 1)
23
+ };
24
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
25
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_component.RayLine, props));
26
+ };
27
+ describe('rendering', function () {
28
+ it('renders without crashing', function () {
29
+ var _renderComponent = renderComponent(),
30
+ container = _renderComponent.container;
31
+ expect(container.firstChild).toBeInTheDocument();
32
+ });
33
+ });
34
+ });
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29tcG9uZW50IiwiX3V0aWxzIiwiX3Bsb3QiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJtYXJrZXJJZCIsImdyYXBoUHJvcHMiLCJnZXRHcmFwaFByb3BzIiwiZnJvbSIsInV0aWxzIiwieHkiLCJ0byIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIlJheUxpbmUiLCJpdCIsIl9yZW5kZXJDb21wb25lbnQiLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHMvcmF5L19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHBpZS1saWIvdGVzdC11dGlscyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUmF5TGluZSB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIGFzIGdldEdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcblxuZGVzY3JpYmUoJ1JheUxpbmUnLCAoKSA9PiB7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBtYXJrZXJJZDogJzEnLFxuICAgICAgZ3JhcGhQcm9wczogZ2V0R3JhcGhQcm9wcygpLFxuICAgICAgZnJvbTogdXRpbHMueHkoMCwgMCksXG4gICAgICB0bzogdXRpbHMueHkoMSwgMSksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPFJheUxpbmUgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBQXNDLFNBQUFNLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFD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
@@ -0,0 +1,35 @@
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 _component = require("../component");
8
+ var _utils = require("../../../__tests__/utils");
9
+ var _plot = require("@pie-lib/plot");
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
+ var xy = _plot.utils.xy;
13
+ describe('Line', function () {
14
+ var onChange = jest.fn();
15
+ var renderComponent = function renderComponent(extras) {
16
+ var defaults = {
17
+ classes: {},
18
+ className: 'className',
19
+ onChange: onChange,
20
+ graphProps: (0, _utils.graphProps)(),
21
+ from: xy(0, 0),
22
+ to: xy(1, 1)
23
+ };
24
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
25
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_component.Line, props));
26
+ };
27
+ describe('rendering', function () {
28
+ it('renders without crashing', function () {
29
+ var _renderComponent = renderComponent(),
30
+ container = _renderComponent.container;
31
+ expect(container.firstChild).toBeInTheDocument();
32
+ });
33
+ });
34
+ });
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29tcG9uZW50IiwiX3V0aWxzIiwiX3Bsb3QiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInh5IiwidXRpbHMiLCJkZXNjcmliZSIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwicmVuZGVyQ29tcG9uZW50IiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiZ3JhcGhQcm9wcyIsImdldEdyYXBoUHJvcHMiLCJmcm9tIiwidG8iLCJwcm9wcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJMaW5lIiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Rvb2xzL3NlZ21lbnQvX190ZXN0c19fL2NvbXBvbmVudC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5lIH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgYXMgZ2V0R3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuXG5jb25zdCB7IHh5IH0gPSB1dGlscztcbmRlc2NyaWJlKCdMaW5lJywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ2V0R3JhcGhQcm9wcygpLFxuICAgICAgZnJvbTogeHkoMCwgMCksXG4gICAgICB0bzogeHkoMSwgMSksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPExpbmUgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQUFzQyxTQUFBTSxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFB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