@pie-lib/graphing-solution-set 4.0.22-beta.6 → 4.0.22-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.
Files changed (67) hide show
  1. package/lib/__tests__/bg.test.js +282 -0
  2. package/lib/__tests__/coordinates-label.test.js +276 -0
  3. package/lib/__tests__/graph-with-controls.test.js +256 -0
  4. package/lib/__tests__/graph.test.js +113 -0
  5. package/lib/__tests__/grid-setup.test.js +729 -0
  6. package/lib/__tests__/grid.test.js +29 -0
  7. package/lib/__tests__/labels.test.js +45 -0
  8. package/lib/__tests__/mark-label.test.js +133 -0
  9. package/lib/__tests__/toggle-bar.test.js +146 -0
  10. package/lib/__tests__/tool-menu.test.js +540 -0
  11. package/lib/__tests__/undo-redo.test.js +31 -0
  12. package/lib/__tests__/use-debounce.test.js +24 -0
  13. package/lib/__tests__/utils.js +70 -0
  14. package/lib/__tests__/utils.test.js +123 -0
  15. package/lib/axis/__tests__/arrow.test.js +60 -0
  16. package/lib/axis/__tests__/axes.test.js +160 -0
  17. package/lib/container/__tests__/actions.test.js +108 -0
  18. package/lib/container/__tests__/index.test.js +346 -0
  19. package/lib/container/__tests__/marks.test.js +259 -0
  20. package/lib/container/__tests__/middleware.test.js +244 -0
  21. package/lib/container/__tests__/reducer.test.js +450 -0
  22. package/lib/tools/line/__tests__/component.test.js +45 -0
  23. package/lib/tools/polygon/__tests__/component.test.js +501 -0
  24. package/lib/tools/polygon/__tests__/index.test.js +92 -0
  25. package/lib/tools/polygon/__tests__/line.test.js +30 -0
  26. package/lib/tools/polygon/__tests__/polygon.test.js +61 -0
  27. package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
  28. package/lib/tools/shared/line/__tests__/index.test.js +725 -0
  29. package/lib/tools/shared/line/__tests__/line-path.test.js +64 -0
  30. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +618 -0
  31. package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
  32. package/lib/tools/shared/point/__tests__/arrow.test.js +619 -0
  33. package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
  34. package/package.json +3 -3
  35. package/src/__tests__/bg.test.jsx +250 -0
  36. package/src/__tests__/coordinates-label.test.jsx +243 -0
  37. package/src/__tests__/graph-with-controls.test.jsx +184 -0
  38. package/src/__tests__/graph.test.jsx +93 -0
  39. package/src/__tests__/grid-setup.test.jsx +645 -0
  40. package/src/__tests__/grid.test.jsx +23 -0
  41. package/src/__tests__/labels.test.jsx +41 -0
  42. package/src/__tests__/mark-label.test.jsx +66 -0
  43. package/src/__tests__/toggle-bar.test.jsx +106 -0
  44. package/src/__tests__/tool-menu.test.jsx +453 -0
  45. package/src/__tests__/undo-redo.test.jsx +26 -0
  46. package/src/__tests__/use-debounce.test.js +21 -0
  47. package/src/__tests__/utils.js +41 -0
  48. package/src/__tests__/utils.test.js +105 -0
  49. package/src/axis/__tests__/arrow.test.jsx +43 -0
  50. package/src/axis/__tests__/axes.test.jsx +182 -0
  51. package/src/container/__tests__/actions.test.js +105 -0
  52. package/src/container/__tests__/index.test.jsx +227 -0
  53. package/src/container/__tests__/marks.test.js +172 -0
  54. package/src/container/__tests__/middleware.test.js +235 -0
  55. package/src/container/__tests__/reducer.test.js +324 -0
  56. package/src/tools/line/__tests__/component.test.jsx +37 -0
  57. package/src/tools/polygon/__tests__/component.test.jsx +487 -0
  58. package/src/tools/polygon/__tests__/index.test.js +65 -0
  59. package/src/tools/polygon/__tests__/line.test.jsx +23 -0
  60. package/src/tools/polygon/__tests__/polygon.test.jsx +44 -0
  61. package/src/tools/shared/__tests__/arrow-head.test.jsx +33 -0
  62. package/src/tools/shared/line/__tests__/index.test.jsx +553 -0
  63. package/src/tools/shared/line/__tests__/line-path.test.jsx +56 -0
  64. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +488 -0
  65. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +91 -0
  66. package/src/tools/shared/point/__tests__/arrow.test.jsx +469 -0
  67. package/src/tools/shared/point/__tests__/base-point.test.jsx +87 -0
