@pie-lib/graphing 2.15.0-beta.4 → 2.15.0-beta.5

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 (36) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/lib/__tests__/graph-with-controls.test.js +215 -0
  3. package/lib/__tests__/graph.test.js +290 -0
  4. package/lib/__tests__/grid.test.js +40 -0
  5. package/lib/__tests__/labels.test.js +59 -0
  6. package/lib/__tests__/mark-label.test.js +154 -0
  7. package/lib/__tests__/toggle-bar.test.js +54 -0
  8. package/lib/__tests__/tool-menu.test.js +43 -0
  9. package/lib/__tests__/undo-redo.test.js +42 -0
  10. package/lib/__tests__/use-debounce.test.js +28 -0
  11. package/lib/__tests__/utils.js +72 -0
  12. package/lib/__tests__/utils.test.js +133 -0
  13. package/lib/axis/__tests__/arrow.test.js +68 -0
  14. package/lib/axis/__tests__/axes.test.js +214 -0
  15. package/lib/tools/absolute/__tests__/component.test.js +74 -0
  16. package/lib/tools/circle/__tests__/bg-circle.test.js +46 -0
  17. package/lib/tools/circle/__tests__/component.test.js +259 -0
  18. package/lib/tools/exponential/__tests__/component.test.js +73 -0
  19. package/lib/tools/line/__tests__/component.test.js +56 -0
  20. package/lib/tools/parabola/__tests__/component.test.js +73 -0
  21. package/lib/tools/point/__tests__/component.test.js +97 -0
  22. package/lib/tools/polygon/__tests__/component.test.js +255 -0
  23. package/lib/tools/polygon/__tests__/index.test.js +95 -0
  24. package/lib/tools/polygon/__tests__/line.test.js +43 -0
  25. package/lib/tools/polygon/__tests__/polygon.test.js +73 -0
  26. package/lib/tools/ray/__tests__/component.test.js +48 -0
  27. package/lib/tools/segment/__tests__/component.test.js +48 -0
  28. package/lib/tools/shared/__tests__/arrow-head.test.js +62 -0
  29. package/lib/tools/shared/line/__tests__/index.test.js +301 -0
  30. package/lib/tools/shared/line/__tests__/line-path.test.js +78 -0
  31. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +122 -0
  32. package/lib/tools/shared/point/__tests__/arrow-point.test.js +137 -0
  33. package/lib/tools/shared/point/__tests__/base-point.test.js +134 -0
  34. package/lib/tools/sine/__tests__/component.test.js +81 -0
  35. package/lib/tools/vector/__tests__/component.test.js +45 -0
  36. package/package.json +8 -8
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+
9
+ var _enzyme = require("enzyme");
10
+
11
+ var _react = _interopRequireDefault(require("react"));
12
+
13
+ var _labels = _interopRequireWildcard(require("../labels"));
14
+
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+
19
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
+
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+
23
+ describe('Labels', function () {
24
+ var w;
25
+ var onChange = jest.fn();
26
+
27
+ var wrapper = function wrapper(extras) {
28
+ var defaults = {
29
+ classes: {},
30
+ className: 'className',
31
+ onChange: onChange
32
+ };
33
+
34
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
35
+
36
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_labels["default"], props));
37
+ };
38
+
39
+ describe('snapshot', function () {
40
+ it('renders', function () {
41
+ w = wrapper();
42
+ expect(w).toMatchSnapshot();
43
+ });
44
+ });
45
+ });
46
+ describe('getTransform', function () {
47
+ var assertTransform = function assertTransform(side, expected) {
48
+ it("returns ".concat(expected, " for ").concat(side), function () {
49
+ var r = (0, _labels.getTransform)('left', 100, 100);
50
+ expect(r).toEqual('translate(-20, 50), rotate(-90)');
51
+ });
52
+ };
53
+
54
+ assertTransform('left', 'translate(-20, 50), rotate(-90)');
55
+ assertTransform('right', 'translate(130, 50), rotate(90)');
56
+ assertTransform('top', 'translate(50, -20), rotate(0)');
57
+ assertTransform('bottom', 'translate(50, 130), rotate(0)');
58
+ });
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbGFiZWxzLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsInByb3BzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJhc3NlcnRUcmFuc2Zvcm0iLCJzaWRlIiwiZXhwZWN0ZWQiLCJyIiwidG9FcXVhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVBQSxRQUFRLENBQUMsUUFBRCxFQUFXLFlBQU07QUFDdkIsTUFBSUMsQ0FBSjtBQUNBLE1BQUlDLFFBQVEsR0FBR0MsSUFBSSxDQUFDQyxFQUFMLEVBQWY7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsTUFBRCxFQUFZO0FBQzFCLFFBQU1DLFFBQVEsR0FBRztBQUNmQyxNQUFBQSxPQUFPLEVBQUUsRUFETTtBQUVmQyxNQUFBQSxTQUFTLEVBQUUsV0FGSTtBQUdmUCxNQUFBQSxRQUFRLEVBQVJBO0FBSGUsS0FBakI7O0FBS0EsUUFBTVEsS0FBSyxtQ0FBUUgsUUFBUixHQUFxQkQsTUFBckIsQ0FBWDs7QUFDQSxXQUFPLG1DQUFRLGdDQUFDLGtCQUFELEVBQVlJLEtBQVosQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFTQVYsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCVyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEJWLE1BQUFBLENBQUMsR0FBR0ksT0FBTyxFQUFYO0FBQ0FPLE1BQUFBLE1BQU0sQ0FBQ1gsQ0FBRCxDQUFOLENBQVVZLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFNRCxDQWxCTyxDQUFSO0FBb0JBYixRQUFRLENBQUMsY0FBRCxFQUFpQixZQUFNO0FBQzdCLE1BQU1jLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsSUFBRCxFQUFPQyxRQUFQLEVBQW9CO0FBQzFDTCxJQUFBQSxFQUFFLG1CQUFZSyxRQUFaLGtCQUE0QkQsSUFBNUIsR0FBb0MsWUFBTTtBQUMxQyxVQUFNRSxDQUFDLEdBQUcsMEJBQWEsTUFBYixFQUFxQixHQUFyQixFQUEwQixHQUExQixDQUFWO0FBQ0FMLE1BQUFBLE1BQU0sQ0FBQ0ssQ0FBRCxDQUFOLENBQVVDLE9BQVYsQ0FBa0IsaUNBQWxCO0FBQ0QsS0FIQyxDQUFGO0FBSUQsR0FMRDs7QUFPQUosRUFBQUEsZUFBZSxDQUFDLE1BQUQsRUFBUyxpQ0FBVCxDQUFmO0FBQ0FBLEVBQUFBLGVBQWUsQ0FBQyxPQUFELEVBQVUsZ0NBQVYsQ0FBZjtBQUNBQSxFQUFBQSxlQUFlLENBQUMsS0FBRCxFQUFRLCtCQUFSLENBQWY7QUFDQUEsRUFBQUEsZUFBZSxDQUFDLFFBQUQsRUFBVywrQkFBWCxDQUFmO0FBQ0QsQ0FaTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgTGFiZWxzLCB7IGdldFRyYW5zZm9ybSB9IGZyb20gJy4uL2xhYmVscyc7XG5cbmRlc2NyaWJlKCdMYWJlbHMnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHNoYWxsb3coPExhYmVscyB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgdyA9IHdyYXBwZXIoKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2dldFRyYW5zZm9ybScsICgpID0+IHtcbiAgY29uc3QgYXNzZXJ0VHJhbnNmb3JtID0gKHNpZGUsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYHJldHVybnMgJHtleHBlY3RlZH0gZm9yICR7c2lkZX1gLCAoKSA9PiB7XG4gICAgICBjb25zdCByID0gZ2V0VHJhbnNmb3JtKCdsZWZ0JywgMTAwLCAxMDApO1xuICAgICAgZXhwZWN0KHIpLnRvRXF1YWwoJ3RyYW5zbGF0ZSgtMjAsIDUwKSwgcm90YXRlKC05MCknKTtcbiAgICB9KTtcbiAgfTtcblxuICBhc3NlcnRUcmFuc2Zvcm0oJ2xlZnQnLCAndHJhbnNsYXRlKC0yMCwgNTApLCByb3RhdGUoLTkwKScpO1xuICBhc3NlcnRUcmFuc2Zvcm0oJ3JpZ2h0JywgJ3RyYW5zbGF0ZSgxMzAsIDUwKSwgcm90YXRlKDkwKScpO1xuICBhc3NlcnRUcmFuc2Zvcm0oJ3RvcCcsICd0cmFuc2xhdGUoNTAsIC0yMCksIHJvdGF0ZSgwKScpO1xuICBhc3NlcnRUcmFuc2Zvcm0oJ2JvdHRvbScsICd0cmFuc2xhdGUoNTAsIDEzMCksIHJvdGF0ZSgwKScpO1xufSk7XG4iXX0=
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _markLabel = require("../mark-label");
12
+
13
+ var _utils = require("./utils");
14
+
15
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
+
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+
19
+ var xyFn = function xyFn() {
20
+ var out = jest.fn(function (n) {
21
+ return n;
22
+ });
23
+ out.invert = jest.fn(function (n) {
24
+ return n;
25
+ });
26
+ return out;
27
+ };
28
+
29
+ describe('MarkLabel', function () {
30
+ var w;
31
+ var onChange = jest.fn();
32
+
33
+ var wrapper = function wrapper(extras) {
34
+ var defaults = {
35
+ classes: {},
36
+ className: 'className',
37
+ onChange: onChange,
38
+ mark: {
39
+ x: 1,
40
+ y: 1
41
+ },
42
+ graphProps: (0, _utils.graphProps)(0, 10, 0, 10)
43
+ };
44
+
45
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
46
+
47
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_markLabel.MarkLabel, props));
48
+ };
49
+
50
+ describe('snapshot', function () {
51
+ it('renders', function () {
52
+ w = wrapper();
53
+ expect(w).toMatchSnapshot();
54
+ });
55
+ it('renders', function () {
56
+ w = wrapper({
57
+ mark: {
58
+ x: 10,
59
+ y: 10
60
+ }
61
+ });
62
+ expect(w).toMatchSnapshot();
63
+ });
64
+ });
65
+ });
66
+ describe('position', function () {
67
+ var assertPosition = function assertPosition(mark, rect, expected) {
68
+ it("".concat(mark.x, ",").concat(mark.y, " + ").concat(rect.width, ",").concat(rect.height, " => ").concat(expected), function () {
69
+ // we set range.min to a value because in pixels - the greater the Y the lower down on the screen.
70
+ var graphProps = (0, _utils.graphProps)(0, 12, 12, 0);
71
+ var result = (0, _markLabel.position)(graphProps, mark, rect);
72
+ expect(result).toEqual(expected);
73
+ });
74
+ };
75
+
76
+ assertPosition({
77
+ x: 0,
78
+ y: 0
79
+ }, {
80
+ width: 10,
81
+ height: 10
82
+ }, 'top-left');
83
+ assertPosition({
84
+ x: 0,
85
+ y: 0
86
+ }, {
87
+ width: 1,
88
+ height: 1
89
+ }, 'bottom-right');
90
+ assertPosition({
91
+ x: 0,
92
+ y: 0
93
+ }, {
94
+ width: 10,
95
+ height: 0
96
+ }, 'bottom-left');
97
+ assertPosition({
98
+ x: 0,
99
+ y: 0
100
+ }, {
101
+ width: 0,
102
+ height: 10
103
+ }, 'top-right');
104
+ });
105
+ describe('coordinates', function () {
106
+ var assertCoordinates = function assertCoordinates(mark, rect, pos, expected) {
107
+ it("".concat(mark.x, ", ").concat(mark.y, " -> ").concat(pos, " = ").concat(expected.left, ", ").concat(expected.top), function () {
108
+ var result = (0, _markLabel.coordinates)((0, _utils.graphProps)(), mark, rect, pos);
109
+ expect(result).toEqual(expected);
110
+ });
111
+ };
112
+
113
+ assertCoordinates({
114
+ x: 0,
115
+ y: 0
116
+ }, {
117
+ width: 0,
118
+ height: 0
119
+ }, 'top-left', {
120
+ left: -5,
121
+ top: -5
122
+ });
123
+ assertCoordinates({
124
+ x: 0,
125
+ y: 0
126
+ }, {
127
+ width: 0,
128
+ height: 0
129
+ }, 'bottom-left', {
130
+ left: -5,
131
+ top: 5
132
+ });
133
+ assertCoordinates({
134
+ x: 0,
135
+ y: 0
136
+ }, {
137
+ width: 0,
138
+ height: 0
139
+ }, 'top-right', {
140
+ left: 5,
141
+ top: -5
142
+ });
143
+ assertCoordinates({
144
+ x: 0,
145
+ y: 0
146
+ }, {
147
+ width: 0,
148
+ height: 0
149
+ }, 'bottom-right', {
150
+ left: 5,
151
+ top: 5
152
+ });
153
+ });
154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFyay1sYWJlbC50ZXN0LmpzeCJdLCJuYW1lcyI6WyJ4eUZuIiwib3V0IiwiamVzdCIsImZuIiwibiIsImludmVydCIsImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsIm1hcmsiLCJ4IiwieSIsImdyYXBoUHJvcHMiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiYXNzZXJ0UG9zaXRpb24iLCJyZWN0IiwiZXhwZWN0ZWQiLCJ3aWR0aCIsImhlaWdodCIsInJlc3VsdCIsInRvRXF1YWwiLCJhc3NlcnRDb29yZGluYXRlcyIsInBvcyIsImxlZnQiLCJ0b3AiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxJQUFJLEdBQUcsU0FBUEEsSUFBTyxHQUFNO0FBQ2pCLE1BQU1DLEdBQUcsR0FBR0MsSUFBSSxDQUFDQyxFQUFMLENBQVEsVUFBQ0MsQ0FBRDtBQUFBLFdBQU9BLENBQVA7QUFBQSxHQUFSLENBQVo7QUFDQUgsRUFBQUEsR0FBRyxDQUFDSSxNQUFKLEdBQWFILElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNDLENBQUQ7QUFBQSxXQUFPQSxDQUFQO0FBQUEsR0FBUixDQUFiO0FBQ0EsU0FBT0gsR0FBUDtBQUNELENBSkQ7O0FBTUFLLFFBQVEsQ0FBQyxXQUFELEVBQWMsWUFBTTtBQUMxQixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHTixJQUFJLENBQUNDLEVBQUwsRUFBZjs7QUFDQSxNQUFNTSxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFNBQVMsRUFBRSxXQUZJO0FBR2ZMLE1BQUFBLFFBQVEsRUFB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LENBQUMsQ0FBVDtBQUFZQyxJQUFBQSxHQUFHLEVBQUU7QUFBakIsR0FBekQsQ0FBakI7QUFDQUgsRUFBQUEsaUJBQWlCLENBQUM7QUFBRWQsSUFBQUEsQ0FBQyxFQUFFLENBQUw7QUFBUUMsSUFBQUEsQ0FBQyxFQUFFO0FBQVgsR0FBRCxFQUFpQjtBQUFFUyxJQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxJQUFBQSxNQUFNLEVBQUU7QUFBcEIsR0FBakIsRUFBMEMsV0FBMUMsRUFBdUQ7QUFBRUssSUFBQUEsSUFBSSxFQUFFLENBQVI7QUFBV0MsSUFBQUEsR0FBRyxFQUFFLENBQUM7QUFBakIsR0FBdkQsQ0FBakI7QUFDQUgsRUFBQUEsaUJBQWlCLENBQUM7QUFBRWQsSUFBQUEsQ0FBQyxFQUFFLENBQUw7QUFBUUMsSUFBQUEsQ0FBQyxFQUFFO0FBQVgsR0FBRCxFQUFpQjtBQUFFUyxJQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxJQUFBQSxNQUFNLEVBQUU7QUFBcEIsR0FBakIsRUFBMEMsY0FBMUMsRUFBMEQ7QUFDekVLLElBQUFBLElBQUksRUFBRSxDQURtRTtBQUV6RUMsSUFBQUEsR0FBRyxFQUFFO0FBRm9FLEdBQTFELENBQWpCO0FBSUQsQ0FkTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFya0xhYmVsLCBwb3NpdGlvbiwgY29vcmRpbmF0ZXMgfSBmcm9tICcuLi9tYXJrLWxhYmVsJztcbmltcG9ydCB7IGdyYXBoUHJvcHMgYXMgZ2V0R3JhcGhQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCB4eUZuID0gKCkgPT4ge1xuICBjb25zdCBvdXQgPSBqZXN0LmZuKChuKSA9PiBuKTtcbiAgb3V0LmludmVydCA9IGplc3QuZm4oKG4pID0+IG4pO1xuICByZXR1cm4gb3V0O1xufTtcblxuZGVzY3JpYmUoJ01hcmtMYWJlbCcsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgbWFyazogeyB4OiAxLCB5OiAxIH0sXG4gICAgICBncmFwaFByb3BzOiBnZXRHcmFwaFByb3BzKDAsIDEwLCAwLCAxMCksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxNYXJrTGFiZWwgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcih7IG1hcms6IHsgeDogMTAsIHk6IDEwIH0gfSk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdwb3NpdGlvbicsICgpID0+IHtcbiAgY29uc3QgYXNzZXJ0UG9zaXRpb24gPSAobWFyaywgcmVjdCwgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChgJHttYXJrLnh9LCR7bWFyay55fSArICR7cmVjdC53aWR0aH0sJHtyZWN0LmhlaWdodH0gPT4gJHtleHBlY3RlZH1gLCAoKSA9PiB7XG4gICAgICAvLyB3ZSBzZXQgcmFuZ2UubWluIHRvIGEgdmFsdWUgYmVjYXVzZSBpbiBwaXhlbHMgLSB0aGUgZ3JlYXRlciB0aGUgWSB0aGUgbG93ZXIgZG93biBvbiB0aGUgc2NyZWVuLlxuICAgICAgY29uc3QgZ3JhcGhQcm9wcyA9IGdldEdyYXBoUHJvcHMoMCwgMTIsIDEyLCAwKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvc2l0aW9uKGdyYXBoUHJvcHMsIG1hcmssIHJlY3QpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgfSk7XG4gIH07XG5cbiAgYXNzZXJ0UG9zaXRpb24oeyB4OiAwLCB5OiAwIH0sIHsgd2lkdGg6IDEwLCBoZWlnaHQ6IDEwIH0sICd0b3AtbGVmdCcpO1xuICBhc3NlcnRQb3NpdGlvbih7IHg6IDAsIHk6IDAgfSwgeyB3aWR0aDogMSwgaGVpZ2h0OiAxIH0sICdib3R0b20tcmlnaHQnKTtcbiAgYXNzZXJ0UG9zaXRpb24oeyB4OiAwLCB5OiAwIH0sIHsgd2lkdGg6IDEwLCBoZWlnaHQ6IDAgfSwgJ2JvdHRvbS1sZWZ0Jyk7XG4gIGFzc2VydFBvc2l0aW9uKHsgeDogMCwgeTogMCB9LCB7IHdpZHRoOiAwLCBoZWlnaHQ6IDEwIH0sICd0b3AtcmlnaHQnKTtcbn0pO1xuXG5kZXNjcmliZSgnY29vcmRpbmF0ZXMnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VydENvb3JkaW5hdGVzID0gKG1hcmssIHJlY3QsIHBvcywgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChgJHttYXJrLnh9LCAke21hcmsueX0gLT4gJHtwb3N9ID0gJHtleHBlY3RlZC5sZWZ0fSwgJHtleHBlY3RlZC50b3B9YCwgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gY29vcmRpbmF0ZXMoZ2V0R3JhcGhQcm9wcygpLCBtYXJrLCByZWN0LCBwb3MpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgfSk7XG4gIH07XG4gIGFzc2VydENvb3JkaW5hdGVzKHsgeDogMCwgeTogMCB9LCB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSwgJ3RvcC1sZWZ0JywgeyBsZWZ0OiAtNSwgdG9wOiAtNSB9KTtcbiAgYXNzZXJ0Q29vcmRpbmF0ZXMoeyB4OiAwLCB5OiAwIH0sIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9LCAnYm90dG9tLWxlZnQnLCB7IGxlZnQ6IC01LCB0b3A6IDUgfSk7XG4gIGFzc2VydENvb3JkaW5hdGVzKHsgeDogMCwgeTogMCB9LCB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSwgJ3RvcC1yaWdodCcsIHsgbGVmdDogNSwgdG9wOiAtNSB9KTtcbiAgYXNzZXJ0Q29vcmRpbmF0ZXMoeyB4OiAwLCB5OiAwIH0sIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9LCAnYm90dG9tLXJpZ2h0Jywge1xuICAgIGxlZnQ6IDUsXG4gICAgdG9wOiA1LFxuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _toggleBar = require("../toggle-bar");
12
+
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+
17
+ describe('ToggleBar', function () {
18
+ var w;
19
+ var onChange = jest.fn();
20
+
21
+ var wrapper = function wrapper(extras) {
22
+ var defaults = {
23
+ classes: {},
24
+ className: 'className',
25
+ onChange: onChange,
26
+ options: ['one', 'two']
27
+ };
28
+
29
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
30
+
31
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_toggleBar.ToggleBar, props));
32
+ };
33
+
34
+ describe('snapshot', function () {
35
+ it('renders', function () {
36
+ w = wrapper();
37
+ expect(w).toMatchSnapshot();
38
+ });
39
+ });
40
+ describe('logic', function () {
41
+ describe('select', function () {
42
+ it('calls onChange', function () {
43
+ w = wrapper();
44
+ w.instance().select({
45
+ target: {
46
+ textContent: 'two'
47
+ }
48
+ });
49
+ expect(onChange).toHaveBeenLastCalledWith('two');
50
+ });
51
+ });
52
+ });
53
+ });
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdG9nZ2xlLWJhci50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJvcHRpb25zIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImluc3RhbmNlIiwic2VsZWN0IiwidGFyZ2V0IiwidGV4dENvbnRlbnQiLCJ0b0hhdmVCZWVuTGFzdENhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUVBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLFdBQUQsRUFBYyxZQUFNO0FBQzFCLE1BQUlDLENBQUo7QUFDQSxNQUFJQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUFmOztBQUNBLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZlAsTUFBQUEsUUFBUSxFQUFSQSxRQUhlO0FBSWZRLE1BQUFBLE9BQU8sRUFBRSxDQUFDLEtBQUQsRUFBUSxLQUFSO0FBSk0sS0FBakI7O0FBTUEsUUFBTUMsS0FBSyxtQ0FBUUosUUFBUixHQUFxQkQsTUFBckIsQ0FBWDs7QUFDQSxXQUFPLG1DQUFRLGdDQUFDLG9CQUFELEVBQWVLLEtBQWYsQ0FBUixDQUFQO0FBQ0QsR0FURDs7QUFXQVgsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCWSxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEJYLE1BQUFBLENBQUMsR0FBR0ksT0FBTyxFQUFYO0FBQ0FRLE1BQUFBLE1BQU0sQ0FBQ1osQ0FBRCxDQUFOLENBQVVhLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFPQWQsRUFBQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCQSxJQUFBQSxRQUFRLENBQUMsUUFBRCxFQUFXLFlBQU07QUFDdkJZLE1BQUFBLEVBQUUsQ0FBQyxnQkFBRCxFQUFtQixZQUFNO0FBQ3pCWCxRQUFBQSxDQUFDLEdBQUdJLE9BQU8sRUFBWDtBQUNBSixRQUFBQSxDQUFDLENBQUNjLFFBQUYsR0FBYUMsTUFBYixDQUFvQjtBQUFFQyxVQUFBQSxNQUFNLEVBQUU7QUFBRUMsWUFBQUEsV0FBVyxFQUFFO0FBQWY7QUFBVixTQUFwQjtBQUNBTCxRQUFBQSxNQUFNLENBQUNYLFFBQUQsQ0FBTixDQUFpQmlCLHdCQUFqQixDQUEwQyxLQUExQztBQUNELE9BSkMsQ0FBRjtBQUtELEtBTk8sQ0FBUjtBQU9ELEdBUk8sQ0FBUjtBQVNELENBOUJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFRvZ2dsZUJhciB9IGZyb20gJy4uL3RvZ2dsZS1iYXInO1xuXG5kZXNjcmliZSgnVG9nZ2xlQmFyJywgKCkgPT4ge1xuICBsZXQgdztcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvcHRpb25zOiBbJ29uZScsICd0d28nXSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHNoYWxsb3coPFRvZ2dsZUJhciB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ3NlbGVjdCcsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgICAgdyA9IHdyYXBwZXIoKTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnNlbGVjdCh7IHRhcmdldDogeyB0ZXh0Q29udGVudDogJ3R3bycgfSB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuTGFzdENhbGxlZFdpdGgoJ3R3bycpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _toolMenu = _interopRequireDefault(require("../tool-menu"));
12
+
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+
17
+ describe('ToolMenu', function () {
18
+ var w;
19
+ var onChange = jest.fn();
20
+ var tools = ['one', 'two'];
21
+
22
+ var wrapper = function wrapper(extras) {
23
+ var defaults = {
24
+ classes: {},
25
+ className: 'className',
26
+ onChange: onChange,
27
+ currentTool: tools[0],
28
+ tools: tools
29
+ };
30
+
31
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
32
+
33
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_toolMenu["default"], props));
34
+ };
35
+
36
+ describe('snapshot', function () {
37
+ it('renders', function () {
38
+ w = wrapper();
39
+ expect(w).toMatchSnapshot();
40
+ });
41
+ });
42
+ });
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdG9vbC1tZW51LnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwidG9vbHMiLCJ3cmFwcGVyIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiY3VycmVudFRvb2wiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUN6QixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBZjtBQUNBLE1BQU1DLEtBQUssR0FBRyxDQUFDLEtBQUQsRUFBUSxLQUFSLENBQWQ7O0FBRUEsTUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsTUFBRCxFQUFZO0FBQzFCLFFBQU1DLFFBQVEsR0FBRztBQUNmQyxNQUFBQSxPQUFPLEVBQUUsRUFETTtBQUVmQyxNQUFBQSxTQUFTLEVBQUUsV0FGSTtBQUdmUixNQUFBQSxRQUFRLEVBQVJBLFFBSGU7QUFJZlMsTUFBQUEsV0FBVyxFQUFFTixLQUFLLENBQUMsQ0FBRCxDQUpIO0FBS2ZBLE1BQUFBLEtBQUssRUFBTEE7QUFMZSxLQUFqQjs7QUFPQSxRQUFNTyxLQUFLLG1DQUFRSixRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFdBQU8sbUNBQVEsZ0NBQUMsb0JBQUQsRUFBY0ssS0FBZCxDQUFSLENBQVA7QUFDRCxHQVZEOztBQVlBWixFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJhLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQlosTUFBQUEsQ0FBQyxHQUFHSyxPQUFPLEVBQVg7QUFDQVEsTUFBQUEsTUFBTSxDQUFDYixDQUFELENBQU4sQ0FBVWMsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlELEdBTE8sQ0FBUjtBQU1ELENBdkJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBUb29sTWVudSBmcm9tICcuLi90b29sLW1lbnUnO1xuXG5kZXNjcmliZSgnVG9vbE1lbnUnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHRvb2xzID0gWydvbmUnLCAndHdvJ107XG5cbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgY3VycmVudFRvb2w6IHRvb2xzWzBdLFxuICAgICAgdG9vbHMsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxUb29sTWVudSB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _undoRedo = _interopRequireDefault(require("../undo-redo"));
12
+
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+
17
+ describe('UndoRedo', function () {
18
+ var w;
19
+ var onUndo = jest.fn();
20
+ var onRedo = jest.fn();
21
+ var onReset = jest.fn();
22
+
23
+ var wrapper = function wrapper(extras) {
24
+ var defaults = {
25
+ onUndo: onUndo,
26
+ onRedo: onRedo,
27
+ onReset: onReset
28
+ };
29
+
30
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
31
+
32
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_undoRedo["default"], props));
33
+ };
34
+
35
+ describe('snapshot', function () {
36
+ it('renders', function () {
37
+ w = wrapper();
38
+ expect(w).toMatchSnapshot();
39
+ });
40
+ });
41
+ });
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdW5kby1yZWRvLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uVW5kbyIsImplc3QiLCJmbiIsIm9uUmVkbyIsIm9uUmVzZXQiLCJ3cmFwcGVyIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUN6QixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsTUFBTSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBYjtBQUNBLE1BQUlDLE1BQU0sR0FBR0YsSUFBSSxDQUFDQyxFQUFMLEVBQWI7QUFDQSxNQUFJRSxPQUFPLEdBQUdILElBQUksQ0FBQ0MsRUFBTCxFQUFkOztBQUNBLE1BQU1HLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZlAsTUFBQUEsTUFBTSxFQUFOQSxNQURlO0FBRWZHLE1BQUFBLE1BQU0sRUFBTkEsTUFGZTtBQUdmQyxNQUFBQSxPQUFPLEVBQVBBO0FBSGUsS0FBakI7O0FBS0EsUUFBTUksS0FBSyxtQ0FBUUQsUUFBUixHQUFxQkQsTUFBckIsQ0FBWDs7QUFDQSxXQUFPLG1DQUFRLGdDQUFDLG9CQUFELEVBQWNFLEtBQWQsQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFTQVYsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCVyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEJWLE1BQUFBLENBQUMsR0FBR00sT0FBTyxFQUFYO0FBQ0FLLE1BQUFBLE1BQU0sQ0FBQ1gsQ0FBRCxDQUFOLENBQVVZLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFNRCxDQXBCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFVuZG9SZWRvIGZyb20gJy4uL3VuZG8tcmVkbyc7XG5cbmRlc2NyaWJlKCdVbmRvUmVkbycsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvblVuZG8gPSBqZXN0LmZuKCk7XG4gIGxldCBvblJlZG8gPSBqZXN0LmZuKCk7XG4gIGxldCBvblJlc2V0ID0gamVzdC5mbigpO1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgb25VbmRvLFxuICAgICAgb25SZWRvLFxuICAgICAgb25SZXNldCxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHNoYWxsb3coPFVuZG9SZWRvIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _react = require("react");
4
+
5
+ var _useDebounce = require("../use-debounce");
6
+
7
+ jest.useFakeTimers();
8
+ jest.mock('react', function () {
9
+ return {
10
+ useState: jest.fn(),
11
+ useEffect: jest.fn(function (fn, deps) {
12
+ return fn();
13
+ })
14
+ };
15
+ });
16
+ describe('useDebounce', function () {
17
+ it('..', function () {
18
+ var debouncedValue = null;
19
+ var setDebouncedValue = jest.fn();
20
+
21
+ _react.useState.mockReturnValue([debouncedValue, setDebouncedValue]);
22
+
23
+ (0, _useDebounce.useDebounce)('foo', 1000);
24
+ jest.runAllTimers();
25
+ expect(setDebouncedValue).toHaveBeenCalledWith('foo');
26
+ });
27
+ });
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXNlLWRlYm91bmNlLnRlc3QuanMiXSwibmFtZXMiOlsiamVzdCIsInVzZUZha2VUaW1lcnMiLCJtb2NrIiwidXNlU3RhdGUiLCJmbiIsInVzZUVmZmVjdCIsImRlcHMiLCJkZXNjcmliZSIsIml0IiwiZGVib3VuY2VkVmFsdWUiLCJzZXREZWJvdW5jZWRWYWx1ZSIsIm1vY2tSZXR1cm5WYWx1ZSIsInJ1bkFsbFRpbWVycyIsImV4cGVjdCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUNBOztBQUVBQSxJQUFJLENBQUNDLGFBQUw7QUFFQUQsSUFBSSxDQUFDRSxJQUFMLENBQVUsT0FBVixFQUFtQjtBQUFBLFNBQU87QUFDeEJDLElBQUFBLFFBQVEsRUFBRUgsSUFBSSxDQUFDSSxFQUFMLEVBRGM7QUFFeEJDLElBQUFBLFNBQVMsRUFBRUwsSUFBSSxDQUFDSSxFQUFMLENBQVEsVUFBQ0EsRUFBRCxFQUFLRSxJQUFMO0FBQUEsYUFBY0YsRUFBRSxFQUFoQjtBQUFBLEtBQVI7QUFGYSxHQUFQO0FBQUEsQ0FBbkI7QUFLQUcsUUFBUSxDQUFDLGFBQUQsRUFBZ0IsWUFBTTtBQUM1QkMsRUFBQUEsRUFBRSxDQUFDLElBQUQsRUFBTyxZQUFNO0FBQ2IsUUFBTUMsY0FBYyxHQUFHLElBQXZCO0FBQ0EsUUFBTUMsaUJBQWlCLEdBQUdWLElBQUksQ0FBQ0ksRUFBTCxFQUExQjs7QUFFQUQsb0JBQVNRLGVBQVQsQ0FBeUIsQ0FBQ0YsY0FBRCxFQUFpQkMsaUJBQWpCLENBQXpCOztBQUNBLGtDQUFZLEtBQVosRUFBbUIsSUFBbkI7QUFDQVYsSUFBQUEsSUFBSSxDQUFDWSxZQUFMO0FBQ0FDLElBQUFBLE1BQU0sQ0FBQ0gsaUJBQUQsQ0FBTixDQUEwQkksb0JBQTFCLENBQStDLEtBQS9DO0FBQ0QsR0FSQyxDQUFGO0FBU0QsQ0FWTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURlYm91bmNlIH0gZnJvbSAnLi4vdXNlLWRlYm91bmNlJztcblxuamVzdC51c2VGYWtlVGltZXJzKCk7XG5cbmplc3QubW9jaygncmVhY3QnLCAoKSA9PiAoe1xuICB1c2VTdGF0ZTogamVzdC5mbigpLFxuICB1c2VFZmZlY3Q6IGplc3QuZm4oKGZuLCBkZXBzKSA9PiBmbigpKSxcbn0pKTtcblxuZGVzY3JpYmUoJ3VzZURlYm91bmNlJywgKCkgPT4ge1xuICBpdCgnLi4nLCAoKSA9PiB7XG4gICAgY29uc3QgZGVib3VuY2VkVmFsdWUgPSBudWxsO1xuICAgIGNvbnN0IHNldERlYm91bmNlZFZhbHVlID0gamVzdC5mbigpO1xuXG4gICAgdXNlU3RhdGUubW9ja1JldHVyblZhbHVlKFtkZWJvdW5jZWRWYWx1ZSwgc2V0RGVib3VuY2VkVmFsdWVdKTtcbiAgICB1c2VEZWJvdW5jZSgnZm9vJywgMTAwMCk7XG4gICAgamVzdC5ydW5BbGxUaW1lcnMoKTtcbiAgICBleHBlY3Qoc2V0RGVib3VuY2VkVmFsdWUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmb28nKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.xy = exports.scaleMock = exports.graphProps = void 0;
7
+
8
+ var scaleMock = function scaleMock() {
9
+ var fn = jest.fn(function (n) {
10
+ return n;
11
+ });
12
+ fn.invert = jest.fn(function (n) {
13
+ return n;
14
+ });
15
+ return fn;
16
+ };
17
+
18
+ exports.scaleMock = scaleMock;
19
+
20
+ var graphProps = function graphProps() {
21
+ var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
22
+ var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
23
+ var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
24
+ var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
25
+ return {
26
+ scale: {
27
+ x: scaleMock(),
28
+ y: scaleMock()
29
+ },
30
+ snap: {
31
+ x: jest.fn(function (n) {
32
+ return n;
33
+ }),
34
+ y: jest.fn(function (n) {
35
+ return n;
36
+ })
37
+ },
38
+ domain: {
39
+ min: dmin,
40
+ max: dmax,
41
+ step: 1
42
+ },
43
+ range: {
44
+ min: rmin,
45
+ max: rmax,
46
+ step: 1
47
+ },
48
+ size: {
49
+ width: 400,
50
+ height: 400
51
+ }
52
+ };
53
+ };
54
+
55
+ exports.graphProps = graphProps;
56
+
57
+ var xy = function xy(x, y, index) {
58
+ var out = {
59
+ x: x,
60
+ y: y,
61
+ index: index
62
+ };
63
+
64
+ if (!Number.isFinite(index)) {
65
+ delete out.index;
66
+ }
67
+
68
+ return out;
69
+ };
70
+
71
+ exports.xy = xy;
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMuanMiXSwibmFtZXMiOlsic2NhbGVNb2NrIiwiZm4iLCJqZXN0IiwibiIsImludmVydCIsImdyYXBoUHJvcHMiLCJkbWluIiwiZG1heCIsInJtaW4iLCJybWF4Iiwic2NhbGUiLCJ4IiwieSIsInNuYXAiLCJkb21haW4iLCJtaW4iLCJtYXgiLCJzdGVwIiwicmFuZ2UiLCJzaXplIiwid2lkdGgiLCJoZWlnaHQiLCJ4eSIsImluZGV4Iiwib3V0IiwiTnVtYmVyIiwiaXNGaW5pdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxTQUFTLEdBQUcsU0FBWkEsU0FBWSxHQUFNO0FBQzdCLE1BQU1DLEVBQUUsR0FBR0MsSUFBSSxDQUFDRCxFQUFMLENBQVEsVUFBQ0UsQ0FBRDtBQUFBLFdBQU9BLENBQVA7QUFBQSxHQUFSLENBQVg7QUFDQUYsRUFBQUEsRUFBRSxDQUFDRyxNQUFILEdBQVlGLElBQUksQ0FBQ0QsRUFBTCxDQUFRLFVBQUNFLENBQUQ7QUFBQSxXQUFPQSxDQUFQO0FBQUEsR0FBUixDQUFaO0FBQ0EsU0FBT0YsRUFBUDtBQUNELENBSk07Ozs7QUFNQSxJQUFNSSxVQUFVLEdBQUcsU0FBYkEsVUFBYTtBQUFBLE1BQUNDLElBQUQsdUVBQVEsQ0FBUjtBQUFBLE1BQVdDLElBQVgsdUVBQWtCLENBQWxCO0FBQUEsTUFBcUJDLElBQXJCLHVFQUE0QixDQUE1QjtBQUFBLE1BQStCQyxJQUEvQix1RUFBc0MsQ0FBdEM7QUFBQSxTQUE2QztBQUNyRUMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLENBQUMsRUFBRVgsU0FBUyxFQURQO0FBRUxZLE1BQUFBLENBQUMsRUFBRVosU0FBUztBQUZQLEtBRDhEO0FBS3JFYSxJQUFBQSxJQUFJLEVBQUU7QUFDSkYsTUFBQUEsQ0FBQyxFQUFFVCxJQUFJLENBQUNELEVBQUwsQ0FBUSxVQUFDRSxDQUFEO0FBQUEsZUFBT0EsQ0FBUDtBQUFBLE9BQVIsQ0FEQztBQUVKUyxNQUFBQSxDQUFDLEVBQUVWLElBQUksQ0FBQ0QsRUFBTCxDQUFRLFVBQUNFLENBQUQ7QUFBQSxlQUFPQSxDQUFQO0FBQUEsT0FBUjtBQUZDLEtBTCtEO0FBU3JFVyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsR0FBRyxFQUFFVCxJQURDO0FBRU5VLE1BQUFBLEdBQUcsRUFBRVQsSUFGQztBQUdOVSxNQUFBQSxJQUFJLEVBQUU7QUFIQSxLQVQ2RDtBQWNyRUMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xILE1BQUFBLEdBQUcsRUFBRVAsSUFEQTtBQUVMUSxNQUFBQSxHQUFHLEVBQUVQLElBRkE7QUFHTFEsTUFBQUEsSUFBSSxFQUFFO0FBSEQsS0FkOEQ7QUFtQnJFRSxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsS0FBSyxFQUFFLEdBREg7QUFFSkMsTUFBQUEsTUFBTSxFQUFFO0FBRko7QUFuQitELEdBQTdDO0FBQUEsQ0FBbkI7Ozs7QUF5QkEsSUFBTUMsRUFBRSxHQUFHLFNBQUxBLEVBQUssQ0FBQ1gsQ0FBRCxFQUFJQyxDQUFKLEVBQU9XLEtBQVAsRUFBaUI7QUFDakMsTUFBTUMsR0FBRyxHQUFHO0FBQUViLElBQUFBLENBQUMsRUFBREEsQ0FBRjtBQUFLQyxJQUFBQSxDQUFDLEVBQURBLENBQUw7QUFBUVcsSUFBQUEsS0FBSyxFQUFMQTtBQUFSLEdBQVo7O0FBQ0EsTUFBSSxDQUFDRSxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JILEtBQWhCLENBQUwsRUFBNkI7QUFDM0IsV0FBT0MsR0FBRyxDQUFDRCxLQUFYO0FBQ0Q7O0FBQ0QsU0FBT0MsR0FBUDtBQUNELENBTk0iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2NhbGVNb2NrID0gKCkgPT4ge1xuICBjb25zdCBmbiA9IGplc3QuZm4oKG4pID0+IG4pO1xuICBmbi5pbnZlcnQgPSBqZXN0LmZuKChuKSA9PiBuKTtcbiAgcmV0dXJuIGZuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdyYXBoUHJvcHMgPSAoZG1pbiA9IDAsIGRtYXggPSAxLCBybWluID0gMCwgcm1heCA9IDEpID0+ICh7XG4gIHNjYWxlOiB7XG4gICAgeDogc2NhbGVNb2NrKCksXG4gICAgeTogc2NhbGVNb2NrKCksXG4gIH0sXG4gIHNuYXA6IHtcbiAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICB5OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgfSxcbiAgZG9tYWluOiB7XG4gICAgbWluOiBkbWluLFxuICAgIG1heDogZG1heCxcbiAgICBzdGVwOiAxLFxuICB9LFxuICByYW5nZToge1xuICAgIG1pbjogcm1pbixcbiAgICBtYXg6IHJtYXgsXG4gICAgc3RlcDogMSxcbiAgfSxcbiAgc2l6ZToge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiA0MDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHh5ID0gKHgsIHksIGluZGV4KSA9PiB7XG4gIGNvbnN0IG91dCA9IHsgeCwgeSwgaW5kZXggfTtcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoaW5kZXgpKSB7XG4gICAgZGVsZXRlIG91dC5pbmRleDtcbiAgfVxuICByZXR1cm4gb3V0O1xufTtcbiJdfQ==
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ var utils = _interopRequireWildcard(require("../utils"));
6
+
7
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
8
+
9
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+
11
+ var xy = function xy(x, y) {
12
+ return {
13
+ x: x,
14
+ y: y
15
+ };
16
+ };
17
+
18
+ var tick = function tick(isMajor, v) {
19
+ return {
20
+ major: isMajor,
21
+ value: v,
22
+ x: v
23
+ };
24
+ };
25
+
26
+ var major = tick.bind(null, true);
27
+ var minor = tick.bind(null, false);
28
+ describe('utils', function () {
29
+ describe('polygonToArea', function () {
30
+ var assertPolygon = function assertPolygon(points, area) {
31
+ it("converts ".concat(points, " -> ").concat(area), function () {
32
+ var result = utils.polygonToArea(points);
33
+ expect(result).toEqual(area);
34
+ });
35
+ };
36
+
37
+ assertPolygon([xy(0, 0), xy(1, 1), xy(1, -1)], {
38
+ left: 0,
39
+ top: 1,
40
+ bottom: -1,
41
+ right: 1
42
+ });
43
+ assertPolygon([xy(0, 0), xy(3, 0), xy(2, -1), xy(4, -3), xy(1, -4), xy(2, -2)], {
44
+ left: 0,
45
+ top: 0,
46
+ bottom: -4,
47
+ right: 4
48
+ });
49
+ });
50
+ describe('lineToArea', function () {
51
+ var assertLine = function assertLine(from, to, expected) {
52
+ it("".concat(from, ",").concat(to, " => ").concat(expected), function () {
53
+ var result = utils.lineToArea(from, to);
54
+ expect(result).toEqual(expected);
55
+ });
56
+ };
57
+
58
+ assertLine(xy(1, 1), xy(2, 2), {
59
+ left: 1,
60
+ top: 2,
61
+ bottom: 1,
62
+ right: 2
63
+ });
64
+ assertLine(xy(-1, 4), xy(4, -3), {
65
+ left: -1,
66
+ top: 4,
67
+ bottom: -3,
68
+ right: 4
69
+ });
70
+ });
71
+ describe('getTickValues', function () {
72
+ var assertGetTickValues = function assertGetTickValues(props, expected) {
73
+ it(" => ".concat(expected), function () {
74
+ var result = utils.getTickValues(props);
75
+ expect(result).toEqual(expected);
76
+ });
77
+ };
78
+
79
+ assertGetTickValues({
80
+ min: 0,
81
+ max: 10,
82
+ step: 1
83
+ }, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
84
+ assertGetTickValues({
85
+ min: 0,
86
+ max: 3,
87
+ step: 0.5
88
+ }, [0, 0.5, 1, 1.5, 2, 2.5, 3]);
89
+ assertGetTickValues({
90
+ min: -0.2,
91
+ max: 2,
92
+ step: 0.6
93
+ }, [0, 0.6, 1.2, 1.8]);
94
+ assertGetTickValues({
95
+ min: -3.4,
96
+ max: 6.2,
97
+ step: 1.2
98
+ }, [0, -1.2, -2.4, 1.2, 2.4, 3.6, 4.8, 6]);
99
+ assertGetTickValues({
100
+ min: 0.6,
101
+ max: 4.8,
102
+ step: 0.3
103
+ }, [0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8]);
104
+ assertGetTickValues({
105
+ min: 0.5,
106
+ max: 4.9,
107
+ step: 0.3
108
+ }, [0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8]);
109
+ assertGetTickValues({
110
+ min: 0,
111
+ max: 3,
112
+ step: 0.125
113
+ }, [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875, 3]);
114
+ });
115
+ describe('countWords', function () {
116
+ it('should return 1 if label is undefined', function () {
117
+ var label = undefined;
118
+ var result = utils.countWords(label);
119
+ expect(result).toEqual(1);
120
+ });
121
+ it('should return 1 if label is null', function () {
122
+ var label = null;
123
+ var result = utils.countWords(label);
124
+ expect(result).toEqual(1);
125
+ });
126
+ it('should return 3 if label has 3 words', function () {
127
+ var label = 'Number of months';
128
+ var result = utils.countWords(label);
129
+ expect(result).toEqual(3);
130
+ });
131
+ });
132
+ });
133
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMudGVzdC5qcyJdLCJuYW1lcyI6WyJ4eSIsIngiLCJ5IiwidGljayIsImlzTWFqb3IiLCJ2IiwibWFqb3IiLCJ2YWx1ZSIsImJpbmQiLCJtaW5vciIsImRlc2NyaWJlIiwiYXNzZXJ0UG9seWdvbiIsInBvaW50cyIsImFyZWEiLCJpdCIsInJlc3VsdCIsInV0aWxzIiwicG9seWdvblRvQXJlYSIsImV4cGVjdCIsInRvRXF1YWwiLCJsZWZ0IiwidG9wIiwiYm90dG9tIiwicmlnaHQiLCJhc3NlcnRMaW5lIiwiZnJvbSIsInRvIiwiZXhwZWN0ZWQiLCJsaW5lVG9BcmVhIiwiYXNzZXJ0R2V0VGlja1ZhbHVlcyIsInByb3BzIiwiZ2V0VGlja1ZhbHVlcyIsIm1pbiIsIm1heCIsInN0ZXAiLCJsYWJlbCIsInVuZGVmaW5lZCIsImNvdW50V29yZHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7Ozs7O0FBRUEsSUFBTUEsRUFBRSxHQUFHLFNBQUxBLEVBQUssQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsU0FBVztBQUFFRCxJQUFBQSxDQUFDLEVBQURBLENBQUY7QUFBS0MsSUFBQUEsQ0FBQyxFQUFEQTtBQUFMLEdBQVg7QUFBQSxDQUFYOztBQUVBLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFPLENBQUNDLE9BQUQsRUFBVUMsQ0FBVjtBQUFBLFNBQWlCO0FBQzVCQyxJQUFBQSxLQUFLLEVBQUVGLE9BRHFCO0FBRTVCRyxJQUFBQSxLQUFLLEVBQUVGLENBRnFCO0FBRzVCSixJQUFBQSxDQUFDLEVBQUVJO0FBSHlCLEdBQWpCO0FBQUEsQ0FBYjs7QUFNQSxJQUFNQyxLQUFLLEdBQUdILElBQUksQ0FBQ0ssSUFBTCxDQUFVLElBQVYsRUFBZ0IsSUFBaEIsQ0FBZDtBQUNBLElBQU1DLEtBQUssR0FBR04sSUFBSSxDQUFDSyxJQUFMLENBQVUsSUFBVixFQUFnQixLQUFoQixDQUFkO0FBRUFFLFFBQVEsQ0FBQyxPQUFELEVB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RjtBQU9BTCxJQUFBQSxFQUFFLENBQUMsc0NBQUQsRUFBeUMsWUFBTTtBQUMvQyxVQUFNcUIsS0FBSyxHQUFHLGtCQUFkO0FBQ0EsVUFBTXBCLE1BQU0sR0FBR0MsS0FBSyxDQUFDcUIsVUFBTixDQUFpQkYsS0FBakIsQ0FBZjtBQUVBakIsTUFBQUEsTUFBTSxDQUFDSCxNQUFELENBQU4sQ0FBZUksT0FBZixDQUF1QixDQUF2QjtBQUNELEtBTEMsQ0FBRjtBQU1ELEdBckJPLENBQVI7QUFzQkQsQ0F6SU8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgeHkgPSAoeCwgeSkgPT4gKHsgeCwgeSB9KTtcblxuY29uc3QgdGljayA9IChpc01ham9yLCB2KSA9PiAoe1xuICBtYWpvcjogaXNNYWpvcixcbiAgdmFsdWU6IHYsXG4gIHg6IHYsXG59KTtcblxuY29uc3QgbWFqb3IgPSB0aWNrLmJpbmQobnVsbCwgdHJ1ZSk7XG5jb25zdCBtaW5vciA9IHRpY2suYmluZChudWxsLCBmYWxzZSk7XG5cbmRlc2NyaWJlKCd1dGlscycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3BvbHlnb25Ub0FyZWEnLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0UG9seWdvbiA9IChwb2ludHMsIGFyZWEpID0+IHtcbiAgICAgIGl0KGBjb252ZXJ0cyAke3BvaW50c30gLT4gJHthcmVhfWAsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMucG9seWdvblRvQXJlYShwb2ludHMpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGFyZWEpO1xuICAgICAgfSk7XG4gICAgfTtcbiAgICBhc3NlcnRQb2x5Z29uKFt4eSgwLCAwKSwgeHkoMSwgMSksIHh5KDEsIC0xKV0sIHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICB0b3A6IDEsXG4gICAgICBib3R0b206IC0xLFxuICAgICAgcmlnaHQ6IDEsXG4gICAgfSk7XG4gICAgYXNzZXJ0UG9seWdvbihbeHkoMCwgMCksIHh5KDMsIDApLCB4eSgyLCAtMSksIHh5KDQsIC0zKSwgeHkoMSwgLTQpLCB4eSgyLCAtMildLCB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgdG9wOiAwLFxuICAgICAgYm90dG9tOiAtNCxcbiAgICAgIHJpZ2h0OiA0LFxuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbGluZVRvQXJlYScsICgpID0+IHtcbiAgICBjb25zdCBhc3NlcnRMaW5lID0gKGZyb20sIHRvLCBleHBlY3RlZCkgPT4ge1xuICAgICAgaXQoYCR7ZnJvbX0sJHt0b30gPT4gJHtleHBlY3RlZH1gLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmxpbmVUb0FyZWEoZnJvbSwgdG8pO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhc3NlcnRMaW5lKHh5KDEsIDEpLCB4eSgyLCAyKSwgeyBsZWZ0OiAxLCB0b3A6IDIsIGJvdHRvbTogMSwgcmlnaHQ6IDIgfSk7XG4gICAgYXNzZXJ0TGluZSh4eSgtMSwgNCksIHh5KDQsIC0zKSwge1xuICAgICAgbGVmdDogLTEsXG4gICAgICB0b3A6IDQsXG4gICAgICBib3R0b206IC0zLFxuICAgICAgcmlnaHQ6IDQsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRUaWNrVmFsdWVzJywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydEdldFRpY2tWYWx1ZXMgPSAocHJvcHMsIGV4cGVjdGVkKSA9PiB7XG4gICAgICBpdChgID0+ICR7ZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5nZXRUaWNrVmFsdWVzKHByb3BzKTtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgYXNzZXJ0R2V0VGlja1ZhbHVlcyh7IG1pbjogMCwgbWF4OiAxMCwgc3RlcDogMSB9LCBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTBdKTtcbiAgICBhc3NlcnRHZXRUaWNrVmFsdWVzKHsgbWluOiAwLCBtYXg6IDMsIHN0ZXA6IDAuNSB9LCBbMCwgMC41LCAxLCAxLjUsIDIsIDIuNSwgM10pO1xuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoeyBtaW46IC0wLjIsIG1heDogMiwgc3RlcDogMC42IH0sIFswLCAwLjYsIDEuMiwgMS44XSk7XG4gICAgYXNzZXJ0R2V0VGlja1ZhbHVlcyh7IG1pbjogLTMuNCwgbWF4OiA2LjIsIHN0ZXA6IDEuMiB9LCBbMCwgLTEuMiwgLTIuNCwgMS4yLCAyLjQsIDMuNiwgNC44LCA2XSk7XG5cbiAgICBhc3NlcnRHZXRUaWNrVmFsdWVzKHsgbWluOiAwLjYsIG1heDogNC44LCBzdGVwOiAwLjMgfSwgW1xuICAgICAgMC42LFxuICAgICAgMC45LFxuICAgICAgMS4yLFxuICAgICAgMS41LFxuICAgICAgMS44LFxuICAgICAgMi4xLFxuICAgICAgMi40LFxuICAgICAgMi43LFxuICAgICAgMy4wLFxuICAgICAgMy4zLFxuICAgICAgMy42LFxuICAgICAgMy45LFxuICAgICAgNC4yLFxuICAgICAgNC41LFxuICAgICAgNC44LFxuICAgIF0pO1xuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoeyBtaW46IDAuNSwgbWF4OiA0LjksIHN0ZXA6IDAuMyB9LCBbXG4gICAgICAwLjYsXG4gICAgICAwLjksXG4gICAgICAxLjIsXG4gICAgICAxLjUsXG4gICAgICAxLjgsXG4gICAgICAyLjEsXG4gICAgICAyLjQsXG4gICAgICAyLjcsXG4gICAgICAzLjAsXG4gICAgICAzLjMsXG4gICAgICAzLjYsXG4gICAgICAzLjksXG4gICAgICA0LjIsXG4gICAgICA0LjUsXG4gICAgICA0LjgsXG4gICAgXSk7XG4gICAgYXNzZXJ0R2V0VGlja1ZhbHVlcyh7IG1pbjogMCwgbWF4OiAzLCBzdGVwOiAwLjEyNSB9LCBbXG4gICAgICAwLFxuICAgICAgMC4xMjUsXG4gICAgICAwLjI1LFxuICAgICAgMC4zNzUsXG4gICAgICAwLjUsXG4gICAgICAwLjYyNSxcbiAgICAgIDAuNzUsXG4gICAgICAwLjg3NSxcbiAgICAgIDEsXG4gICAgICAxLjEyNSxcbiAgICAgIDEuMjUsXG4gICAgICAxLjM3NSxcbiAgICAgIDEuNSxcbiAgICAgIDEuNjI1LFxuICAgICAgMS43NSxcbiAgICAgIDEuODc1LFxuICAgICAgMixcbiAgICAgIDIuMTI1LFxuICAgICAgMi4yNSxcbiAgICAgIDIuMzc1LFxuICAgICAgMi41LFxuICAgICAgMi42MjUsXG4gICAgICAyLjc1LFxuICAgICAgMi44NzUsXG4gICAgICAzLFxuICAgIF0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY291bnRXb3JkcycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiAxIGlmIGxhYmVsIGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsID0gdW5kZWZpbmVkO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuY291bnRXb3JkcyhsYWJlbCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoMSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiAxIGlmIGxhYmVsIGlzIG51bGwnLCAoKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IG51bGw7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5jb3VudFdvcmRzKGxhYmVsKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgxKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIDMgaWYgbGFiZWwgaGFzIDMgd29yZHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9ICdOdW1iZXIgb2YgbW9udGhzJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmNvdW50V29yZHMobGFiZWwpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKDMpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19