@pie-lib/graphing 3.0.0-next.0 → 3.1.0-next.0
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.
- package/lib/__tests__/graph-with-controls.test.js +226 -0
- package/lib/__tests__/graph.test.js +187 -0
- package/lib/__tests__/grid.test.js +29 -0
- package/lib/__tests__/labels.test.js +61 -0
- package/lib/__tests__/mark-label.test.js +133 -0
- package/lib/__tests__/toggle-bar.test.js +150 -0
- package/lib/__tests__/tool-menu.test.js +101 -0
- package/lib/__tests__/undo-redo.test.js +31 -0
- package/lib/__tests__/use-debounce.test.js +24 -0
- package/lib/__tests__/utils.js +70 -0
- package/lib/__tests__/utils.test.js +123 -0
- package/lib/axis/__tests__/arrow.test.js +60 -0
- package/lib/axis/__tests__/axes.test.js +195 -0
- package/lib/axis/arrow.js +1 -1
- package/lib/axis/axes.js +1 -1
- package/lib/axis/index.js +1 -1
- package/lib/bg.js +1 -1
- package/lib/container/actions.js +1 -1
- package/lib/container/index.js +1 -1
- package/lib/container/marks.js +1 -1
- package/lib/container/middleware.js +1 -1
- package/lib/container/reducer.js +1 -1
- package/lib/coordinates-label.js +1 -1
- package/lib/graph-with-controls.js +1 -1
- package/lib/graph.js +1 -1
- package/lib/grid-setup.js +3 -3
- package/lib/grid-setup.js.map +1 -1
- package/lib/grid.js +1 -1
- package/lib/index.js +1 -1
- package/lib/key-legend.js +1 -1
- package/lib/label-svg-icon.js +1 -1
- package/lib/labels.js +3 -3
- package/lib/labels.js.map +1 -1
- package/lib/mark-label.js +1 -1
- package/lib/toggle-bar.js +1 -1
- package/lib/tool-menu.js +1 -1
- package/lib/tools/absolute/__tests__/component.test.js +67 -0
- package/lib/tools/absolute/component.js +1 -1
- package/lib/tools/absolute/index.js +1 -1
- package/lib/tools/circle/__tests__/bg-circle.test.js +33 -0
- package/lib/tools/circle/__tests__/component.test.js +68 -0
- package/lib/tools/circle/bg-circle.js +1 -1
- package/lib/tools/circle/component.js +1 -1
- package/lib/tools/circle/index.js +1 -1
- package/lib/tools/exponential/__tests__/component.test.js +66 -0
- package/lib/tools/exponential/component.js +1 -1
- package/lib/tools/exponential/index.js +1 -1
- package/lib/tools/index.js +1 -1
- package/lib/tools/line/__tests__/component.test.js +45 -0
- package/lib/tools/line/component.js +1 -1
- package/lib/tools/line/index.js +1 -1
- package/lib/tools/parabola/__tests__/component.test.js +66 -0
- package/lib/tools/parabola/component.js +1 -1
- package/lib/tools/parabola/index.js +1 -1
- package/lib/tools/point/__tests__/component.test.js +50 -0
- package/lib/tools/point/component.js +1 -1
- package/lib/tools/point/index.js +1 -1
- package/lib/tools/polygon/__tests__/component.test.js +85 -0
- package/lib/tools/polygon/__tests__/index.test.js +92 -0
- package/lib/tools/polygon/__tests__/line.test.js +29 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +59 -0
- package/lib/tools/polygon/component.js +1 -1
- package/lib/tools/polygon/index.js +1 -1
- package/lib/tools/polygon/line.js +1 -1
- package/lib/tools/polygon/polygon.js +1 -1
- package/lib/tools/ray/__tests__/component.test.js +35 -0
- package/lib/tools/ray/component.js +1 -1
- package/lib/tools/ray/index.js +1 -1
- package/lib/tools/segment/__tests__/component.test.js +35 -0
- package/lib/tools/segment/component.js +1 -1
- package/lib/tools/segment/index.js +1 -1
- package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
- package/lib/tools/shared/arrow-head.js +1 -1
- package/lib/tools/shared/icons/CorrectSVG.js +1 -1
- package/lib/tools/shared/icons/IncorrectSVG.js +1 -1
- package/lib/tools/shared/icons/MissingSVG.js +1 -1
- package/lib/tools/shared/line/__tests__/index.test.js +124 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +62 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +91 -0
- package/lib/tools/shared/line/index.js +1 -1
- package/lib/tools/shared/line/line-path.js +1 -1
- package/lib/tools/shared/line/with-root-edge.js +1 -1
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
- package/lib/tools/shared/point/arrow-point.js +1 -1
- package/lib/tools/shared/point/arrow.js +1 -1
- package/lib/tools/shared/point/base-point.js +1 -1
- package/lib/tools/shared/point/index.js +1 -1
- package/lib/tools/shared/styles.js +1 -1
- package/lib/tools/shared/types.js +1 -1
- package/lib/tools/sine/__tests__/component.test.js +72 -0
- package/lib/tools/sine/component.js +1 -1
- package/lib/tools/sine/index.js +1 -1
- package/lib/tools/vector/__tests__/component.test.js +32 -0
- package/lib/tools/vector/component.js +1 -1
- package/lib/tools/vector/index.js +1 -1
- package/lib/undo-redo.js +1 -1
- package/lib/use-debounce.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +9 -17
- package/src/grid-setup.jsx +28 -34
- package/src/labels.jsx +1 -1
|
@@ -0,0 +1,226 @@
|
|
|
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 _utils = require("./utils");
|
|
8
|
+
var _graphWithControls = require("../graph-with-controls");
|
|
9
|
+
var _tools = require("../tools");
|
|
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
|
+
// Mock DragProvider to avoid @dnd-kit React version conflicts
|
|
13
|
+
jest.mock('@pie-lib/drag', function () {
|
|
14
|
+
return {
|
|
15
|
+
DragProvider: function DragProvider(_ref) {
|
|
16
|
+
var children = _ref.children;
|
|
17
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
18
|
+
"data-testid": "drag-provider"
|
|
19
|
+
}, children);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
var point = {
|
|
24
|
+
type: 'point',
|
|
25
|
+
x: 2,
|
|
26
|
+
y: 2,
|
|
27
|
+
label: 'Point',
|
|
28
|
+
showLabel: true
|
|
29
|
+
};
|
|
30
|
+
var line = {
|
|
31
|
+
type: 'line',
|
|
32
|
+
from: {
|
|
33
|
+
x: 0,
|
|
34
|
+
y: 0
|
|
35
|
+
},
|
|
36
|
+
to: {
|
|
37
|
+
x: 1,
|
|
38
|
+
y: 1
|
|
39
|
+
},
|
|
40
|
+
label: 'Line'
|
|
41
|
+
};
|
|
42
|
+
var circle = {
|
|
43
|
+
type: 'circle',
|
|
44
|
+
edge: {
|
|
45
|
+
x: 0,
|
|
46
|
+
y: 0
|
|
47
|
+
},
|
|
48
|
+
root: {
|
|
49
|
+
x: 2,
|
|
50
|
+
y: 2
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var marks = [point, line, circle];
|
|
54
|
+
describe('setToolbarAvailability', function () {
|
|
55
|
+
it('sets `toolbar: true` if tool should be displayed in toolbar - all tools', function () {
|
|
56
|
+
var result = (0, _graphWithControls.setToolbarAvailability)(_tools.allTools);
|
|
57
|
+
var allTrue = new Array(_tools.toolsArr.length).fill(true);
|
|
58
|
+
expect(result.map(function (r) {
|
|
59
|
+
return r.toolbar;
|
|
60
|
+
})).toEqual(allTrue);
|
|
61
|
+
});
|
|
62
|
+
it('sets `toolbar: true` if tool should be displayed in toolbar - few tools', function () {
|
|
63
|
+
var result = (0, _graphWithControls.setToolbarAvailability)(['line', 'circle']);
|
|
64
|
+
var allOthersFalse = new Array(_tools.toolsArr.length - 2).fill(false);
|
|
65
|
+
expect(result.filter(function (r) {
|
|
66
|
+
return r.type === 'line' || r.type === 'circle';
|
|
67
|
+
}).map(function (r) {
|
|
68
|
+
return r.toolbar;
|
|
69
|
+
})).toEqual([true, true]);
|
|
70
|
+
expect(result.filter(function (r) {
|
|
71
|
+
return r.type !== 'line' && r.type !== 'circle';
|
|
72
|
+
}).map(function (r) {
|
|
73
|
+
return r.toolbar;
|
|
74
|
+
})).toEqual(allOthersFalse);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
describe('toolIsAvailable', function () {
|
|
78
|
+
var tools = (0, _graphWithControls.setToolbarAvailability)(['line', 'circle']);
|
|
79
|
+
it('returns true if tool is available', function () {
|
|
80
|
+
expect((0, _graphWithControls.toolIsAvailable)(tools, (0, _tools.line)())).toEqual(true);
|
|
81
|
+
});
|
|
82
|
+
it('returns false if tool is not available', function () {
|
|
83
|
+
expect((0, _graphWithControls.toolIsAvailable)(tools, (0, _tools.point)())).toEqual(false);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('getAvailableTool', function () {
|
|
87
|
+
it('returns the first available tool in list if there is any', function () {
|
|
88
|
+
var tools = (0, _graphWithControls.setToolbarAvailability)(['line', 'circle']);
|
|
89
|
+
expect((0, _graphWithControls.getAvailableTool)(tools).toolbar).toEqual(true);
|
|
90
|
+
});
|
|
91
|
+
it('returns undefined list if there is no available tool', function () {
|
|
92
|
+
var tools = (0, _graphWithControls.setToolbarAvailability)([]);
|
|
93
|
+
expect((0, _graphWithControls.getAvailableTool)(tools)).toEqual(undefined);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
describe('filterByValidToolTypes', function () {
|
|
97
|
+
it('filters marks by valid types', function () {
|
|
98
|
+
var marks = [{
|
|
99
|
+
type: 'point'
|
|
100
|
+
}, {
|
|
101
|
+
type: 'a'
|
|
102
|
+
}, {
|
|
103
|
+
type: 'b'
|
|
104
|
+
}, {
|
|
105
|
+
type: 'line'
|
|
106
|
+
}, {
|
|
107
|
+
type: 'c'
|
|
108
|
+
}];
|
|
109
|
+
expect((0, _graphWithControls.filterByValidToolTypes)(marks)).toEqual([{
|
|
110
|
+
type: 'point'
|
|
111
|
+
}, {
|
|
112
|
+
type: 'line'
|
|
113
|
+
}]);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
describe('filterByVisibleToolTypes', function () {
|
|
117
|
+
it('filters marks by the types that should be visible', function () {
|
|
118
|
+
expect((0, _graphWithControls.filterByVisibleToolTypes)(['line', 'circle'], [{
|
|
119
|
+
type: 'point'
|
|
120
|
+
}, {
|
|
121
|
+
type: 'line'
|
|
122
|
+
}, {
|
|
123
|
+
type: 'circle'
|
|
124
|
+
}])).toEqual([{
|
|
125
|
+
type: 'line'
|
|
126
|
+
}, {
|
|
127
|
+
type: 'circle'
|
|
128
|
+
}]);
|
|
129
|
+
expect((0, _graphWithControls.filterByVisibleToolTypes)(['line', 'circle', 'point'], [{
|
|
130
|
+
type: 'point'
|
|
131
|
+
}, {
|
|
132
|
+
type: 'line'
|
|
133
|
+
}, {
|
|
134
|
+
type: 'circle'
|
|
135
|
+
}])).toEqual([{
|
|
136
|
+
type: 'point'
|
|
137
|
+
}, {
|
|
138
|
+
type: 'line'
|
|
139
|
+
}, {
|
|
140
|
+
type: 'circle'
|
|
141
|
+
}]);
|
|
142
|
+
expect((0, _graphWithControls.filterByVisibleToolTypes)(['line'], [{
|
|
143
|
+
type: 'point'
|
|
144
|
+
}, {
|
|
145
|
+
type: 'line'
|
|
146
|
+
}, {
|
|
147
|
+
type: 'circle'
|
|
148
|
+
}])).toEqual([{
|
|
149
|
+
type: 'line'
|
|
150
|
+
}]);
|
|
151
|
+
expect((0, _graphWithControls.filterByVisibleToolTypes)(['segment'], [{
|
|
152
|
+
type: 'point'
|
|
153
|
+
}, {
|
|
154
|
+
type: 'line'
|
|
155
|
+
}, {
|
|
156
|
+
type: 'circle'
|
|
157
|
+
}])).toEqual([]);
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
describe('GraphWithControls', function () {
|
|
161
|
+
var onChangeMarks = jest.fn();
|
|
162
|
+
beforeEach(function () {
|
|
163
|
+
onChangeMarks.mockClear();
|
|
164
|
+
});
|
|
165
|
+
var defaultProps = function defaultProps() {
|
|
166
|
+
return {
|
|
167
|
+
axesSettings: {
|
|
168
|
+
includeArrows: true
|
|
169
|
+
},
|
|
170
|
+
backgroundMarks: [point, line, circle],
|
|
171
|
+
className: '',
|
|
172
|
+
coordinatesOnHover: false,
|
|
173
|
+
domain: {
|
|
174
|
+
min: 0,
|
|
175
|
+
max: 10,
|
|
176
|
+
step: 1
|
|
177
|
+
},
|
|
178
|
+
labels: {
|
|
179
|
+
top: 'a',
|
|
180
|
+
left: 'b',
|
|
181
|
+
right: 'c',
|
|
182
|
+
bottom: 'd'
|
|
183
|
+
},
|
|
184
|
+
labelModeEnabled: true,
|
|
185
|
+
marks: marks,
|
|
186
|
+
onChangeMarks: onChangeMarks,
|
|
187
|
+
range: {
|
|
188
|
+
min: 0,
|
|
189
|
+
max: 10,
|
|
190
|
+
step: 1
|
|
191
|
+
},
|
|
192
|
+
size: {
|
|
193
|
+
width: 500,
|
|
194
|
+
height: 500
|
|
195
|
+
},
|
|
196
|
+
title: 'Title',
|
|
197
|
+
toolbarTools: _tools.allTools,
|
|
198
|
+
language: 'en'
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
var initialProps = defaultProps();
|
|
202
|
+
var renderComponent = function renderComponent(extras) {
|
|
203
|
+
var props = _objectSpread(_objectSpread({}, initialProps), extras);
|
|
204
|
+
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graphWithControls.GraphWithControls, props));
|
|
205
|
+
};
|
|
206
|
+
describe('rendering', function () {
|
|
207
|
+
it('renders without crashing', function () {
|
|
208
|
+
var _renderComponent = renderComponent(),
|
|
209
|
+
container = _renderComponent.container;
|
|
210
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
211
|
+
});
|
|
212
|
+
it('renders ToolMenu with toolbar tools', function () {
|
|
213
|
+
var _renderComponent2 = renderComponent({
|
|
214
|
+
toolbarTools: ['point', 'line']
|
|
215
|
+
}),
|
|
216
|
+
container = _renderComponent2.container;
|
|
217
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
218
|
+
});
|
|
219
|
+
it('renders Graph component', function () {
|
|
220
|
+
var _renderComponent3 = renderComponent(),
|
|
221
|
+
container = _renderComponent3.container;
|
|
222
|
+
expect(container.querySelector('svg')).toBeInTheDocument();
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfZ3JhcGhXaXRoQ29udHJvbHMiLCJfdG9vbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImplc3QiLCJtb2NrIiwiRHJhZ1Byb3ZpZGVyIiwiX3JlZiIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsInBvaW50IiwidHlwZSIsIngiLCJ5IiwibGFiZWwiLCJzaG93TGFiZWwiLCJsaW5lIiwiZnJvbSIsInRvIiwiY2lyY2xlIiwiZWRnZSIsInJvb3QiLCJtYXJrcyIsImRlc2NyaWJlIiwiaXQiLCJyZXN1bHQiLCJzZXRUb29sYmFyQXZhaWxhYmlsaXR5IiwiYWxsVG9vbHMiLCJhbGxUcnVlIiwiQXJyYXkiLCJ0b29sc0FyciIsImZpbGwiLCJleHBlY3QiLCJtYXAiLCJ0b29sYmFyIiwidG9FcXVhbCIsImFsbE90aGVyc0ZhbHNlIiwidG9vbHMiLCJ0b29sSXNBdmFpbGFibGUiLCJsaW5lVG9vbCIsInBvaW50VG9vbCIsImdldEF2YWlsYWJsZVRvb2wiLCJ1bmRlZmluZWQiLCJmaWx0ZXJCeVZhbGlkVG9vbFR5cGVzIiwiZmlsdGVyQnlWaXNpYmxlVG9vbFR5cGVzIiwib25DaGFuZ2VNYXJrcyIsImZuIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsImRlZmF1bHRQcm9wcyIsImF4ZXNTZXR0aW5ncyIsImluY2x1ZGVBcnJvd3MiLCJiYWNrZ3JvdW5kTWFya3MiLCJjbGFzc05hbWUiLCJjb29yZGluYXRlc09uSG92ZXIiLCJkb21haW4iLCJtaW4iLCJtYXgiLCJzdGVwIiwibGFiZWxzIiwidG9wIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIiwibGFiZWxNb2RlRW5hYmxlZCIsInJhbmdlIiwic2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwidGl0bGUiLCJ0b29sYmFyVG9vbHMiLCJsYW5ndWFnZSIsImluaXRpYWxQcm9wcyIsInJlbmRlckNvbXBvbmVudCIsImV4dHJhcyIsInByb3BzIiwicmVuZGVyIiwiR3JhcGhXaXRoQ29udHJvbHMiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlckNvbXBvbmVudDIiLCJfcmVuZGVyQ29tcG9uZW50MyIsInF1ZXJ5U2VsZWN0b3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2dyYXBoLXdpdGgtY29udHJvbHMudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHBpZS1saWIvdGVzdC11dGlscyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB4eSB9IGZyb20gJy4vdXRpbHMnO1xuXG4vLyBNb2NrIERyYWdQcm92aWRlciB0byBhdm9pZCBAZG5kLWtpdCBSZWFjdCB2ZXJzaW9uIGNvbmZsaWN0c1xuamVzdC5tb2NrKCdAcGllLWxpYi9kcmFnJywgKCkgPT4gKHtcbiAgRHJhZ1Byb3ZpZGVyOiAoeyBjaGlsZHJlbiB9KSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwiZHJhZy1wcm92aWRlclwiPntjaGlsZHJlbn08L2Rpdj4sXG59KSk7XG5cbmltcG9ydCB7XG4gIEdyYXBoV2l0aENvbnRyb2xzLFxuICBzZXRUb29sYmFyQXZhaWxhYmlsaXR5LFxuICB0b29sSXNBdmFpbGFibGUsXG4gIGdldEF2YWlsYWJsZVRvb2wsXG4gIGZpbHRlckJ5VmFsaWRUb29sVHlwZXMsXG4gIGZpbHRlckJ5VmlzaWJsZVRvb2xUeXBlcyxcbn0gZnJvbSAnLi4vZ3JhcGgtd2l0aC1jb250cm9scyc7XG5pbXBvcnQgeyB0b29sc0FyciwgYWxsVG9vbHMsIGxpbmUgYXMgbGluZVRvb2wsIHBvaW50IGFzIHBvaW50VG9vbCB9IGZyb20gJy4uL3Rvb2xzJztcblxuY29uc3QgcG9pbnQgPSB7XG4gIHR5cGU6ICdwb2ludCcsXG4gIHg6IDIsXG4gIHk6IDIsXG4gIGxhYmVsOiAnUG9pbnQnLFxuICBzaG93TGFiZWw6IHRydWUsXG59O1xuXG5jb25zdCBsaW5lID0ge1xuICB0eXBlOiAnbGluZScsXG4gIGZyb206IHsgeDogMCwgeTogMCB9LFxuICB0bzogeyB4OiAxLCB5OiAxIH0sXG4gIGxhYmVsOiAnTGluZScsXG59O1xuXG5jb25zdCBjaXJjbGUgPSB7XG4gIHR5cGU6ICdjaXJjbGUnLFxuICBlZGdlOiB7IHg6IDAsIHk6IDAgfSxcbiAgcm9vdDogeyB4OiAyLCB5OiAyIH0sXG59O1xuXG5jb25zdCBtYXJrcyA9IFtwb2ludCwgbGluZSwgY2lyY2xlXTtcblxuZGVzY3JpYmUoJ3NldFRvb2xiYXJBdmFpbGFiaWxpdHknLCAoKSA9PiB7XG4gIGl0KCdzZXRzIGB0b29sYmFyOiB0cnVlYCBpZiB0b29sIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdG9vbGJhciAtIGFsbCB0b29scycsICgpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBzZXRUb29sYmFyQXZhaWxhYmlsaXR5KGFsbFRvb2xzKTtcbiAgICBjb25zdCBhbGxUcnVlID0gbmV3IEFycmF5KHRvb2xzQXJyLmxlbmd0aCkuZmlsbCh0cnVlKTtcblxuICAgIGV4cGVjdChyZXN1bHQubWFwKChyKSA9PiByLnRvb2xiYXIpKS50b0VxdWFsKGFsbFRydWUpO1xuICB9KTtcblxuICBpdCgnc2V0cyBgdG9vbGJhcjogdHJ1ZWAgaWYgdG9vbCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRvb2xiYXIgLSBmZXcgdG9vbHMnLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gc2V0VG9vbGJhckF2YWlsYWJpbGl0eShbJ2xpbmUnLCAnY2lyY2xlJ10pO1xuICAgIGNvbnN0IGFsbE90aGVyc0ZhbHNlID0gbmV3IEFycmF5KHRvb2xzQXJyLmxlbmd0aCAtIDIpLmZpbGwoZmFsc2UpO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ2xpbmUnIHx8IHIudHlwZSA9PT0gJ2NpcmNsZScpLm1hcCgocikgPT4gci50b29sYmFyKSkudG9FcXVhbChbdHJ1ZSwgdHJ1ZV0pO1xuICAgIGV4cGVjdChyZXN1bHQuZmlsdGVyKChyKSA9PiByLnR5cGUgIT09ICdsaW5lJyAmJiByLnR5cGUgIT09ICdjaXJjbGUnKS5tYXAoKHIpID0+IHIudG9vbGJhcikpLnRvRXF1YWwoXG4gICAgICBhbGxPdGhlcnNGYWxzZSxcbiAgICApO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgndG9vbElzQXZhaWxhYmxlJywgKCkgPT4ge1xuICBjb25zdCB0b29scyA9IHNldFRvb2xiYXJBdmFpbGFiaWxpdHkoWydsaW5lJywgJ2NpcmNsZSddKTtcblxuICBpdCgncmV0dXJucyB0cnVlIGlmIHRvb2wgaXMgYXZhaWxhYmxlJywgKCkgPT4ge1xuICAgIGV4cGVjdCh0b29sSXNBdmFpbGFibGUodG9vbHMsIGxpbmVUb29sKCkpKS50b0VxdWFsKHRydWUpO1xuICB9KTtcblxuICBpdCgncmV0dXJucyBmYWxzZSBpZiB0b29sIGlzIG5vdCBhdmFpbGFibGUnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHRvb2xJc0F2YWlsYWJsZSh0b29scywgcG9pbnRUb29sKCkpKS50b0VxdWFsKGZhbHNlKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2dldEF2YWlsYWJsZVRvb2wnLCAoKSA9PiB7XG4gIGl0KCdyZXR1cm5zIHRoZSBmaXJzdCBhdmFpbGFibGUgdG9vbCBpbiBsaXN0IGlmIHRoZXJlIGlzIGFueScsICgpID0+IHtcbiAgICBjb25zdCB0b29scyA9IHNldFRvb2xiYXJBdmFpbGFiaWxpdHkoWydsaW5lJywgJ2NpcmNsZSddKTtcblxuICAgIGV4cGVjdChnZXRBdmFpbGFibGVUb29sKHRvb2xzKS50b29sYmFyKS50b0VxdWFsKHRydWUpO1xuICB9KTtcblxuICBpdCgncmV0dXJucyB1bmRlZmluZWQgbGlzdCBpZiB0aGVyZSBpcyBubyBhdmFpbGFibGUgdG9vbCcsICgpID0+IHtcbiAgICBjb25zdCB0b29scyA9IHNldFRvb2xiYXJBdmFpbGFiaWxpdHkoW10pO1xuXG4gICAgZXhwZWN0KGdldEF2YWlsYWJsZVRvb2wodG9vbHMpKS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdmaWx0ZXJCeVZhbGlkVG9vbFR5cGVzJywgKCkgPT4ge1xuICBpdCgnZmlsdGVycyBtYXJrcyBieSB2YWxpZCB0eXBlcycsICgpID0+IHtcbiAgICBjb25zdCBtYXJrcyA9IFt7IHR5cGU6ICdwb2ludCcgfSwgeyB0eXBlOiAnYScgfSwgeyB0eXBlOiAnYicgfSwgeyB0eXBlOiAnbGluZScgfSwgeyB0eXBlOiAnYycgfV07XG5cbiAgICBleHBlY3QoZmlsdGVyQnlWYWxpZFRvb2xUeXBlcyhtYXJrcykpLnRvRXF1YWwoW3sgdHlwZTogJ3BvaW50JyB9LCB7IHR5cGU6ICdsaW5lJyB9XSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdmaWx0ZXJCeVZpc2libGVUb29sVHlwZXMnLCAoKSA9PiB7XG4gIGl0KCdmaWx0ZXJzIG1hcmtzIGJ5IHRoZSB0eXBlcyB0aGF0IHNob3VsZCBiZSB2aXNpYmxlJywgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIGZpbHRlckJ5VmlzaWJsZVRvb2xUeXBlcyhbJ2xpbmUnLCAnY2lyY2xlJ10sIFt7IHR5cGU6ICdwb2ludCcgfSwgeyB0eXBlOiAnbGluZScgfSwgeyB0eXBlOiAnY2lyY2xlJyB9XSksXG4gICAgKS50b0VxdWFsKFt7IHR5cGU6ICdsaW5lJyB9LCB7IHR5cGU6ICdjaXJjbGUnIH1dKTtcblxuICAgIGV4cGVjdChcbiAgICAgIGZpbHRlckJ5VmlzaWJsZVRvb2xUeXBlcyhbJ2xpbmUnLCAnY2lyY2xlJywgJ3BvaW50J10sIFt7IHR5cGU6ICdwb2ludCcgfSwgeyB0eXBlOiAnbGluZScgfSwgeyB0eXBlOiAnY2lyY2xlJyB9XSksXG4gICAgKS50b0VxdWFsKFt7IHR5cGU6ICdwb2ludCcgfSwgeyB0eXBlOiAnbGluZScgfSwgeyB0eXBlOiAnY2lyY2xlJyB9XSk7XG5cbiAgICBleHBlY3QoZmlsdGVyQnlWaXNpYmxlVG9vbFR5cGVzKFsnbGluZSddLCBbeyB0eXBlOiAncG9pbnQnIH0sIHsgdHlwZTogJ2xpbmUnIH0sIHsgdHlwZTogJ2NpcmNsZScgfV0pKS50b0VxdWFsKFtcbiAgICAgIHsgdHlwZTogJ2xpbmUnIH0sXG4gICAgXSk7XG5cbiAgICBleHBlY3QoZmlsdGVyQnlWaXNpYmxlVG9vbFR5cGVzKFsnc2VnbWVudCddLCBbeyB0eXBlOiAncG9pbnQnIH0sIHsgdHlwZTogJ2xpbmUnIH0sIHsgdHlwZTogJ2NpcmNsZScgfV0pKS50b0VxdWFsKFxuICAgICAgW10sXG4gICAgKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ0dyYXBoV2l0aENvbnRyb2xzJywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2VNYXJrcyA9IGplc3QuZm4oKTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZU1hcmtzLm1vY2tDbGVhcigpO1xuICB9KTtcblxuICBjb25zdCBkZWZhdWx0UHJvcHMgPSAoKSA9PiAoe1xuICAgIGF4ZXNTZXR0aW5nczogeyBpbmNsdWRlQXJyb3dzOiB0cnVlIH0sXG4gICAgYmFja2dyb3VuZE1hcmtzOiBbcG9pbnQsIGxpbmUsIGNpcmNsZV0sXG4gICAgY2xhc3NOYW1lOiAnJyxcbiAgICBjb29yZGluYXRlc09uSG92ZXI6IGZhbHNlLFxuICAgIGRvbWFpbjogeyBtaW46IDAsIG1heDogMTAsIHN0ZXA6IDEgfSxcbiAgICBsYWJlbHM6IHsgdG9wOiAnYScsIGxlZnQ6ICdiJywgcmlnaHQ6ICdjJywgYm90dG9tOiAnZCcgfSxcbiAgICBsYWJlbE1vZGVFbmFibGVkOiB0cnVlLFxuICAgIG1hcmtzLFxuICAgIG9uQ2hhbmdlTWFya3MsXG4gICAgcmFuZ2U6IHsgbWluOiAwLCBtYXg6IDEwLCBzdGVwOiAxIH0sXG4gICAgc2l6ZTogeyB3aWR0aDogNTAwLCBoZWlnaHQ6IDUwMCB9LFxuICAgIHRpdGxlOiAnVGl0bGUnLFxuICAgIHRvb2xiYXJUb29sczogYWxsVG9vbHMsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gIH0pO1xuICBjb25zdCBpbml0aWFsUHJvcHMgPSBkZWZhdWx0UHJvcHMoKTtcblxuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmluaXRpYWxQcm9wcywgLi4uZXh0cmFzIH07XG5cbiAgICByZXR1cm4gcmVuZGVyKDxHcmFwaFdpdGhDb250cm9scyB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBUb29sTWVudSB3aXRoIHRvb2xiYXIgdG9vbHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KHsgdG9vbGJhclRvb2xzOiBbJ3BvaW50JywgJ2xpbmUnXSB9KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIEdyYXBoIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3Rvcignc3ZnJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFPQSxJQUFBSSxrQkFBQSxHQUFBSixPQUFBO0FBUUEsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQW9GLFNBQUFNLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsUUFBQWUsZ0JBQUEsYUFBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FB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
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
6
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _testUtils = require("@pie-lib/test-utils");
|
|
9
|
+
var _utils = require("./utils");
|
|
10
|
+
var _graph = _interopRequireWildcard(require("../graph"));
|
|
11
|
+
var _tools = require("../tools");
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
describe('removeBuildingToolIfCurrentToolDiffers', function () {
|
|
16
|
+
var marks = [{
|
|
17
|
+
type: 'point',
|
|
18
|
+
x: 2,
|
|
19
|
+
y: 2,
|
|
20
|
+
label: 'Point',
|
|
21
|
+
showLabel: true
|
|
22
|
+
}, {
|
|
23
|
+
type: 'line',
|
|
24
|
+
from: {
|
|
25
|
+
x: 0,
|
|
26
|
+
y: 0
|
|
27
|
+
},
|
|
28
|
+
label: 'Line',
|
|
29
|
+
building: true
|
|
30
|
+
}];
|
|
31
|
+
it('keeps all marks if currentTool is the same', function () {
|
|
32
|
+
expect((0, _graph.removeBuildingToolIfCurrentToolDiffers)({
|
|
33
|
+
marks: marks,
|
|
34
|
+
currentTool: {
|
|
35
|
+
type: 'line'
|
|
36
|
+
}
|
|
37
|
+
})).toEqual(marks);
|
|
38
|
+
});
|
|
39
|
+
it('removes building marks if currentTool is different', function () {
|
|
40
|
+
expect((0, _graph.removeBuildingToolIfCurrentToolDiffers)({
|
|
41
|
+
marks: marks,
|
|
42
|
+
currentTool: {
|
|
43
|
+
type: 'different'
|
|
44
|
+
}
|
|
45
|
+
})).toEqual([marks[0]]);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('Graph', function () {
|
|
49
|
+
var onChangeMarks = jest.fn();
|
|
50
|
+
var defaultProps = _objectSpread({
|
|
51
|
+
className: 'className',
|
|
52
|
+
onChangeMarks: onChangeMarks,
|
|
53
|
+
tools: _tools.toolsArr,
|
|
54
|
+
domain: {
|
|
55
|
+
min: 0,
|
|
56
|
+
max: 1,
|
|
57
|
+
step: 1
|
|
58
|
+
},
|
|
59
|
+
range: {
|
|
60
|
+
min: 0,
|
|
61
|
+
max: 1,
|
|
62
|
+
step: 1
|
|
63
|
+
},
|
|
64
|
+
size: {
|
|
65
|
+
width: 400,
|
|
66
|
+
height: 400
|
|
67
|
+
},
|
|
68
|
+
marks: [{
|
|
69
|
+
type: 'point',
|
|
70
|
+
x: 2,
|
|
71
|
+
y: 2,
|
|
72
|
+
label: 'Point',
|
|
73
|
+
showLabel: true
|
|
74
|
+
}, {
|
|
75
|
+
type: 'line',
|
|
76
|
+
from: {
|
|
77
|
+
x: 0,
|
|
78
|
+
y: 0
|
|
79
|
+
},
|
|
80
|
+
to: {
|
|
81
|
+
x: 1,
|
|
82
|
+
y: 1
|
|
83
|
+
},
|
|
84
|
+
label: 'Line'
|
|
85
|
+
}]
|
|
86
|
+
}, (0, _utils.graphProps)());
|
|
87
|
+
beforeEach(function () {
|
|
88
|
+
onChangeMarks.mockClear();
|
|
89
|
+
});
|
|
90
|
+
describe('rendering', function () {
|
|
91
|
+
it('renders without crashing', function () {
|
|
92
|
+
var _render = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], defaultProps)),
|
|
93
|
+
container = _render.container;
|
|
94
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
95
|
+
});
|
|
96
|
+
it('renders with currentTool', function () {
|
|
97
|
+
var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
|
|
98
|
+
currentTool: _tools.toolsArr[0]
|
|
99
|
+
});
|
|
100
|
+
var _render2 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], props)),
|
|
101
|
+
container = _render2.container;
|
|
102
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
103
|
+
});
|
|
104
|
+
it('renders with marks', function () {
|
|
105
|
+
var _render3 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], defaultProps)),
|
|
106
|
+
container = _render3.container;
|
|
107
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
108
|
+
});
|
|
109
|
+
it('renders with empty marks array', function () {
|
|
110
|
+
var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
|
|
111
|
+
marks: []
|
|
112
|
+
});
|
|
113
|
+
var _render4 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], props)),
|
|
114
|
+
container = _render4.container;
|
|
115
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
116
|
+
});
|
|
117
|
+
it('renders with labelModeEnabled', function () {
|
|
118
|
+
var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
|
|
119
|
+
labelModeEnabled: true
|
|
120
|
+
});
|
|
121
|
+
var _render5 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], props)),
|
|
122
|
+
container = _render5.container;
|
|
123
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
describe('props handling', function () {
|
|
127
|
+
it('calls onChangeMarks when marks prop changes', function () {
|
|
128
|
+
var _render6 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], defaultProps)),
|
|
129
|
+
rerender = _render6.rerender;
|
|
130
|
+
var newMarks = [{
|
|
131
|
+
type: 'point',
|
|
132
|
+
x: 3,
|
|
133
|
+
y: 3,
|
|
134
|
+
label: 'New Point',
|
|
135
|
+
showLabel: true
|
|
136
|
+
}];
|
|
137
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_graph["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
138
|
+
marks: newMarks
|
|
139
|
+
})));
|
|
140
|
+
|
|
141
|
+
// Component should render with new marks
|
|
142
|
+
// Note: onChangeMarks is called internally when marks are changed through user interaction,
|
|
143
|
+
// not when props change, so we just verify the component renders correctly
|
|
144
|
+
expect(onChangeMarks).not.toHaveBeenCalled();
|
|
145
|
+
});
|
|
146
|
+
it('handles undefined onChangeMarks gracefully', function () {
|
|
147
|
+
var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
|
|
148
|
+
onChangeMarks: undefined
|
|
149
|
+
});
|
|
150
|
+
var _render7 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], props)),
|
|
151
|
+
container = _render7.container;
|
|
152
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
describe('removeBuildingToolIfCurrentToolDiffers integration', function () {
|
|
156
|
+
it('removes building marks when currentTool changes', function () {
|
|
157
|
+
var marksWithBuilding = [{
|
|
158
|
+
type: 'point',
|
|
159
|
+
x: 2,
|
|
160
|
+
y: 2,
|
|
161
|
+
label: 'Point',
|
|
162
|
+
showLabel: true
|
|
163
|
+
}, {
|
|
164
|
+
type: 'line',
|
|
165
|
+
from: {
|
|
166
|
+
x: 0,
|
|
167
|
+
y: 0
|
|
168
|
+
},
|
|
169
|
+
to: {
|
|
170
|
+
x: 1,
|
|
171
|
+
y: 1
|
|
172
|
+
},
|
|
173
|
+
building: true
|
|
174
|
+
}];
|
|
175
|
+
var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
|
|
176
|
+
marks: marksWithBuilding,
|
|
177
|
+
currentTool: {
|
|
178
|
+
type: 'point'
|
|
179
|
+
} // Different from building mark type
|
|
180
|
+
});
|
|
181
|
+
var _render8 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], props)),
|
|
182
|
+
container = _render8.container;
|
|
183
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl90ZXN0VXRpbHMiLCJfdXRpbHMiLCJfZ3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl90b29scyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZXNjcmliZSIsIm1hcmtzIiwidHlwZSIsIngiLCJ5IiwibGFiZWwiLCJzaG93TGFiZWwiLCJmcm9tIiwiYnVpbGRpbmciLCJpdCIsImV4cGVjdCIsInJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzIiwiY3VycmVudFRvb2wiLCJ0b0VxdWFsIiwib25DaGFuZ2VNYXJrcyIsImplc3QiLCJmbiIsImRlZmF1bHRQcm9wcyIsImNsYXNzTmFtZSIsInRvb2xzIiwidG9vbHNBcnIiLCJkb21haW4iLCJtaW4iLCJtYXgiLCJzdGVwIiwicmFuZ2UiLCJzaXplIiwid2lkdGgiLCJoZWlnaHQiLCJ0byIsImdyYXBoUHJvcHMiLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiX3JlbmRlciIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjb250YWluZXIiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJwcm9wcyIsIl9yZW5kZXIyIiwiX3JlbmRlcjMiLCJfcmVuZGVyNCIsImxhYmVsTW9kZUVuYWJsZWQiLCJfcmVuZGVyNSIsIl9yZW5kZXI2IiwicmVyZW5kZXIiLCJuZXdNYXJrcyIsIl9leHRlbmRzMiIsIm5vdCIsInRvSGF2ZUJlZW5DYWxsZWQiLCJ1bmRlZmluZWQiLCJfcmVuZGVyNyIsIm1hcmtzV2l0aEJ1aWxkaW5nIiwiX3JlbmRlcjgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2dyYXBoLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcblxuaW1wb3J0IHsgeHksIGdyYXBoUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IEdyYXBoLCB7IHJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzIH0gZnJvbSAnLi4vZ3JhcGgnO1xuaW1wb3J0IHsgdG9vbHNBcnIgfSBmcm9tICcuLi90b29scyc7XG5cbmRlc2NyaWJlKCdyZW1vdmVCdWlsZGluZ1Rvb2xJZkN1cnJlbnRUb29sRGlmZmVycycsICgpID0+IHtcbiAgbGV0IG1hcmtzID0gW1xuICAgIHtcbiAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgICB4OiAyLFxuICAgICAgeTogMixcbiAgICAgIGxhYmVsOiAnUG9pbnQnLFxuICAgICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2xpbmUnLFxuICAgICAgZnJvbTogeyB4OiAwLCB5OiAwIH0sXG4gICAgICBsYWJlbDogJ0xpbmUnLFxuICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgfSxcbiAgXTtcblxuICBpdCgna2VlcHMgYWxsIG1hcmtzIGlmIGN1cnJlbnRUb29sIGlzIHRoZSBzYW1lJywgKCkgPT4ge1xuICAgIGV4cGVjdChyZW1vdmVCdWlsZGluZ1Rvb2xJZkN1cnJlbnRUb29sRGlmZmVycyh7IG1hcmtzLCBjdXJyZW50VG9vbDogeyB0eXBlOiAnbGluZScgfSB9KSkudG9FcXVhbChtYXJrcyk7XG4gIH0pO1xuXG4gIGl0KCdyZW1vdmVzIGJ1aWxkaW5nIG1hcmtzIGlmIGN1cnJlbnRUb29sIGlzIGRpZmZlcmVudCcsICgpID0+IHtcbiAgICBleHBlY3QocmVtb3ZlQnVpbGRpbmdUb29sSWZDdXJyZW50VG9vbERpZmZlcnMoeyBtYXJrcywgY3VycmVudFRvb2w6IHsgdHlwZTogJ2RpZmZlcmVudCcgfSB9KSkudG9FcXVhbChbbWFya3NbMF1dKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ0dyYXBoJywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2VNYXJrcyA9IGplc3QuZm4oKTtcblxuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICBvbkNoYW5nZU1hcmtzLFxuICAgIHRvb2xzOiB0b29sc0FycixcbiAgICBkb21haW46IHsgbWluOiAwLCBtYXg6IDEsIHN0ZXA6IDEgfSxcbiAgICByYW5nZTogeyBtaW46IDAsIG1heDogMSwgc3RlcDogMSB9LFxuICAgIHNpemU6IHsgd2lkdGg6IDQwMCwgaGVpZ2h0OiA0MDAgfSxcbiAgICBtYXJrczogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICB4OiAyLFxuICAgICAgICB5OiAyLFxuICAgICAgICBsYWJlbDogJ1BvaW50JyxcbiAgICAgICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2xpbmUnLFxuICAgICAgICBmcm9tOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgICAgdG86IHsgeDogMSwgeTogMSB9LFxuICAgICAgICBsYWJlbDogJ0xpbmUnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIC4uLmdyYXBoUHJvcHMoKSxcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZU1hcmtzLm1vY2tDbGVhcigpO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxHcmFwaCB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGN1cnJlbnRUb29sJywgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcbiAgICAgICAgY3VycmVudFRvb2w6IHRvb2xzQXJyWzBdLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEdyYXBoIHsuLi5wcm9wc30gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBtYXJrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEdyYXBoIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggZW1wdHkgbWFya3MgYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxuICAgICAgICBtYXJrczogW10sXG4gICAgICB9O1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8R3JhcGggey4uLnByb3BzfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGxhYmVsTW9kZUVuYWJsZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxuICAgICAgICBsYWJlbE1vZGVFbmFibGVkOiB0cnVlLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEdyYXBoIHsuLi5wcm9wc30gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJvcHMgaGFuZGxpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIG9uQ2hhbmdlTWFya3Mgd2hlbiBtYXJrcyBwcm9wIGNoYW5nZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IHJlcmVuZGVyIH0gPSByZW5kZXIoPEdyYXBoIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIFxuICAgICAgY29uc3QgbmV3TWFya3MgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICAgIHg6IDMsXG4gICAgICAgICAgeTogMyxcbiAgICAgICAgICBsYWJlbDogJ05ldyBQb2ludCcsXG4gICAgICAgICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgICAgcmVyZW5kZXIoPEdyYXBoIHsuLi5kZWZhdWx0UHJvcHN9IG1hcmtzPXtuZXdNYXJrc30gLz4pO1xuICAgICAgXG4gICAgICAvLyBDb21wb25lbnQgc2hvdWxkIHJlbmRlciB3aXRoIG5ldyBtYXJrc1xuICAgICAgLy8gTm90ZTogb25DaGFuZ2VNYXJrcyBpcyBjYWxsZWQgaW50ZXJuYWxseSB3aGVuIG1hcmtzIGFyZSBjaGFuZ2VkIHRocm91Z2ggdXNlciBpbnRlcmFjdGlvbixcbiAgICAgIC8vIG5vdCB3aGVuIHByb3BzIGNoYW5nZSwgc28gd2UganVzdCB2ZXJpZnkgdGhlIGNvbXBvbmVudCByZW5kZXJzIGNvcnJlY3RseVxuICAgICAgZXhwZWN0KG9uQ2hhbmdlTWFya3MpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyB1bmRlZmluZWQgb25DaGFuZ2VNYXJrcyBncmFjZWZ1bGx5JywgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcbiAgICAgICAgb25DaGFuZ2VNYXJrczogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEdyYXBoIHsuLi5wcm9wc30gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVtb3ZlQnVpbGRpbmdUb29sSWZDdXJyZW50VG9vbERpZmZlcnMgaW50ZWdyYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3JlbW92ZXMgYnVpbGRpbmcgbWFya3Mgd2hlbiBjdXJyZW50VG9vbCBjaGFuZ2VzJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFya3NXaXRoQnVpbGRpbmcgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICAgIHg6IDIsXG4gICAgICAgICAgeTogMixcbiAgICAgICAgICBsYWJlbDogJ1BvaW50JyxcbiAgICAgICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnbGluZScsXG4gICAgICAgICAgZnJvbTogeyB4OiAwLCB5OiAwIH0sXG4gICAgICAgICAgdG86IHsgeDogMSwgeTogMSB9LFxuICAgICAgICAgIGJ1aWxkaW5nOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcbiAgICAgICAgbWFya3M6IG1hcmtzV2l0aEJ1aWxkaW5nLFxuICAgICAgICBjdXJyZW50VG9vbDogeyB0eXBlOiAncG9pbnQnIH0sIC8vIERpZmZlcmVudCBmcm9tIGJ1aWxkaW5nIG1hcmsgdHlwZVxuICAgICAgfTtcblxuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8R3JhcGggey4uLnByb3BzfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUFvQyxTQUFBSSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUosdUJBQUEsWUFBQUEsd0JBQUFFLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFB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
|
|
@@ -0,0 +1,29 @@
|
|
|
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 _grid = require("../grid");
|
|
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('Grid', 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(_grid.Grid, 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
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ3JpZCIsIl91dGlscyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiZGVzY3JpYmUiLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiR3JpZCIsIml0IiwiX3JlbmRlckNvbXBvbmVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZ3JpZC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSAnLi4vZ3JpZCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbmRlc2NyaWJlKCdHcmlkJywgKCkgPT4ge1xuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPEdyaWQgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUFxQyxTQUFBSyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQWEsT0FBQSxXQUFBZCxDQUFBLFFBQUFlLGdCQUFBLGFBQUFoQixDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFFLE1BQUEsQ0FBQWMseUJBQUEsR0FBQWQsTUFBQSxDQUFBZSxnQkFBQSxDQUFBbEIsQ0FBQSxFQUFBRyxNQUFBLENBQUFjLHlCQUFBLENBQUFmLENBQUEsS0FBQUgsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsR0FBQWEsT0FBQSxXQUFBZCxDQUFBLElBQUFFLE1BQUEsQ0FBQWdCLGNBQUEsQ0FBQW5CLENBQUEsRUFBQUMsQ0FBQSxFQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFOLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUQsQ0FBQTtBQUVyQ29CLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBTTtFQUNyQixJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLE1BQU0sRUFBSztJQUNsQyxJQUFNQyxRQUFRLEdBQUc7TUFDZkMsT0FBTyxFQUFFLENBQUMsQ0FBQztNQUNYQyxTQUFTLEVBQUUsV0FBVztNQUN0QkMsVUFBVSxFQUFFLElBQUFBLGlCQUFVLEVBQUM7SUFDekIsQ0FBQztJQUNELElBQU1DLEtBQUssR0FBQWYsYUFBQSxDQUFBQSxhQUFBLEtBQVFXLFFBQVEsR0FBS0QsTUFBTSxDQUFFO0lBQ3hDLE9BQU8sSUFBQU0saUJBQU0sZUFBQ2pDLE1BQUEsWUFBQWtDLGFBQUEsQ0FBQ2hDLEtBQUEsQ0FBQWlDLElBQUksRUFBS0gsS0FBUSxDQUFDLENBQUM7RUFDcEMsQ0FBQztFQUNEUCxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07SUFDMUJXLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxZQUFNO01BQ25DLElBQUFDLGdCQUFBLEdBQXNCWCxlQUFlLENBQUMsQ0FBQztRQUEvQlksU0FBUyxHQUFBRCxnQkFBQSxDQUFUQyxTQUFTO01BQ2pCQyxNQUFNLENBQUNELFNBQVMsQ0FBQ0UsVUFBVSxDQUFDLENBQUNDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -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=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbGFiZWxzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsInJlbmRlckNvbXBvbmVudCIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJzaXplIiwid2lkdGgiLCJoZWlnaHQiLCJkb21haW4iLCJtaW4iLCJtYXgiLCJzdGVwIiwicGFkZGluZyIsInJhbmdlIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiYXNzZXJ0VHJhbnNmb3JtIiwic2lkZSIsImV4cGVjdGVkIiwiY29uY2F0IiwiZ2V0VHJhbnNmb3JtIiwidG9FcXVhbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbGFiZWxzLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IExhYmVscywgeyBnZXRUcmFuc2Zvcm0gfSBmcm9tICcuLi9sYWJlbHMnO1xuXG5kZXNjcmliZSgnTGFiZWxzJywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczoge1xuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgd2lkdGg6IDQwMCxcbiAgICAgICAgICBoZWlnaHQ6IDQwMCxcbiAgICAgICAgfSxcbiAgICAgICAgZG9tYWluOiB7XG4gICAgICAgICAgbWluOiAwLFxuICAgICAgICAgIG1heDogMTAsXG4gICAgICAgICAgc3RlcDogMSxcbiAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICB9LFxuICAgICAgICByYW5nZToge1xuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBtYXg6IDEwLFxuICAgICAgICAgIHN0ZXA6IDEsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPExhYmVscyB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnZ2V0VHJhbnNmb3JtJywgKCkgPT4ge1xuICBjb25zdCBhc3NlcnRUcmFuc2Zvcm0gPSAoc2lkZSwgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChgcmV0dXJucyAke2V4cGVjdGVkfSBmb3IgJHtzaWRlfWAsICgpID0+IHtcbiAgICAgIGNvbnN0IHIgPSBnZXRUcmFuc2Zvcm0oJ2xlZnQnLCAxMDAsIDEwMCk7XG4gICAgICBleHBlY3QocikudG9FcXVhbCgndHJhbnNsYXRlKC0yMCwgNTApLCByb3RhdGUoLTkwKScpO1xuICAgIH0pO1xuICB9O1xuXG4gIGFzc2VydFRyYW5zZm9ybSgnbGVmdCcsICd0cmFuc2xhdGUoLTIwLCA1MCksIHJvdGF0ZSgtOTApJyk7XG4gIGFzc2VydFRyYW5zZm9ybSgncmlnaHQnLCAndHJhbnNsYXRlKDEzMCwgNTApLCByb3RhdGUoOTApJyk7XG4gIGFzc2VydFRyYW5zZm9ybSgndG9wJywgJ3RyYW5zbGF0ZSg1MCwgLTIwKSwgcm90YXRlKDApJyk7XG4gIGFzc2VydFRyYW5zZm9ybSgnYm90dG9tJywgJ3RyYW5zbGF0ZSg1MCwgMTMwKSwgcm90YXRlKDApJyk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxPQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFBaUQsU0FBQUksd0JBQUFDLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFILHVCQUFBLFlBQUFBLHdCQUFBQyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFN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QUNOQyxHQUFHLEVBQUUsRUFBRTtVQUNQQyxJQUFJLEVBQUUsQ0FBQztVQUNQQyxPQUFPLEVBQUU7UUFDWCxDQUFDO1FBQ0RDLEtBQUssRUFBRTtVQUNMSixHQUFHLEVBQUUsQ0FBQztVQUNOQyxHQUFHLEVBQUUsRUFBRTtVQUNQQyxJQUFJLEVBQUUsQ0FBQztVQUNQQyxPQUFPLEVBQUU7UUFDWDtNQUNGO0lBQ0YsQ0FBQztJQUNELElBQU1FLEtBQUssR0FBQTFCLGFBQUEsQ0FBQUEsYUFBQSxLQUFRYSxRQUFRLEdBQUtELE1BQU0sQ0FBRTtJQUN4QyxPQUFPLElBQUFlLGlCQUFNLGVBQUMxRCxNQUFBLFlBQUEyRCxhQUFBLENBQUN6RCxPQUFBLFdBQU0sRUFBS3VELEtBQVEsQ0FBQyxDQUFDO0VBQ3RDLENBQUM7RUFDRG5CLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUMxQnNCLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxZQUFNO01BQ25DLElBQUFDLGdCQUFBLEdBQXNCbkIsZUFBZSxDQUFDLENBQUM7UUFBL0JvQixTQUFTLEdBQUFELGdCQUFBLENBQVRDLFNBQVM7TUFDakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjNCLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBTTtFQUM3QixJQUFNNEIsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJQyxJQUFJLEVBQUVDLFFBQVEsRUFBSztJQUMxQ1IsRUFBRSxZQUFBUyxNQUFBLENBQVlELFFBQVEsV0FBQUMsTUFBQSxDQUFRRixJQUFJLEdBQUksWUFBTTtNQUMxQyxJQUFNNUQsQ0FBQyxHQUFHLElBQUErRCxvQkFBWSxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ3hDUCxNQUFNLENBQUN4RCxDQUFDLENBQUMsQ0FBQ2dFLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQztJQUN0RCxDQUFDLENBQUM7RUFDSixDQUFDO0VBRURMLGVBQWUsQ0FBQyxNQUFNLEVBQUUsaUNBQWlDLENBQUM7RUFDMURBLGVBQWUsQ0FBQyxPQUFPLEVBQUUsZ0NBQWdDLENBQUM7RUFDMURBLGVBQWUsQ0FBQyxLQUFLLEVBQUUsK0JBQStCLENBQUM7RUFDdkRBLGVBQWUsQ0FBQyxRQUFRLEVBQUUsK0JBQStCLENBQUM7QUFDNUQsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|