@pie-lib/graphing 4.1.0-beta.6 → 4.1.0-beta.8
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/package.json +3 -3
- package/lib/__tests__/bg.test.js +0 -282
- package/lib/__tests__/bg.test.js.map +0 -1
- package/lib/__tests__/coordinates-label.test.js +0 -276
- package/lib/__tests__/coordinates-label.test.js.map +0 -1
- package/lib/__tests__/graph-with-controls.test.js +0 -275
- package/lib/__tests__/graph-with-controls.test.js.map +0 -1
- package/lib/__tests__/graph.test.js +0 -927
- package/lib/__tests__/graph.test.js.map +0 -1
- package/lib/__tests__/grid-setup.test.js +0 -729
- package/lib/__tests__/grid-setup.test.js.map +0 -1
- package/lib/__tests__/grid.test.js +0 -29
- package/lib/__tests__/grid.test.js.map +0 -1
- package/lib/__tests__/key-legend.test.js +0 -321
- package/lib/__tests__/key-legend.test.js.map +0 -1
- package/lib/__tests__/label-svg-icon.test.js +0 -373
- package/lib/__tests__/label-svg-icon.test.js.map +0 -1
- package/lib/__tests__/labels.test.js +0 -61
- package/lib/__tests__/labels.test.js.map +0 -1
- package/lib/__tests__/mark-label.test.js +0 -133
- package/lib/__tests__/mark-label.test.js.map +0 -1
- package/lib/__tests__/toggle-bar.test.js +0 -197
- package/lib/__tests__/toggle-bar.test.js.map +0 -1
- package/lib/__tests__/tool-menu.test.js +0 -151
- package/lib/__tests__/tool-menu.test.js.map +0 -1
- package/lib/__tests__/undo-redo.test.js +0 -31
- package/lib/__tests__/undo-redo.test.js.map +0 -1
- package/lib/__tests__/use-debounce.test.js +0 -24
- package/lib/__tests__/use-debounce.test.js.map +0 -1
- package/lib/__tests__/utils.js +0 -70
- package/lib/__tests__/utils.js.map +0 -1
- package/lib/__tests__/utils.test.js +0 -123
- package/lib/__tests__/utils.test.js.map +0 -1
- package/lib/axis/__tests__/arrow.test.js +0 -60
- package/lib/axis/__tests__/arrow.test.js.map +0 -1
- package/lib/axis/__tests__/axes.test.js +0 -195
- package/lib/axis/__tests__/axes.test.js.map +0 -1
- package/lib/container/__tests__/actions.test.js +0 -108
- package/lib/container/__tests__/actions.test.js.map +0 -1
- package/lib/container/__tests__/index.test.js +0 -503
- package/lib/container/__tests__/index.test.js.map +0 -1
- package/lib/container/__tests__/marks.test.js +0 -259
- package/lib/container/__tests__/marks.test.js.map +0 -1
- package/lib/container/__tests__/middleware.test.js +0 -244
- package/lib/container/__tests__/middleware.test.js.map +0 -1
- package/lib/container/__tests__/reducer.test.js +0 -450
- package/lib/container/__tests__/reducer.test.js.map +0 -1
- package/lib/tools/absolute/__tests__/component.test.js +0 -65
- package/lib/tools/absolute/__tests__/component.test.js.map +0 -1
- package/lib/tools/circle/__tests__/bg-circle.test.js +0 -33
- package/lib/tools/circle/__tests__/bg-circle.test.js.map +0 -1
- package/lib/tools/circle/__tests__/component.test.js +0 -615
- package/lib/tools/circle/__tests__/component.test.js.map +0 -1
- package/lib/tools/circle/__tests__/index.test.js +0 -576
- package/lib/tools/circle/__tests__/index.test.js.map +0 -1
- package/lib/tools/exponential/__tests__/component.test.js +0 -64
- package/lib/tools/exponential/__tests__/component.test.js.map +0 -1
- package/lib/tools/exponential/__tests__/index.test.js +0 -828
- package/lib/tools/exponential/__tests__/index.test.js.map +0 -1
- package/lib/tools/line/__tests__/component.test.js +0 -45
- package/lib/tools/line/__tests__/component.test.js.map +0 -1
- package/lib/tools/parabola/__tests__/component.test.js +0 -64
- package/lib/tools/parabola/__tests__/component.test.js.map +0 -1
- package/lib/tools/parabola/__tests__/index.test.js +0 -564
- package/lib/tools/parabola/__tests__/index.test.js.map +0 -1
- package/lib/tools/point/__tests__/component.test.js +0 -434
- package/lib/tools/point/__tests__/component.test.js.map +0 -1
- package/lib/tools/point/__tests__/index.test.js +0 -262
- package/lib/tools/point/__tests__/index.test.js.map +0 -1
- package/lib/tools/polygon/__tests__/component.test.js +0 -485
- package/lib/tools/polygon/__tests__/component.test.js.map +0 -1
- package/lib/tools/polygon/__tests__/index.test.js +0 -303
- package/lib/tools/polygon/__tests__/index.test.js.map +0 -1
- package/lib/tools/polygon/__tests__/line.test.js +0 -50
- package/lib/tools/polygon/__tests__/line.test.js.map +0 -1
- package/lib/tools/polygon/__tests__/polygon.test.js +0 -85
- package/lib/tools/polygon/__tests__/polygon.test.js.map +0 -1
- package/lib/tools/ray/__tests__/component.test.js +0 -35
- package/lib/tools/ray/__tests__/component.test.js.map +0 -1
- package/lib/tools/segment/__tests__/component.test.js +0 -35
- package/lib/tools/segment/__tests__/component.test.js.map +0 -1
- package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
- package/lib/tools/shared/__tests__/arrow-head.test.js.map +0 -1
- package/lib/tools/shared/line/__tests__/index.test.js +0 -124
- package/lib/tools/shared/line/__tests__/index.test.js.map +0 -1
- package/lib/tools/shared/line/__tests__/line-path.test.js +0 -62
- package/lib/tools/shared/line/__tests__/line-path.test.js.map +0 -1
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -90
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +0 -1
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
- package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +0 -1
- package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
- package/lib/tools/shared/point/__tests__/base-point.test.js.map +0 -1
- package/lib/tools/sine/__tests__/component.test.js +0 -72
- package/lib/tools/sine/__tests__/component.test.js.map +0 -1
- package/lib/tools/vector/__tests__/component.test.js +0 -32
- package/lib/tools/vector/__tests__/component.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark-label.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_markLabel","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","describe","onChange","jest","fn","inputRef","renderComponent","extras","defaults","classes","className","mark","x","y","graphProps","getGraphProps","props","render","createElement","MarkLabel","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","_renderComponent2","assertPosition","rect","expected","concat","width","height","result","position","toEqual","assertCoordinates","pos","left","top","coordinates"],"sources":["../../src/__tests__/mark-label.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\nimport { coordinates, MarkLabel, position } from '../mark-label';\nimport { graphProps as getGraphProps } from './utils';\n\ndescribe('MarkLabel', () => {\n let onChange = jest.fn();\n let inputRef = jest.fn();\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n inputRef,\n mark: { x: 1, y: 1 },\n graphProps: getGraphProps(0, 10, 0, 10),\n };\n const props = { ...defaults, ...extras };\n return render(<MarkLabel {...props} />);\n };\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n it('renders with different mark position', () => {\n const { container } = renderComponent({ mark: { x: 10, y: 10 } });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n\ndescribe('position', () => {\n const assertPosition = (mark, rect, expected) => {\n it(`${mark.x},${mark.y} + ${rect.width},${rect.height} => ${expected}`, () => {\n // we set range.min to a value because in pixels - the greater the Y the lower down on the screen.\n const graphProps = getGraphProps(0, 12, 12, 0);\n const result = position(graphProps, mark, rect);\n expect(result).toEqual(expected);\n });\n };\n\n assertPosition({ x: 0, y: 0 }, { width: 10, height: 10 }, 'top-left');\n assertPosition({ x: 0, y: 0 }, { width: 1, height: 1 }, 'bottom-right');\n assertPosition({ x: 0, y: 0 }, { width: 10, height: 0 }, 'bottom-left');\n assertPosition({ x: 0, y: 0 }, { width: 0, height: 10 }, 'top-right');\n});\n\ndescribe('coordinates', () => {\n const assertCoordinates = (mark, rect, pos, expected) => {\n it(`${mark.x}, ${mark.y} -> ${pos} = ${expected.left}, ${expected.top}`, () => {\n const result = coordinates(getGraphProps(), mark, rect, pos);\n expect(result).toEqual(expected);\n });\n };\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'top-left', { left: -5, top: -5 });\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'bottom-left', { left: -5, top: 5 });\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'top-right', { left: 5, top: -5 });\n assertCoordinates({ x: 0, y: 0 }, { width: 0, height: 0 }, 'bottom-right', {\n left: 5,\n top: 5,\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _testUtils = require("@pie-lib/test-utils");
|
|
10
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
11
|
-
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
var _toggleBar = require("../toggle-bar");
|
|
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
|
-
jest.mock('@pie-lib/drag', function () {
|
|
16
|
-
return {
|
|
17
|
-
DragProvider: function DragProvider(_ref) {
|
|
18
|
-
var children = _ref.children;
|
|
19
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
20
|
-
"data-testid": "drag-provider"
|
|
21
|
-
}, children);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
jest.mock('@dnd-kit/core', function () {
|
|
26
|
-
return {
|
|
27
|
-
useDraggable: jest.fn(function () {
|
|
28
|
-
return {
|
|
29
|
-
attributes: {
|
|
30
|
-
role: 'button',
|
|
31
|
-
tabIndex: 0
|
|
32
|
-
},
|
|
33
|
-
listeners: {
|
|
34
|
-
onPointerDown: jest.fn()
|
|
35
|
-
},
|
|
36
|
-
setNodeRef: jest.fn(),
|
|
37
|
-
transform: null,
|
|
38
|
-
transition: null,
|
|
39
|
-
isDragging: false
|
|
40
|
-
};
|
|
41
|
-
}),
|
|
42
|
-
useDroppable: jest.fn(function () {
|
|
43
|
-
return {
|
|
44
|
-
setNodeRef: jest.fn(),
|
|
45
|
-
isOver: false,
|
|
46
|
-
active: null
|
|
47
|
-
};
|
|
48
|
-
})
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
jest.mock('@dnd-kit/utilities', function () {
|
|
52
|
-
return {
|
|
53
|
-
CSS: {
|
|
54
|
-
Transform: {
|
|
55
|
-
toString: jest.fn(function (transform) {
|
|
56
|
-
return transform ? 'translate3d(0, 0, 0)' : '';
|
|
57
|
-
})
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
jest.mock('@dnd-kit/sortable', function () {
|
|
63
|
-
return {
|
|
64
|
-
arrayMove: jest.fn(function (array, from, to) {
|
|
65
|
-
var newArray = (0, _toConsumableArray2["default"])(array);
|
|
66
|
-
var _newArray$splice = newArray.splice(from, 1),
|
|
67
|
-
_newArray$splice2 = (0, _slicedToArray2["default"])(_newArray$splice, 1),
|
|
68
|
-
removed = _newArray$splice2[0];
|
|
69
|
-
newArray.splice(to, 0, removed);
|
|
70
|
-
return newArray;
|
|
71
|
-
})
|
|
72
|
-
};
|
|
73
|
-
});
|
|
74
|
-
jest.mock('@pie-lib/translator', function () {
|
|
75
|
-
return {
|
|
76
|
-
translator: {
|
|
77
|
-
t: function t(key) {
|
|
78
|
-
var parts = key.split('.');
|
|
79
|
-
return parts[parts.length - 1];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
});
|
|
84
|
-
describe('ToggleBar', function () {
|
|
85
|
-
var onChange = jest.fn();
|
|
86
|
-
var onChangeToolsOrder = jest.fn();
|
|
87
|
-
beforeEach(function () {
|
|
88
|
-
onChange.mockClear();
|
|
89
|
-
onChangeToolsOrder.mockClear();
|
|
90
|
-
});
|
|
91
|
-
var renderComponent = function renderComponent(extras) {
|
|
92
|
-
var defaults = {
|
|
93
|
-
className: 'className',
|
|
94
|
-
onChange: onChange,
|
|
95
|
-
onChangeToolsOrder: onChangeToolsOrder,
|
|
96
|
-
options: ['point', 'line'],
|
|
97
|
-
language: 'en'
|
|
98
|
-
};
|
|
99
|
-
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
100
|
-
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_toggleBar.ToggleBar, props));
|
|
101
|
-
};
|
|
102
|
-
describe('rendering', function () {
|
|
103
|
-
it('renders without crashing', function () {
|
|
104
|
-
var _renderComponent = renderComponent(),
|
|
105
|
-
container = _renderComponent.container;
|
|
106
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
107
|
-
});
|
|
108
|
-
it('renders tool buttons for valid tools', function () {
|
|
109
|
-
renderComponent({
|
|
110
|
-
options: ['point', 'line', 'circle']
|
|
111
|
-
});
|
|
112
|
-
expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
|
|
113
|
-
expect(_testUtils.screen.getByText(/line/i)).toBeInTheDocument();
|
|
114
|
-
expect(_testUtils.screen.getByText(/circle/i)).toBeInTheDocument();
|
|
115
|
-
});
|
|
116
|
-
it('does not render invalid tool options', function () {
|
|
117
|
-
renderComponent({
|
|
118
|
-
options: ['point', 'invalid-tool', 'line']
|
|
119
|
-
});
|
|
120
|
-
expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
|
|
121
|
-
expect(_testUtils.screen.getByText(/line/i)).toBeInTheDocument();
|
|
122
|
-
expect(_testUtils.screen.queryByText(/invalid-tool/i)).not.toBeInTheDocument();
|
|
123
|
-
});
|
|
124
|
-
it('highlights selected tool', function () {
|
|
125
|
-
var _renderComponent2 = renderComponent({
|
|
126
|
-
selectedToolType: 'line'
|
|
127
|
-
}),
|
|
128
|
-
container = _renderComponent2.container;
|
|
129
|
-
var selectedButton = _testUtils.screen.getByText(/line/i).closest('button');
|
|
130
|
-
expect(selectedButton).toHaveAttribute('value', 'line');
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
describe('interactions', function () {
|
|
134
|
-
it('calls onChange when tool button is clicked', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
135
|
-
var user, pointButton;
|
|
136
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
137
|
-
while (1) switch (_context.prev = _context.next) {
|
|
138
|
-
case 0:
|
|
139
|
-
user = _userEvent["default"].setup();
|
|
140
|
-
renderComponent({
|
|
141
|
-
options: ['point', 'line']
|
|
142
|
-
});
|
|
143
|
-
pointButton = _testUtils.screen.getByText(/point/i).closest('button');
|
|
144
|
-
_context.next = 1;
|
|
145
|
-
return user.click(pointButton);
|
|
146
|
-
case 1:
|
|
147
|
-
expect(onChange).toHaveBeenCalledWith('point');
|
|
148
|
-
case 2:
|
|
149
|
-
case "end":
|
|
150
|
-
return _context.stop();
|
|
151
|
-
}
|
|
152
|
-
}, _callee);
|
|
153
|
-
})));
|
|
154
|
-
it('calls onChange with selected tool type', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
155
|
-
var user, lineButton;
|
|
156
|
-
return _regenerator["default"].wrap(function (_context2) {
|
|
157
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
158
|
-
case 0:
|
|
159
|
-
user = _userEvent["default"].setup();
|
|
160
|
-
renderComponent({
|
|
161
|
-
options: ['point', 'line'],
|
|
162
|
-
selectedToolType: 'point'
|
|
163
|
-
});
|
|
164
|
-
lineButton = _testUtils.screen.getByText(/line/i).closest('button');
|
|
165
|
-
_context2.next = 1;
|
|
166
|
-
return user.click(lineButton);
|
|
167
|
-
case 1:
|
|
168
|
-
expect(onChange).toHaveBeenCalledWith('line');
|
|
169
|
-
case 2:
|
|
170
|
-
case "end":
|
|
171
|
-
return _context2.stop();
|
|
172
|
-
}
|
|
173
|
-
}, _callee2);
|
|
174
|
-
})));
|
|
175
|
-
it('disables buttons when disabled prop is true', function () {
|
|
176
|
-
renderComponent({
|
|
177
|
-
disabled: true,
|
|
178
|
-
options: ['point', 'line']
|
|
179
|
-
});
|
|
180
|
-
var pointButton = _testUtils.screen.getByText(/point/i).closest('button');
|
|
181
|
-
var lineButton = _testUtils.screen.getByText(/line/i).closest('button');
|
|
182
|
-
expect(pointButton).toBeDisabled();
|
|
183
|
-
expect(lineButton).toBeDisabled();
|
|
184
|
-
});
|
|
185
|
-
it('does not call onChange when disabled', function () {
|
|
186
|
-
renderComponent({
|
|
187
|
-
disabled: true,
|
|
188
|
-
options: ['point']
|
|
189
|
-
});
|
|
190
|
-
var pointButton = _testUtils.screen.getByText(/point/i).closest('button');
|
|
191
|
-
expect(pointButton).toBeDisabled();
|
|
192
|
-
// Note: Cannot test click on disabled button with pointer-events: none
|
|
193
|
-
// The disabled state is verified above
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
});
|
|
197
|
-
//# sourceMappingURL=toggle-bar.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-bar.test.js","names":["_testUtils","require","_userEvent","_interopRequireDefault","_react","_toggleBar","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","DragProvider","_ref","children","createElement","useDraggable","fn","attributes","role","tabIndex","listeners","onPointerDown","setNodeRef","transform","transition","isDragging","useDroppable","isOver","active","CSS","Transform","toString","arrayMove","array","from","to","newArray","_toConsumableArray2","_newArray$splice","splice","_newArray$splice2","_slicedToArray2","removed","translator","key","parts","split","describe","onChange","onChangeToolsOrder","beforeEach","mockClear","renderComponent","extras","defaults","className","options","language","props","render","ToggleBar","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","screen","getByText","queryByText","not","_renderComponent2","selectedToolType","selectedButton","closest","toHaveAttribute","_asyncToGenerator2","_regenerator","mark","_callee","user","pointButton","wrap","_context","prev","next","userEvent","setup","click","toHaveBeenCalledWith","stop","_callee2","lineButton","_context2","disabled","toBeDisabled"],"sources":["../../src/__tests__/toggle-bar.test.jsx"],"sourcesContent":["import { render, screen } from '@pie-lib/test-utils';\nimport userEvent from '@testing-library/user-event';\nimport React from 'react';\n\nimport { ToggleBar } from '../toggle-bar';\n\njest.mock('@pie-lib/drag', () => ({\n DragProvider: ({ children }) => <div data-testid=\"drag-provider\">{children}</div>,\n}));\n\njest.mock('@dnd-kit/core', () => ({\n useDraggable: jest.fn(() => ({\n attributes: {\n role: 'button',\n tabIndex: 0,\n },\n listeners: {\n onPointerDown: jest.fn(),\n },\n setNodeRef: jest.fn(),\n transform: null,\n transition: null,\n isDragging: false,\n })),\n useDroppable: jest.fn(() => ({\n setNodeRef: jest.fn(),\n isOver: false,\n active: null,\n })),\n}));\n\njest.mock('@dnd-kit/utilities', () => ({\n CSS: {\n Transform: {\n toString: jest.fn((transform) => (transform ? 'translate3d(0, 0, 0)' : '')),\n },\n },\n}));\n\njest.mock('@dnd-kit/sortable', () => ({\n arrayMove: jest.fn((array, from, to) => {\n const newArray = [...array];\n const [removed] = newArray.splice(from, 1);\n newArray.splice(to, 0, removed);\n return newArray;\n }),\n}));\n\njest.mock('@pie-lib/translator', () => ({\n translator: {\n t: (key) => {\n const parts = key.split('.');\n return parts[parts.length - 1];\n },\n },\n}));\n\ndescribe('ToggleBar', () => {\n let onChange = jest.fn();\n let onChangeToolsOrder = jest.fn();\n\n beforeEach(() => {\n onChange.mockClear();\n onChangeToolsOrder.mockClear();\n });\n\n const renderComponent = (extras) => {\n const defaults = {\n className: 'className',\n onChange,\n onChangeToolsOrder,\n options: ['point', 'line'],\n language: 'en',\n };\n const props = { ...defaults, ...extras };\n return render(<ToggleBar {...props} />);\n };\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders tool buttons for valid tools', () => {\n renderComponent({ options: ['point', 'line', 'circle'] });\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n expect(screen.getByText(/line/i)).toBeInTheDocument();\n expect(screen.getByText(/circle/i)).toBeInTheDocument();\n });\n\n it('does not render invalid tool options', () => {\n renderComponent({ options: ['point', 'invalid-tool', 'line'] });\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n expect(screen.getByText(/line/i)).toBeInTheDocument();\n expect(screen.queryByText(/invalid-tool/i)).not.toBeInTheDocument();\n });\n\n it('highlights selected tool', () => {\n const { container } = renderComponent({ selectedToolType: 'line' });\n const selectedButton = screen.getByText(/line/i).closest('button');\n expect(selectedButton).toHaveAttribute('value', 'line');\n });\n });\n\n describe('interactions', () => {\n it('calls onChange when tool button is clicked', async () => {\n const user = userEvent.setup();\n renderComponent({ options: ['point', 'line'] });\n\n const pointButton = screen.getByText(/point/i).closest('button');\n await user.click(pointButton);\n\n expect(onChange).toHaveBeenCalledWith('point');\n });\n\n it('calls onChange with selected tool type', async () => {\n const user = userEvent.setup();\n renderComponent({ options: ['point', 'line'], selectedToolType: 'point' });\n\n const lineButton = screen.getByText(/line/i).closest('button');\n await user.click(lineButton);\n\n expect(onChange).toHaveBeenCalledWith('line');\n });\n\n it('disables buttons when disabled prop is true', () => {\n renderComponent({ disabled: true, options: ['point', 'line'] });\n\n const pointButton = screen.getByText(/point/i).closest('button');\n const lineButton = screen.getByText(/line/i).closest('button');\n\n expect(pointButton).toBeDisabled();\n expect(lineButton).toBeDisabled();\n });\n\n it('does not call onChange when disabled', () => {\n renderComponent({ disabled: true, options: ['point'] });\n\n const pointButton = screen.getByText(/point/i).closest('button');\n expect(pointButton).toBeDisabled();\n // Note: Cannot test click on disabled button with pointer-events: none\n // The disabled state is verified above\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _testUtils = require("@pie-lib/test-utils");
|
|
10
|
-
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
11
|
-
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
var _toolMenu = _interopRequireDefault(require("../tool-menu"));
|
|
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
|
-
jest.mock('@pie-lib/drag', function () {
|
|
16
|
-
return {
|
|
17
|
-
DragProvider: function DragProvider(_ref) {
|
|
18
|
-
var children = _ref.children;
|
|
19
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
20
|
-
"data-testid": "drag-provider"
|
|
21
|
-
}, children);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
jest.mock('@dnd-kit/core', function () {
|
|
26
|
-
return {
|
|
27
|
-
useDraggable: jest.fn(function () {
|
|
28
|
-
return {
|
|
29
|
-
attributes: {
|
|
30
|
-
role: 'button',
|
|
31
|
-
tabIndex: 0
|
|
32
|
-
},
|
|
33
|
-
listeners: {
|
|
34
|
-
onPointerDown: jest.fn()
|
|
35
|
-
},
|
|
36
|
-
setNodeRef: jest.fn(),
|
|
37
|
-
transform: null,
|
|
38
|
-
transition: null,
|
|
39
|
-
isDragging: false
|
|
40
|
-
};
|
|
41
|
-
}),
|
|
42
|
-
useDroppable: jest.fn(function () {
|
|
43
|
-
return {
|
|
44
|
-
setNodeRef: jest.fn(),
|
|
45
|
-
isOver: false,
|
|
46
|
-
active: null
|
|
47
|
-
};
|
|
48
|
-
})
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
jest.mock('@dnd-kit/utilities', function () {
|
|
52
|
-
return {
|
|
53
|
-
CSS: {
|
|
54
|
-
Transform: {
|
|
55
|
-
toString: jest.fn(function (transform) {
|
|
56
|
-
return transform ? 'translate3d(0, 0, 0)' : '';
|
|
57
|
-
})
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
jest.mock('@dnd-kit/sortable', function () {
|
|
63
|
-
return {
|
|
64
|
-
arrayMove: jest.fn(function (array, from, to) {
|
|
65
|
-
var newArray = (0, _toConsumableArray2["default"])(array);
|
|
66
|
-
var _newArray$splice = newArray.splice(from, 1),
|
|
67
|
-
_newArray$splice2 = (0, _slicedToArray2["default"])(_newArray$splice, 1),
|
|
68
|
-
removed = _newArray$splice2[0];
|
|
69
|
-
newArray.splice(to, 0, removed);
|
|
70
|
-
return newArray;
|
|
71
|
-
})
|
|
72
|
-
};
|
|
73
|
-
});
|
|
74
|
-
describe('ToolMenu', function () {
|
|
75
|
-
var onChange = jest.fn();
|
|
76
|
-
var onChangeTools = jest.fn();
|
|
77
|
-
beforeEach(function () {
|
|
78
|
-
onChange.mockClear();
|
|
79
|
-
onChangeTools.mockClear();
|
|
80
|
-
});
|
|
81
|
-
var renderComponent = function renderComponent(extras) {
|
|
82
|
-
var defaults = {
|
|
83
|
-
className: 'className',
|
|
84
|
-
onChange: onChange,
|
|
85
|
-
onChangeTools: onChangeTools,
|
|
86
|
-
currentToolType: 'point',
|
|
87
|
-
toolbarTools: ['point', 'line'],
|
|
88
|
-
language: 'en'
|
|
89
|
-
};
|
|
90
|
-
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
91
|
-
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_toolMenu["default"], props));
|
|
92
|
-
};
|
|
93
|
-
describe('rendering', function () {
|
|
94
|
-
it('renders without crashing', function () {
|
|
95
|
-
var _renderComponent = renderComponent(),
|
|
96
|
-
container = _renderComponent.container;
|
|
97
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
98
|
-
});
|
|
99
|
-
it('renders ToggleBar with correct props', function () {
|
|
100
|
-
renderComponent({
|
|
101
|
-
toolbarTools: ['point', 'line', 'circle']
|
|
102
|
-
});
|
|
103
|
-
expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
|
|
104
|
-
expect(_testUtils.screen.getByText(/line/i)).toBeInTheDocument();
|
|
105
|
-
expect(_testUtils.screen.getByText(/circle/i)).toBeInTheDocument();
|
|
106
|
-
});
|
|
107
|
-
it('passes currentToolType to ToggleBar', function () {
|
|
108
|
-
renderComponent({
|
|
109
|
-
currentToolType: 'line'
|
|
110
|
-
});
|
|
111
|
-
var selectedButton = _testUtils.screen.getByText(/line/i).closest('button');
|
|
112
|
-
expect(selectedButton).toBeInTheDocument();
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
describe('interactions', function () {
|
|
116
|
-
it('calls onChange when tool is selected', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
117
|
-
var user, lineButton;
|
|
118
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
119
|
-
while (1) switch (_context.prev = _context.next) {
|
|
120
|
-
case 0:
|
|
121
|
-
user = _userEvent["default"].setup();
|
|
122
|
-
renderComponent();
|
|
123
|
-
lineButton = _testUtils.screen.getByText(/line/i).closest('button');
|
|
124
|
-
_context.next = 1;
|
|
125
|
-
return user.click(lineButton);
|
|
126
|
-
case 1:
|
|
127
|
-
expect(onChange).toHaveBeenCalledWith('line');
|
|
128
|
-
case 2:
|
|
129
|
-
case "end":
|
|
130
|
-
return _context.stop();
|
|
131
|
-
}
|
|
132
|
-
}, _callee);
|
|
133
|
-
})));
|
|
134
|
-
it('calls onChangeTools when tools order changes', function () {
|
|
135
|
-
renderComponent({
|
|
136
|
-
draggableTools: true
|
|
137
|
-
});
|
|
138
|
-
// Note: Drag-and-drop testing requires more complex setup with @dnd-kit/test-utils
|
|
139
|
-
// For now, we verify the component renders with draggableTools enabled
|
|
140
|
-
expect(_testUtils.screen.getByText(/point/i)).toBeInTheDocument();
|
|
141
|
-
});
|
|
142
|
-
it('disables tools when disabled prop is true', function () {
|
|
143
|
-
renderComponent({
|
|
144
|
-
disabled: true
|
|
145
|
-
});
|
|
146
|
-
var pointButton = _testUtils.screen.getByText(/point/i).closest('button');
|
|
147
|
-
expect(pointButton).toBeDisabled();
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
//# sourceMappingURL=tool-menu.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-menu.test.js","names":["_testUtils","require","_userEvent","_interopRequireDefault","_react","_toolMenu","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","DragProvider","_ref","children","createElement","useDraggable","fn","attributes","role","tabIndex","listeners","onPointerDown","setNodeRef","transform","transition","isDragging","useDroppable","isOver","active","CSS","Transform","toString","arrayMove","array","from","to","newArray","_toConsumableArray2","_newArray$splice","splice","_newArray$splice2","_slicedToArray2","removed","describe","onChange","onChangeTools","beforeEach","mockClear","renderComponent","extras","defaults","className","currentToolType","toolbarTools","language","props","render","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","screen","getByText","selectedButton","closest","_asyncToGenerator2","_regenerator","mark","_callee","user","lineButton","wrap","_context","prev","next","userEvent","setup","click","toHaveBeenCalledWith","stop","draggableTools","disabled","pointButton","toBeDisabled"],"sources":["../../src/__tests__/tool-menu.test.jsx"],"sourcesContent":["import { render, screen } from '@pie-lib/test-utils';\nimport userEvent from '@testing-library/user-event';\nimport React from 'react';\n\nimport ToolMenu from '../tool-menu';\n\njest.mock('@pie-lib/drag', () => ({\n DragProvider: ({ children }) => <div data-testid=\"drag-provider\">{children}</div>,\n}));\n\njest.mock('@dnd-kit/core', () => ({\n useDraggable: jest.fn(() => ({\n attributes: {\n role: 'button',\n tabIndex: 0,\n },\n listeners: {\n onPointerDown: jest.fn(),\n },\n setNodeRef: jest.fn(),\n transform: null,\n transition: null,\n isDragging: false,\n })),\n useDroppable: jest.fn(() => ({\n setNodeRef: jest.fn(),\n isOver: false,\n active: null,\n })),\n}));\n\njest.mock('@dnd-kit/utilities', () => ({\n CSS: {\n Transform: {\n toString: jest.fn((transform) => (transform ? 'translate3d(0, 0, 0)' : '')),\n },\n },\n}));\n\njest.mock('@dnd-kit/sortable', () => ({\n arrayMove: jest.fn((array, from, to) => {\n const newArray = [...array];\n const [removed] = newArray.splice(from, 1);\n newArray.splice(to, 0, removed);\n return newArray;\n }),\n}));\n\ndescribe('ToolMenu', () => {\n let onChange = jest.fn();\n let onChangeTools = jest.fn();\n\n beforeEach(() => {\n onChange.mockClear();\n onChangeTools.mockClear();\n });\n\n const renderComponent = (extras) => {\n const defaults = {\n className: 'className',\n onChange,\n onChangeTools,\n currentToolType: 'point',\n toolbarTools: ['point', 'line'],\n language: 'en',\n };\n const props = { ...defaults, ...extras };\n return render(<ToolMenu {...props} />);\n };\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders ToggleBar with correct props', () => {\n renderComponent({ toolbarTools: ['point', 'line', 'circle'] });\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n expect(screen.getByText(/line/i)).toBeInTheDocument();\n expect(screen.getByText(/circle/i)).toBeInTheDocument();\n });\n\n it('passes currentToolType to ToggleBar', () => {\n renderComponent({ currentToolType: 'line' });\n const selectedButton = screen.getByText(/line/i).closest('button');\n expect(selectedButton).toBeInTheDocument();\n });\n });\n\n describe('interactions', () => {\n it('calls onChange when tool is selected', async () => {\n const user = userEvent.setup();\n renderComponent();\n\n const lineButton = screen.getByText(/line/i).closest('button');\n await user.click(lineButton);\n\n expect(onChange).toHaveBeenCalledWith('line');\n });\n\n it('calls onChangeTools when tools order changes', () => {\n renderComponent({ draggableTools: true });\n // Note: Drag-and-drop testing requires more complex setup with @dnd-kit/test-utils\n // For now, we verify the component renders with draggableTools enabled\n expect(screen.getByText(/point/i)).toBeInTheDocument();\n });\n\n it('disables tools when disabled prop is true', () => {\n renderComponent({ disabled: true });\n const pointButton = screen.getByText(/point/i).closest('button');\n expect(pointButton).toBeDisabled();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
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 _undoRedo = _interopRequireDefault(require("../undo-redo"));
|
|
8
|
-
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; }
|
|
9
|
-
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; }
|
|
10
|
-
describe('UndoRedo', function () {
|
|
11
|
-
var onUndo = jest.fn();
|
|
12
|
-
var onRedo = jest.fn();
|
|
13
|
-
var onReset = jest.fn();
|
|
14
|
-
var renderComponent = function renderComponent(extras) {
|
|
15
|
-
var defaults = {
|
|
16
|
-
onUndo: onUndo,
|
|
17
|
-
onRedo: onRedo,
|
|
18
|
-
onReset: onReset
|
|
19
|
-
};
|
|
20
|
-
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
21
|
-
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_undoRedo["default"], props));
|
|
22
|
-
};
|
|
23
|
-
describe('rendering', function () {
|
|
24
|
-
it('renders without crashing', function () {
|
|
25
|
-
var _renderComponent = renderComponent(),
|
|
26
|
-
container = _renderComponent.container;
|
|
27
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
//# sourceMappingURL=undo-redo.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"undo-redo.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_undoRedo","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","describe","onUndo","jest","fn","onRedo","onReset","renderComponent","extras","defaults","props","render","createElement","it","_renderComponent","container","expect","firstChild","toBeInTheDocument"],"sources":["../../src/__tests__/undo-redo.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\nimport UndoRedo from '../undo-redo';\n\ndescribe('UndoRedo', () => {\n let onUndo = jest.fn();\n let onRedo = jest.fn();\n let onReset = jest.fn();\n const renderComponent = (extras) => {\n const defaults = {\n onUndo,\n onRedo,\n onReset,\n };\n const props = { ...defaults, ...extras };\n return render(<UndoRedo {...props} />);\n };\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAoC,SAAAI,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAEpCoB,QAAQ,CAAC,UAAU,EAAE,YAAM;EACzB,IAAIC,MAAM,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACtB,IAAIC,MAAM,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;EACtB,IAAIE,OAAO,GAAGH,IAAI,CAACC,EAAE,CAAC,CAAC;EACvB,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,MAAM,EAAK;IAClC,IAAMC,QAAQ,GAAG;MACfP,MAAM,EAANA,MAAM;MACNG,MAAM,EAANA,MAAM;MACNC,OAAO,EAAPA;IACF,CAAC;IACD,IAAMI,KAAK,GAAAjB,aAAA,CAAAA,aAAA,KAAQgB,QAAQ,GAAKD,MAAM,CAAE;IACxC,OAAO,IAAAG,iBAAM,eAAClC,MAAA,YAAAmC,aAAA,CAACjC,SAAA,WAAQ,EAAK+B,KAAQ,CAAC,CAAC;EACxC,CAAC;EACDT,QAAQ,CAAC,WAAW,EAAE,YAAM;IAC1BY,EAAE,CAAC,0BAA0B,EAAE,YAAM;MACnC,IAAAC,gBAAA,GAAsBP,eAAe,CAAC,CAAC;QAA/BQ,SAAS,GAAAD,gBAAA,CAATC,SAAS;MACjBC,MAAM,CAACD,SAAS,CAACE,UAAU,CAAC,CAACC,iBAAiB,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _react = require("react");
|
|
4
|
-
var _useDebounce = require("../use-debounce");
|
|
5
|
-
jest.useFakeTimers();
|
|
6
|
-
jest.mock('react', function () {
|
|
7
|
-
return {
|
|
8
|
-
useState: jest.fn(),
|
|
9
|
-
useEffect: jest.fn(function (fn, deps) {
|
|
10
|
-
return fn();
|
|
11
|
-
})
|
|
12
|
-
};
|
|
13
|
-
});
|
|
14
|
-
describe('useDebounce', function () {
|
|
15
|
-
it('..', function () {
|
|
16
|
-
var debouncedValue = null;
|
|
17
|
-
var setDebouncedValue = jest.fn();
|
|
18
|
-
_react.useState.mockReturnValue([debouncedValue, setDebouncedValue]);
|
|
19
|
-
(0, _useDebounce.useDebounce)('foo', 1000);
|
|
20
|
-
jest.runAllTimers();
|
|
21
|
-
expect(setDebouncedValue).toHaveBeenCalledWith('foo');
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=use-debounce.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-debounce.test.js","names":["_react","require","_useDebounce","jest","useFakeTimers","mock","useState","fn","useEffect","deps","describe","it","debouncedValue","setDebouncedValue","mockReturnValue","useDebounce","runAllTimers","expect","toHaveBeenCalledWith"],"sources":["../../src/__tests__/use-debounce.test.js"],"sourcesContent":["import { useState } from 'react';\nimport { useDebounce } from '../use-debounce';\n\njest.useFakeTimers();\n\njest.mock('react', () => ({\n useState: jest.fn(),\n useEffect: jest.fn((fn, deps) => fn()),\n}));\n\ndescribe('useDebounce', () => {\n it('..', () => {\n const debouncedValue = null;\n const setDebouncedValue = jest.fn();\n\n useState.mockReturnValue([debouncedValue, setDebouncedValue]);\n useDebounce('foo', 1000);\n jest.runAllTimers();\n expect(setDebouncedValue).toHaveBeenCalledWith('foo');\n });\n});\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEAE,IAAI,CAACC,aAAa,CAAC,CAAC;AAEpBD,IAAI,CAACE,IAAI,CAAC,OAAO,EAAE;EAAA,OAAO;IACxBC,QAAQ,EAAEH,IAAI,CAACI,EAAE,CAAC,CAAC;IACnBC,SAAS,EAAEL,IAAI,CAACI,EAAE,CAAC,UAACA,EAAE,EAAEE,IAAI;MAAA,OAAKF,EAAE,CAAC,CAAC;IAAA;EACvC,CAAC;AAAA,CAAC,CAAC;AAEHG,QAAQ,CAAC,aAAa,EAAE,YAAM;EAC5BC,EAAE,CAAC,IAAI,EAAE,YAAM;IACb,IAAMC,cAAc,GAAG,IAAI;IAC3B,IAAMC,iBAAiB,GAAGV,IAAI,CAACI,EAAE,CAAC,CAAC;IAEnCD,eAAQ,CAACQ,eAAe,CAAC,CAACF,cAAc,EAAEC,iBAAiB,CAAC,CAAC;IAC7D,IAAAE,wBAAW,EAAC,KAAK,EAAE,IAAI,CAAC;IACxBZ,IAAI,CAACa,YAAY,CAAC,CAAC;IACnBC,MAAM,CAACJ,iBAAiB,CAAC,CAACK,oBAAoB,CAAC,KAAK,CAAC;EACvD,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
package/lib/__tests__/utils.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.xy = exports.scaleMock = exports.graphProps = void 0;
|
|
7
|
-
var _scaleMock = exports.scaleMock = function scaleMock() {
|
|
8
|
-
var fn = jest.fn(function (n) {
|
|
9
|
-
return n;
|
|
10
|
-
});
|
|
11
|
-
fn.invert = jest.fn(function (n) {
|
|
12
|
-
return n;
|
|
13
|
-
});
|
|
14
|
-
fn.domain = jest.fn(function () {
|
|
15
|
-
return fn;
|
|
16
|
-
});
|
|
17
|
-
fn.range = jest.fn(function () {
|
|
18
|
-
return fn;
|
|
19
|
-
});
|
|
20
|
-
fn.copy = jest.fn(function () {
|
|
21
|
-
return _scaleMock();
|
|
22
|
-
});
|
|
23
|
-
return fn;
|
|
24
|
-
};
|
|
25
|
-
var graphProps = exports.graphProps = function graphProps() {
|
|
26
|
-
var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
27
|
-
var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
28
|
-
var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
29
|
-
var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
30
|
-
return {
|
|
31
|
-
scale: {
|
|
32
|
-
x: _scaleMock(),
|
|
33
|
-
y: _scaleMock()
|
|
34
|
-
},
|
|
35
|
-
snap: {
|
|
36
|
-
x: jest.fn(function (n) {
|
|
37
|
-
return n;
|
|
38
|
-
}),
|
|
39
|
-
y: jest.fn(function (n) {
|
|
40
|
-
return n;
|
|
41
|
-
})
|
|
42
|
-
},
|
|
43
|
-
domain: {
|
|
44
|
-
min: dmin,
|
|
45
|
-
max: dmax,
|
|
46
|
-
step: 1
|
|
47
|
-
},
|
|
48
|
-
range: {
|
|
49
|
-
min: rmin,
|
|
50
|
-
max: rmax,
|
|
51
|
-
step: 1
|
|
52
|
-
},
|
|
53
|
-
size: {
|
|
54
|
-
width: 400,
|
|
55
|
-
height: 400
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
var xy = exports.xy = function xy(x, y, index) {
|
|
60
|
-
var out = {
|
|
61
|
-
x: x,
|
|
62
|
-
y: y,
|
|
63
|
-
index: index
|
|
64
|
-
};
|
|
65
|
-
if (!Number.isFinite(index)) {
|
|
66
|
-
delete out.index;
|
|
67
|
-
}
|
|
68
|
-
return out;
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["scaleMock","exports","fn","jest","n","invert","domain","range","copy","graphProps","dmin","arguments","length","undefined","dmax","rmin","rmax","scale","x","y","snap","min","max","step","size","width","height","xy","index","out","Number","isFinite"],"sources":["../../src/__tests__/utils.js"],"sourcesContent":["export const scaleMock = () => {\n const fn = jest.fn((n) => n);\n fn.invert = jest.fn((n) => n);\n fn.domain = jest.fn(() => fn);\n fn.range = jest.fn(() => fn);\n fn.copy = jest.fn(() => scaleMock());\n return fn;\n};\n\nexport const graphProps = (dmin = 0, dmax = 1, rmin = 0, rmax = 1) => ({\n scale: {\n x: scaleMock(),\n y: scaleMock(),\n },\n snap: {\n x: jest.fn((n) => n),\n y: jest.fn((n) => n),\n },\n domain: {\n min: dmin,\n max: dmax,\n step: 1,\n },\n range: {\n min: rmin,\n max: rmax,\n step: 1,\n },\n size: {\n width: 400,\n height: 400,\n },\n});\n\nexport const xy = (x, y, index) => {\n const out = { x, y, index };\n if (!Number.isFinite(index)) {\n delete out.index;\n }\n return out;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,UAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,SAAZA,SAASA,CAAA,EAAS;EAC7B,IAAME,EAAE,GAAGC,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;IAAA,OAAKA,CAAC;EAAA,EAAC;EAC5BF,EAAE,CAACG,MAAM,GAAGF,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;IAAA,OAAKA,CAAC;EAAA,EAAC;EAC7BF,EAAE,CAACI,MAAM,GAAGH,IAAI,CAACD,EAAE,CAAC;IAAA,OAAMA,EAAE;EAAA,EAAC;EAC7BA,EAAE,CAACK,KAAK,GAAGJ,IAAI,CAACD,EAAE,CAAC;IAAA,OAAMA,EAAE;EAAA,EAAC;EAC5BA,EAAE,CAACM,IAAI,GAAGL,IAAI,CAACD,EAAE,CAAC;IAAA,OAAMF,UAAS,CAAC,CAAC;EAAA,EAAC;EACpC,OAAOE,EAAE;AACX,CAAC;AAEM,IAAMO,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,SAAbA,UAAUA,CAAA;EAAA,IAAIC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEG,IAAI,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEI,IAAI,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEK,IAAI,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAAM;IACrEM,KAAK,EAAE;MACLC,CAAC,EAAElB,UAAS,CAAC,CAAC;MACdmB,CAAC,EAAEnB,UAAS,CAAC;IACf,CAAC;IACDoB,IAAI,EAAE;MACJF,CAAC,EAAEf,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;QAAA,OAAKA,CAAC;MAAA,EAAC;MACpBe,CAAC,EAAEhB,IAAI,CAACD,EAAE,CAAC,UAACE,CAAC;QAAA,OAAKA,CAAC;MAAA;IACrB,CAAC;IACDE,MAAM,EAAE;MACNe,GAAG,EAAEX,IAAI;MACTY,GAAG,EAAER,IAAI;MACTS,IAAI,EAAE;IACR,CAAC;IACDhB,KAAK,EAAE;MACLc,GAAG,EAAEN,IAAI;MACTO,GAAG,EAAEN,IAAI;MACTO,IAAI,EAAE;IACR,CAAC;IACDC,IAAI,EAAE;MACJC,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE;IACV;EACF,CAAC;AAAA,CAAC;AAEK,IAAMC,EAAE,GAAA1B,OAAA,CAAA0B,EAAA,GAAG,SAALA,EAAEA,CAAIT,CAAC,EAAEC,CAAC,EAAES,KAAK,EAAK;EACjC,IAAMC,GAAG,GAAG;IAAEX,CAAC,EAADA,CAAC;IAAEC,CAAC,EAADA,CAAC;IAAES,KAAK,EAALA;EAAM,CAAC;EAC3B,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACH,KAAK,CAAC,EAAE;IAC3B,OAAOC,GAAG,CAACD,KAAK;EAClB;EACA,OAAOC,GAAG;AACZ,CAAC","ignoreList":[]}
|