@@ -0,0 +1,127 @@
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 _index = require("../index");
8
+ var _utils = require("../../../../__tests__/utils");
9
+ var _utils2 = require("../../../../utils");
10
+ var _plot = require("@pie-lib/plot");
11
+ 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; }
12
+ 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; }
13
+ var xy = _plot.utils.xy;
14
+ jest.mock('../../../../utils', function () {
15
+ var _jest$requireActual = jest.requireActual('../../../../utils'),
16
+ point = _jest$requireActual.point,
17
+ getAngleDeg = _jest$requireActual.getAngleDeg,
18
+ arrowDimensions = _jest$requireActual.arrowDimensions;
19
+ return {
20
+ bounds: jest.fn(),
21
+ point: point,
22
+ getAngleDeg: getAngleDeg,
23
+ arrowDimensions: arrowDimensions
24
+ };
25
+ });
26
+ jest.mock('@pie-lib/plot', function () {
27
+ var _jest$requireActual2 = jest.requireActual('@pie-lib/plot'),
28
+ types = _jest$requireActual2.types,
29
+ utils = _jest$requireActual2.utils;
30
+ return {
31
+ gridDraggable: jest.fn(function (opts) {
32
+ return function (Comp) {
33
+ return Comp;
34
+ };
35
+ }),
36
+ types: types,
37
+ utils: utils
38
+ };
39
+ });
40
+ describe('ArrowPoint', function () {
41
+ var onChange = jest.fn();
42
+ var renderComponent = function renderComponent(extras) {
43
+ var defaults = {
44
+ classes: {},
45
+ className: 'className',
46
+ onChange: onChange,
47
+ graphProps: (0, _utils.graphProps)(),
48
+ from: xy(0, 0),
49
+ to: xy(1, 1),
50
+ x: 0,
51
+ y: 0
52
+ };
53
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
54
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_index.ArrowPoint, props));
55
+ };
56
+ describe('rendering', function () {
57
+ it('renders without crashing', function () {
58
+ var _renderComponent = renderComponent(),
59
+ container = _renderComponent.container;
60
+ expect(container.firstChild).toBeInTheDocument();
61
+ });
62
+ });
63
+ describe('gridDraggable options', function () {
64
+ var opts;
65
+ var domain;
66
+ var range;
67
+ beforeEach(function () {
68
+ domain = {
69
+ min: 0,
70
+ max: 1,
71
+ step: 1
72
+ };
73
+ range = {
74
+ min: 0,
75
+ max: 1,
76
+ step: 1
77
+ };
78
+ renderComponent();
79
+ opts = _plot.gridDraggable.mock.calls[_plot.gridDraggable.mock.calls.length - 1][0];
80
+ });
81
+ describe('bounds', function () {
82
+ it('calls utils.bounds with area', function () {
83
+ var result = opts.bounds({
84
+ x: 0,
85
+ y: 0
86
+ }, {
87
+ domain: domain,
88
+ range: range
89
+ });
90
+ expect(_utils2.bounds).toHaveBeenCalledWith({
91
+ left: 0,
92
+ top: 0,
93
+ bottom: 0,
94
+ right: 0
95
+ }, domain, range);
96
+ });
97
+ });
98
+ describe('anchorPoint', function () {
99
+ it('returns x/y', function () {
100
+ var result = opts.anchorPoint({
101
+ x: 0,
102
+ y: 0
103
+ });
104
+ expect(result).toEqual({
105
+ x: 0,
106
+ y: 0
107
+ });
108
+ });
109
+ });
110
+ describe('fromDelta', function () {
111
+ it('returns a new point from the x/y + delta', function () {
112
+ var result = opts.fromDelta({
113
+ x: -1,
114
+ y: 0
115
+ }, {
116
+ x: 1,
117
+ y: 3
118
+ });
119
+ expect(result).toEqual({
120
+ x: 0,
121
+ y: 3
122
+ });
123
+ });
124
+ });
125
+ });
126
+ });
127
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaW5kZXgiLCJfdXRpbHMiLCJfdXRpbHMyIiwiX3Bsb3QiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInh5IiwidXRpbHMiLCJqZXN0IiwibW9jayIsIl9qZXN0JHJlcXVpcmVBY3R1YWwiLCJyZXF1aXJlQWN0dWFsIiwicG9pbnQiLCJnZXRBbmdsZURlZyIsImFycm93RGltZW5zaW9ucyIsImJvdW5kcyIsImZuIiwiX2plc3QkcmVxdWlyZUFjdHVhbDIiLCJ0eXBlcyIsImdyaWREcmFnZ2FibGUiLCJvcHRzIiwiQ29tcCIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwiZnJvbSIsInRvIiwieCIsInkiLCJwcm9wcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJBcnJvd1BvaW50IiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiZG9tYWluIiwicmFuZ2UiLCJiZWZvcmVFYWNoIiwibWluIiwibWF4Iiwic3RlcCIsImNhbGxzIiwicmVzdWx0IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJsZWZ0IiwidG9wIiwiYm90dG9tIiwicmlnaHQiLCJhbmNob3JQb2ludCIsInRvRXF1YWwiLCJmcm9tRGVsdGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdG9vbHMvc2hhcmVkL3BvaW50L19fdGVzdHNfXy9hcnJvdy1wb2ludC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBcnJvd1BvaW50IH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5pbXBvcnQgeyBib3VuZHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBncmlkRHJhZ2dhYmxlLCB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuXG5jb25zdCB7IHh5IH0gPSB1dGlscztcbmplc3QubW9jaygnLi4vLi4vLi4vLi4vdXRpbHMnLCAoKSA9PiB7XG4gIGNvbnN0IHsgcG9pbnQsIGdldEFuZ2xlRGVnLCBhcnJvd0RpbWVuc2lvbnMgfSA9IGplc3QucmVxdWlyZUFjdHVhbCgnLi4vLi4vLi4vLi4vdXRpbHMnKTtcbiAgcmV0dXJuIHtcbiAgICBib3VuZHM6IGplc3QuZm4oKSxcbiAgICBwb2ludCxcbiAgICBnZXRBbmdsZURlZyxcbiAgICBhcnJvd0RpbWVuc2lvbnMsXG4gIH07XG59KTtcblxuamVzdC5tb2NrKCdAcGllLWxpYi9wbG90JywgKCkgPT4ge1xuICBjb25zdCB7IHR5cGVzLCB1dGlscyB9ID0gamVzdC5yZXF1aXJlQWN0dWFsKCdAcGllLWxpYi9wbG90Jyk7XG4gIHJldHVybiB7XG4gICAgZ3JpZERyYWdnYWJsZTogamVzdC5mbigob3B0cykgPT4gKENvbXApID0+IENvbXApLFxuICAgIHR5cGVzLFxuICAgIHV0aWxzLFxuICB9O1xufSk7XG5cbmRlc2NyaWJlKCdBcnJvd1BvaW50JywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgICBmcm9tOiB4eSgwLCAwKSxcbiAgICAgIHRvOiB4eSgxLCAxKSxcbiAgICAgIHg6IDAsXG4gICAgICB5OiAwLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxBcnJvd1BvaW50IHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKCdncmlkRHJhZ2dhYmxlIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgbGV0IG9wdHM7XG4gICAgbGV0IGRvbWFpbjtcbiAgICBsZXQgcmFuZ2U7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBkb21haW4gPSB7XG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxLFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgfTtcbiAgICAgIHJhbmdlID0ge1xuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMSxcbiAgICAgICAgc3RlcDogMSxcbiAgICAgIH07XG4gICAgICByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIG9wdHMgPSBncmlkRHJhZ2dhYmxlLm1vY2suY2FsbHNbZ3JpZERyYWdnYWJsZS5tb2NrLmNhbGxzLmxlbmd0aCAtIDFdWzBdO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2JvdW5kcycsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyB1dGlscy5ib3VuZHMgd2l0aCBhcmVhJywgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBvcHRzLmJvdW5kcyh7IHg6IDAsIHk6IDAgfSwgeyBkb21haW4sIHJhbmdlIH0pO1xuICAgICAgICBleHBlY3QoYm91bmRzKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7IGxlZnQ6IDAsIHRvcDogMCwgYm90dG9tOiAwLCByaWdodDogMCB9LCBkb21haW4sIHJhbmdlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCdhbmNob3JQb2ludCcsICgpID0+IHtcbiAgICAgIGl0KCdyZXR1cm5zIHgveScsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gb3B0cy5hbmNob3JQb2ludCh7IHg6IDAsIHk6IDAgfSk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoeyB4OiAwLCB5OiAwIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZnJvbURlbHRhJywgKCkgPT4ge1xuICAgICAgaXQoJ3JldHVybnMgYSBuZXcgcG9pbnQgZnJvbSB0aGUgeC95ICsgZGVsdGEnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG9wdHMuZnJvbURlbHRhKHsgeDogLTEsIHk6IDAgfSwgeyB4OiAxLCB5OiAzIH0pO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgeDogMCwgeTogMyB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFB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