@pie-lib/graphing-solution-set 4.0.13 → 4.1.0-beta
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/CHANGELOG.md +0 -44
- package/lib/__tests__/bg.test.js +282 -0
- package/lib/__tests__/bg.test.js.map +1 -0
- package/lib/__tests__/coordinates-label.test.js +276 -0
- package/lib/__tests__/coordinates-label.test.js.map +1 -0
- package/lib/__tests__/graph-with-controls.test.js +256 -0
- package/lib/__tests__/graph-with-controls.test.js.map +1 -0
- package/lib/__tests__/graph.test.js +113 -0
- package/lib/__tests__/graph.test.js.map +1 -0
- package/lib/__tests__/grid-setup.test.js +729 -0
- package/lib/__tests__/grid-setup.test.js.map +1 -0
- package/lib/__tests__/grid.test.js +29 -0
- package/lib/__tests__/grid.test.js.map +1 -0
- package/lib/__tests__/labels.test.js +45 -0
- package/lib/__tests__/labels.test.js.map +1 -0
- package/lib/__tests__/mark-label.test.js +133 -0
- package/lib/__tests__/mark-label.test.js.map +1 -0
- package/lib/__tests__/toggle-bar.test.js +146 -0
- package/lib/__tests__/toggle-bar.test.js.map +1 -0
- package/lib/__tests__/tool-menu.test.js +540 -0
- package/lib/__tests__/tool-menu.test.js.map +1 -0
- package/lib/__tests__/undo-redo.test.js +31 -0
- package/lib/__tests__/undo-redo.test.js.map +1 -0
- package/lib/__tests__/use-debounce.test.js +24 -0
- package/lib/__tests__/use-debounce.test.js.map +1 -0
- package/lib/__tests__/utils.js +70 -0
- package/lib/__tests__/utils.js.map +1 -0
- package/lib/__tests__/utils.test.js +123 -0
- package/lib/__tests__/utils.test.js.map +1 -0
- package/lib/axis/__tests__/arrow.test.js +60 -0
- package/lib/axis/__tests__/arrow.test.js.map +1 -0
- package/lib/axis/__tests__/axes.test.js +160 -0
- package/lib/axis/__tests__/axes.test.js.map +1 -0
- package/lib/container/__tests__/actions.test.js +108 -0
- package/lib/container/__tests__/actions.test.js.map +1 -0
- package/lib/container/__tests__/index.test.js +346 -0
- package/lib/container/__tests__/index.test.js.map +1 -0
- package/lib/container/__tests__/marks.test.js +259 -0
- package/lib/container/__tests__/marks.test.js.map +1 -0
- package/lib/container/__tests__/middleware.test.js +244 -0
- package/lib/container/__tests__/middleware.test.js.map +1 -0
- package/lib/container/__tests__/reducer.test.js +450 -0
- package/lib/container/__tests__/reducer.test.js.map +1 -0
- package/lib/tools/line/__tests__/component.test.js +45 -0
- package/lib/tools/line/__tests__/component.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/component.test.js +501 -0
- package/lib/tools/polygon/__tests__/component.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/index.test.js +92 -0
- package/lib/tools/polygon/__tests__/index.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/line.test.js +30 -0
- package/lib/tools/polygon/__tests__/line.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +61 -0
- package/lib/tools/polygon/__tests__/polygon.test.js.map +1 -0
- package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
- package/lib/tools/shared/__tests__/arrow-head.test.js.map +1 -0
- package/lib/tools/shared/line/__tests__/index.test.js +725 -0
- package/lib/tools/shared/line/__tests__/index.test.js.map +1 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +64 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js.map +1 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +618 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +1 -0
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
- package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +1 -0
- package/lib/tools/shared/point/__tests__/arrow.test.js +619 -0
- package/lib/tools/shared/point/__tests__/arrow.test.js.map +1 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js.map +1 -0
- package/package.json +7 -7
- package/LICENSE.md +0 -5
|
@@ -0,0 +1,24 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
var utils = _interopRequireWildcard(require("../utils"));
|
|
5
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
6
|
+
var xy = function xy(x, y) {
|
|
7
|
+
return {
|
|
8
|
+
x: x,
|
|
9
|
+
y: y
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
var tick = function tick(isMajor, v) {
|
|
13
|
+
return {
|
|
14
|
+
major: isMajor,
|
|
15
|
+
value: v,
|
|
16
|
+
x: v
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
var major = tick.bind(null, true);
|
|
20
|
+
var minor = tick.bind(null, false);
|
|
21
|
+
describe('utils', function () {
|
|
22
|
+
describe('polygonToArea', function () {
|
|
23
|
+
var assertPolygon = function assertPolygon(points, area) {
|
|
24
|
+
it("converts ".concat(points, " -> ").concat(area), function () {
|
|
25
|
+
var result = utils.polygonToArea(points);
|
|
26
|
+
expect(result).toEqual(area);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
assertPolygon([xy(0, 0), xy(1, 1), xy(1, -1)], {
|
|
30
|
+
left: 0,
|
|
31
|
+
top: 1,
|
|
32
|
+
bottom: -1,
|
|
33
|
+
right: 1
|
|
34
|
+
});
|
|
35
|
+
assertPolygon([xy(0, 0), xy(3, 0), xy(2, -1), xy(4, -3), xy(1, -4), xy(2, -2)], {
|
|
36
|
+
left: 0,
|
|
37
|
+
top: 0,
|
|
38
|
+
bottom: -4,
|
|
39
|
+
right: 4
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe('lineToArea', function () {
|
|
43
|
+
var assertLine = function assertLine(from, to, expected) {
|
|
44
|
+
it("".concat(from, ",").concat(to, " => ").concat(expected), function () {
|
|
45
|
+
var result = utils.lineToArea(from, to);
|
|
46
|
+
expect(result).toEqual(expected);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
assertLine(xy(1, 1), xy(2, 2), {
|
|
50
|
+
left: 1,
|
|
51
|
+
top: 2,
|
|
52
|
+
bottom: 1,
|
|
53
|
+
right: 2
|
|
54
|
+
});
|
|
55
|
+
assertLine(xy(-1, 4), xy(4, -3), {
|
|
56
|
+
left: -1,
|
|
57
|
+
top: 4,
|
|
58
|
+
bottom: -3,
|
|
59
|
+
right: 4
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('getTickValues', function () {
|
|
63
|
+
var assertGetTickValues = function assertGetTickValues(props, expected) {
|
|
64
|
+
it(" => ".concat(expected), function () {
|
|
65
|
+
var result = utils.getTickValues(props);
|
|
66
|
+
expect(result).toEqual(expected);
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
assertGetTickValues({
|
|
70
|
+
min: 0,
|
|
71
|
+
max: 10,
|
|
72
|
+
step: 1
|
|
73
|
+
}, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
|
|
74
|
+
assertGetTickValues({
|
|
75
|
+
min: 0,
|
|
76
|
+
max: 3,
|
|
77
|
+
step: 0.5
|
|
78
|
+
}, [0, 0.5, 1, 1.5, 2, 2.5, 3]);
|
|
79
|
+
assertGetTickValues({
|
|
80
|
+
min: -0.2,
|
|
81
|
+
max: 2,
|
|
82
|
+
step: 0.6
|
|
83
|
+
}, [0, 0.6, 1.2, 1.8]);
|
|
84
|
+
assertGetTickValues({
|
|
85
|
+
min: -3.4,
|
|
86
|
+
max: 6.2,
|
|
87
|
+
step: 1.2
|
|
88
|
+
}, [0, -1.2, -2.4, 1.2, 2.4, 3.6, 4.8, 6]);
|
|
89
|
+
assertGetTickValues({
|
|
90
|
+
min: 0.6,
|
|
91
|
+
max: 4.8,
|
|
92
|
+
step: 0.3
|
|
93
|
+
}, [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]);
|
|
94
|
+
assertGetTickValues({
|
|
95
|
+
min: 0.5,
|
|
96
|
+
max: 4.9,
|
|
97
|
+
step: 0.3
|
|
98
|
+
}, [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]);
|
|
99
|
+
assertGetTickValues({
|
|
100
|
+
min: 0,
|
|
101
|
+
max: 3,
|
|
102
|
+
step: 0.125
|
|
103
|
+
}, [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]);
|
|
104
|
+
});
|
|
105
|
+
describe('countWords', function () {
|
|
106
|
+
it('should return 1 if label is undefined', function () {
|
|
107
|
+
var label = undefined;
|
|
108
|
+
var result = utils.countWords(label);
|
|
109
|
+
expect(result).toEqual(1);
|
|
110
|
+
});
|
|
111
|
+
it('should return 1 if label is null', function () {
|
|
112
|
+
var label = null;
|
|
113
|
+
var result = utils.countWords(label);
|
|
114
|
+
expect(result).toEqual(1);
|
|
115
|
+
});
|
|
116
|
+
it('should return 3 if label has 3 words', function () {
|
|
117
|
+
var label = 'Number of months';
|
|
118
|
+
var result = utils.countWords(label);
|
|
119
|
+
expect(result).toEqual(3);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.js","names":["utils","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","xy","x","y","tick","isMajor","v","major","value","bind","minor","describe","assertPolygon","points","area","it","concat","result","polygonToArea","expect","toEqual","left","top","bottom","right","assertLine","from","to","expected","lineToArea","assertGetTickValues","props","getTickValues","min","max","step","label","undefined","countWords"],"sources":["../../src/__tests__/utils.test.js"],"sourcesContent":["import * as utils from '../utils';\n\nconst xy = (x, y) => ({ x, y });\n\nconst tick = (isMajor, v) => ({\n major: isMajor,\n value: v,\n x: v,\n});\n\nconst major = tick.bind(null, true);\nconst minor = tick.bind(null, false);\n\ndescribe('utils', () => {\n describe('polygonToArea', () => {\n const assertPolygon = (points, area) => {\n it(`converts ${points} -> ${area}`, () => {\n const result = utils.polygonToArea(points);\n expect(result).toEqual(area);\n });\n };\n assertPolygon([xy(0, 0), xy(1, 1), xy(1, -1)], {\n left: 0,\n top: 1,\n bottom: -1,\n right: 1,\n });\n assertPolygon([xy(0, 0), xy(3, 0), xy(2, -1), xy(4, -3), xy(1, -4), xy(2, -2)], {\n left: 0,\n top: 0,\n bottom: -4,\n right: 4,\n });\n });\n\n describe('lineToArea', () => {\n const assertLine = (from, to, expected) => {\n it(`${from},${to} => ${expected}`, () => {\n const result = utils.lineToArea(from, to);\n expect(result).toEqual(expected);\n });\n };\n\n assertLine(xy(1, 1), xy(2, 2), { left: 1, top: 2, bottom: 1, right: 2 });\n assertLine(xy(-1, 4), xy(4, -3), {\n left: -1,\n top: 4,\n bottom: -3,\n right: 4,\n });\n });\n\n describe('getTickValues', () => {\n const assertGetTickValues = (props, expected) => {\n it(` => ${expected}`, () => {\n const result = utils.getTickValues(props);\n expect(result).toEqual(expected);\n });\n };\n\n assertGetTickValues({ min: 0, max: 10, step: 1 }, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n assertGetTickValues({ min: 0, max: 3, step: 0.5 }, [0, 0.5, 1, 1.5, 2, 2.5, 3]);\n assertGetTickValues({ min: -0.2, max: 2, step: 0.6 }, [0, 0.6, 1.2, 1.8]);\n assertGetTickValues({ min: -3.4, max: 6.2, step: 1.2 }, [0, -1.2, -2.4, 1.2, 2.4, 3.6, 4.8, 6]);\n\n assertGetTickValues(\n { min: 0.6, max: 4.8, step: 0.3 },\n [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],\n );\n assertGetTickValues(\n { min: 0.5, max: 4.9, step: 0.3 },\n [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],\n );\n assertGetTickValues(\n { min: 0, max: 3, step: 0.125 },\n [\n 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,\n 2.375, 2.5, 2.625, 2.75, 2.875, 3,\n ],\n );\n });\n\n describe('countWords', () => {\n it('should return 1 if label is undefined', () => {\n const label = undefined;\n const result = utils.countWords(label);\n\n expect(result).toEqual(1);\n });\n\n it('should return 1 if label is null', () => {\n const label = null;\n const result = utils.countWords(label);\n\n expect(result).toEqual(1);\n });\n\n it('should return 3 if label has 3 words', () => {\n const label = 'Number of months';\n const result = utils.countWords(label);\n\n expect(result).toEqual(3);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
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 _arrow = require("../arrow");
|
|
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('Arrow', function () {
|
|
11
|
+
var onChange = jest.fn();
|
|
12
|
+
var renderComponent = function renderComponent(extras) {
|
|
13
|
+
var defaults = {
|
|
14
|
+
classes: {},
|
|
15
|
+
className: 'className',
|
|
16
|
+
onChange: onChange,
|
|
17
|
+
scale: {
|
|
18
|
+
x: jest.fn(function (n) {
|
|
19
|
+
return n;
|
|
20
|
+
}),
|
|
21
|
+
y: jest.fn(function (n) {
|
|
22
|
+
return n;
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
27
|
+
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_arrow.Arrow, props));
|
|
28
|
+
};
|
|
29
|
+
describe('rendering', function () {
|
|
30
|
+
it('renders with direction up', function () {
|
|
31
|
+
var _renderComponent = renderComponent({
|
|
32
|
+
direction: 'up'
|
|
33
|
+
}),
|
|
34
|
+
container = _renderComponent.container;
|
|
35
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
36
|
+
});
|
|
37
|
+
it('renders with direction down', function () {
|
|
38
|
+
var _renderComponent2 = renderComponent({
|
|
39
|
+
direction: 'down'
|
|
40
|
+
}),
|
|
41
|
+
container = _renderComponent2.container;
|
|
42
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
43
|
+
});
|
|
44
|
+
it('renders with direction left', function () {
|
|
45
|
+
var _renderComponent3 = renderComponent({
|
|
46
|
+
direction: 'left'
|
|
47
|
+
}),
|
|
48
|
+
container = _renderComponent3.container;
|
|
49
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
50
|
+
});
|
|
51
|
+
it('renders with direction right', function () {
|
|
52
|
+
var _renderComponent4 = renderComponent({
|
|
53
|
+
direction: 'right'
|
|
54
|
+
}),
|
|
55
|
+
container = _renderComponent4.container;
|
|
56
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=arrow.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_arrow","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","renderComponent","extras","defaults","classes","className","scale","x","n","y","props","render","createElement","Arrow","it","_renderComponent","direction","container","expect","firstChild","toBeInTheDocument","_renderComponent2","_renderComponent3","_renderComponent4"],"sources":["../../../src/axis/__tests__/arrow.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\nimport { Arrow } from '../arrow';\n\ndescribe('Arrow', () => {\n let onChange = jest.fn();\n\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n scale: {\n x: jest.fn((n) => n),\n y: jest.fn((n) => n),\n },\n };\n const props = { ...defaults, ...extras };\n return render(<Arrow {...props} />);\n };\n\n describe('rendering', () => {\n it('renders with direction up', () => {\n const { container } = renderComponent({ direction: 'up' });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with direction down', () => {\n const { container } = renderComponent({ direction: 'down' });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with direction left', () => {\n const { container } = renderComponent({ direction: 'left' });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with direction right', () => {\n const { container } = renderComponent({ direction: 'right' });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
+
var _testUtils = require("@pie-lib/test-utils");
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _utils = require("../../__tests__/utils");
|
|
8
|
+
var _axes = require("../axes");
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
describe('RawXAxis', function () {
|
|
12
|
+
var onChange = jest.fn();
|
|
13
|
+
var renderComponent = function renderComponent(extras) {
|
|
14
|
+
var defaults = {
|
|
15
|
+
classes: {},
|
|
16
|
+
className: 'className',
|
|
17
|
+
onChange: onChange,
|
|
18
|
+
graphProps: (0, _utils.graphProps)(),
|
|
19
|
+
includeArrows: {
|
|
20
|
+
left: true,
|
|
21
|
+
right: true,
|
|
22
|
+
up: true,
|
|
23
|
+
down: true
|
|
24
|
+
},
|
|
25
|
+
columnTicksValues: [-1, 0, 1],
|
|
26
|
+
skipValues: [],
|
|
27
|
+
distanceFromOriginToFirstNegativeY: 0,
|
|
28
|
+
dy: 0
|
|
29
|
+
};
|
|
30
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
31
|
+
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_axes.RawXAxis, props));
|
|
32
|
+
};
|
|
33
|
+
describe('rendering', function () {
|
|
34
|
+
it('renders without crashing', function () {
|
|
35
|
+
var _renderComponent = renderComponent(),
|
|
36
|
+
container = _renderComponent.container;
|
|
37
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('RawYAxis', function () {
|
|
42
|
+
var onChange = jest.fn();
|
|
43
|
+
var renderComponent = function renderComponent(extras) {
|
|
44
|
+
var defaults = {
|
|
45
|
+
classes: {},
|
|
46
|
+
className: 'className',
|
|
47
|
+
onChange: onChange,
|
|
48
|
+
graphProps: (0, _utils.graphProps)(),
|
|
49
|
+
includeArrows: {
|
|
50
|
+
left: true,
|
|
51
|
+
right: true,
|
|
52
|
+
up: true,
|
|
53
|
+
down: true
|
|
54
|
+
},
|
|
55
|
+
rowTickValues: [-1, 0, 1],
|
|
56
|
+
skipValues: []
|
|
57
|
+
};
|
|
58
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
59
|
+
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_axes.RawYAxis, props));
|
|
60
|
+
};
|
|
61
|
+
describe('rendering', function () {
|
|
62
|
+
it('renders without crashing', function () {
|
|
63
|
+
var _renderComponent2 = renderComponent(),
|
|
64
|
+
container = _renderComponent2.container;
|
|
65
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
var _customScaleMock = function customScaleMock(distance) {
|
|
70
|
+
var fn = jest.fn(function (n) {
|
|
71
|
+
return n * distance;
|
|
72
|
+
});
|
|
73
|
+
fn.invert = jest.fn(function (n) {
|
|
74
|
+
return n * distance;
|
|
75
|
+
});
|
|
76
|
+
fn.domain = jest.fn(function () {
|
|
77
|
+
return fn;
|
|
78
|
+
});
|
|
79
|
+
fn.range = jest.fn(function () {
|
|
80
|
+
return fn;
|
|
81
|
+
});
|
|
82
|
+
fn.copy = jest.fn(function () {
|
|
83
|
+
return _customScaleMock(distance);
|
|
84
|
+
});
|
|
85
|
+
return fn;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// Note: Instance method tests (xValues, yValues) have been removed.
|
|
89
|
+
// These methods are internal implementation details and should be tested through
|
|
90
|
+
// component rendering and integration tests that verify the axes render correctly.
|
|
91
|
+
|
|
92
|
+
describe('firstNegativeValue', function () {
|
|
93
|
+
it('should return undefined for undefined interval', function () {
|
|
94
|
+
var interval = undefined;
|
|
95
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
96
|
+
expect(result).toEqual(undefined);
|
|
97
|
+
});
|
|
98
|
+
it('should return undefined for empty interval', function () {
|
|
99
|
+
var interval = [];
|
|
100
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
101
|
+
expect(result).toEqual(undefined);
|
|
102
|
+
});
|
|
103
|
+
it('should return undefined if there is no negative in interval array', function () {
|
|
104
|
+
var interval = [1, 5, 7, 4, 5];
|
|
105
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
106
|
+
expect(result).toEqual(undefined);
|
|
107
|
+
});
|
|
108
|
+
it('should return first negative number from interval', function () {
|
|
109
|
+
var interval = [1, 5, 7, -2, 4, 5, -1];
|
|
110
|
+
var result = (0, _axes.firstNegativeValue)(interval);
|
|
111
|
+
expect(result).toEqual(-2);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
describe('sharedValues', function () {
|
|
115
|
+
it('should be empty array if firstNegativeValue for one of the axes is undefined', function () {
|
|
116
|
+
// x
|
|
117
|
+
var intervalX = [1, 2, 3, 4, 5, 6];
|
|
118
|
+
var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
|
|
119
|
+
var distanceFromOriginToFirstNegativeX = -22;
|
|
120
|
+
|
|
121
|
+
// y
|
|
122
|
+
var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
123
|
+
var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
|
|
124
|
+
var distanceFromOriginToFirstNegativeY = -22;
|
|
125
|
+
var deltaAllowance = 5;
|
|
126
|
+
var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
|
|
127
|
+
expect(result).toEqual([]);
|
|
128
|
+
});
|
|
129
|
+
it('should be empty array if firstNegativeX and firstNegativeY are equal but they do not overlap', function () {
|
|
130
|
+
// x
|
|
131
|
+
var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
132
|
+
var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
|
|
133
|
+
var distanceFromOriginToFirstNegativeX = -7;
|
|
134
|
+
|
|
135
|
+
// y
|
|
136
|
+
var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
137
|
+
var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
|
|
138
|
+
var distanceFromOriginToFirstNegativeY = -22;
|
|
139
|
+
var deltaAllowance = 5;
|
|
140
|
+
var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
|
|
141
|
+
expect(result).toEqual([]);
|
|
142
|
+
});
|
|
143
|
+
it('should be -1 if firstNegativeX and firstNegativeY are equal and they overlap', function () {
|
|
144
|
+
// x
|
|
145
|
+
var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
146
|
+
var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
|
|
147
|
+
var distanceFromOriginToFirstNegativeX = -20;
|
|
148
|
+
|
|
149
|
+
// y
|
|
150
|
+
var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
|
|
151
|
+
var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
|
|
152
|
+
var distanceFromOriginToFirstNegativeY = -22;
|
|
153
|
+
var deltaAllowance = 5;
|
|
154
|
+
var dy = -20; // dy needs to be within the range for the condition to pass
|
|
155
|
+
|
|
156
|
+
var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance, dy);
|
|
157
|
+
expect(result).toEqual([-1]);
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
//# sourceMappingURL=axes.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axes.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_utils","_axes","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","renderComponent","extras","defaults","classes","className","graphProps","includeArrows","left","right","up","down","columnTicksValues","skipValues","distanceFromOriginToFirstNegativeY","dy","props","render","createElement","RawXAxis","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","rowTickValues","RawYAxis","_renderComponent2","customScaleMock","distance","n","invert","domain","range","copy","interval","undefined","result","firstNegativeValue","toEqual","intervalX","firstNegativeX","distanceFromOriginToFirstNegativeX","intervalY","firstNegativeY","deltaAllowance","sharedValues"],"sources":["../../../src/axis/__tests__/axes.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\nimport { graphProps } from '../../__tests__/utils';\n\nimport { firstNegativeValue, RawXAxis, RawYAxis, sharedValues } from '../axes';\n\ndescribe('RawXAxis', () => {\n let onChange = jest.fn();\n\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n graphProps: graphProps(),\n includeArrows: {\n left: true,\n right: true,\n up: true,\n down: true,\n },\n columnTicksValues: [-1, 0, 1],\n skipValues: [],\n distanceFromOriginToFirstNegativeY: 0,\n dy: 0,\n };\n const props = { ...defaults, ...extras };\n return render(<RawXAxis {...props} />);\n };\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n\ndescribe('RawYAxis', () => {\n let onChange = jest.fn();\n\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n graphProps: graphProps(),\n includeArrows: {\n left: true,\n right: true,\n up: true,\n down: true,\n },\n rowTickValues: [-1, 0, 1],\n skipValues: [],\n };\n const props = { ...defaults, ...extras };\n return render(<RawYAxis {...props} />);\n };\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n\nconst customScaleMock = (distance) => {\n const fn = jest.fn((n) => n * distance);\n fn.invert = jest.fn((n) => n * distance);\n fn.domain = jest.fn(() => fn);\n fn.range = jest.fn(() => fn);\n fn.copy = jest.fn(() => customScaleMock(distance));\n return fn;\n};\n\n// Note: Instance method tests (xValues, yValues) have been removed.\n// These methods are internal implementation details and should be tested through\n// component rendering and integration tests that verify the axes render correctly.\n\ndescribe('firstNegativeValue', () => {\n it('should return undefined for undefined interval', () => {\n const interval = undefined;\n const result = firstNegativeValue(interval);\n expect(result).toEqual(undefined);\n });\n\n it('should return undefined for empty interval', () => {\n const interval = [];\n const result = firstNegativeValue(interval);\n expect(result).toEqual(undefined);\n });\n\n it('should return undefined if there is no negative in interval array', () => {\n const interval = [1, 5, 7, 4, 5];\n const result = firstNegativeValue(interval);\n expect(result).toEqual(undefined);\n });\n\n it('should return first negative number from interval', () => {\n const interval = [1, 5, 7, -2, 4, 5, -1];\n const result = firstNegativeValue(interval);\n expect(result).toEqual(-2);\n });\n});\n\ndescribe('sharedValues', () => {\n it('should be empty array if firstNegativeValue for one of the axes is undefined', () => {\n // x\n const intervalX = [1, 2, 3, 4, 5, 6];\n const firstNegativeX = firstNegativeValue(intervalX);\n const distanceFromOriginToFirstNegativeX = -22;\n\n // y\n const intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];\n const firstNegativeY = firstNegativeValue(intervalY);\n const distanceFromOriginToFirstNegativeY = -22;\n\n const deltaAllowance = 5;\n\n const result = sharedValues(\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n );\n\n expect(result).toEqual([]);\n });\n\n it('should be empty array if firstNegativeX and firstNegativeY are equal but they do not overlap', () => {\n // x\n const intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];\n const firstNegativeX = firstNegativeValue(intervalX);\n const distanceFromOriginToFirstNegativeX = -7;\n\n // y\n const intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];\n const firstNegativeY = firstNegativeValue(intervalY);\n const distanceFromOriginToFirstNegativeY = -22;\n\n const deltaAllowance = 5;\n\n const result = sharedValues(\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n );\n\n expect(result).toEqual([]);\n });\n\n it('should be -1 if firstNegativeX and firstNegativeY are equal and they overlap', () => {\n // x\n const intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];\n const firstNegativeX = firstNegativeValue(intervalX);\n const distanceFromOriginToFirstNegativeX = -20;\n\n // y\n const intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];\n const firstNegativeY = firstNegativeValue(intervalY);\n const distanceFromOriginToFirstNegativeY = -22;\n\n const deltaAllowance = 5;\n const dy = -20; // dy needs to be within the range for the condition to pass\n\n const result = sharedValues(\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n dy,\n );\n\n expect(result).toEqual([-1]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
5
|
+
var _actions = require("../actions");
|
|
6
|
+
describe('container actions', function () {
|
|
7
|
+
describe('addMark', function () {
|
|
8
|
+
it('creates ADD_MARK action', function () {
|
|
9
|
+
var action = (0, _actions.addMark)();
|
|
10
|
+
expect(action).toEqual({
|
|
11
|
+
type: 'ADD_MARK'
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
it('creates action without parameters', function () {
|
|
15
|
+
var action = (0, _actions.addMark)();
|
|
16
|
+
expect(action.type).toBe('ADD_MARK');
|
|
17
|
+
expect(Object.keys(action)).toEqual(['type']);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('changeMarks', function () {
|
|
21
|
+
it('creates CHANGE_MARKS action with marks', function () {
|
|
22
|
+
var marks = [{
|
|
23
|
+
id: 1,
|
|
24
|
+
type: 'point'
|
|
25
|
+
}];
|
|
26
|
+
var action = (0, _actions.changeMarks)(marks);
|
|
27
|
+
expect(action).toEqual({
|
|
28
|
+
type: 'CHANGE_MARKS',
|
|
29
|
+
marks: marks
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
it('creates action with empty marks array', function () {
|
|
33
|
+
var marks = [];
|
|
34
|
+
var action = (0, _actions.changeMarks)(marks);
|
|
35
|
+
expect(action).toEqual({
|
|
36
|
+
type: 'CHANGE_MARKS',
|
|
37
|
+
marks: []
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it('creates action with multiple marks', function () {
|
|
41
|
+
var marks = [{
|
|
42
|
+
id: 1,
|
|
43
|
+
type: 'point',
|
|
44
|
+
x: 1,
|
|
45
|
+
y: 2
|
|
46
|
+
}, {
|
|
47
|
+
id: 2,
|
|
48
|
+
type: 'line',
|
|
49
|
+
from: {
|
|
50
|
+
x: 0,
|
|
51
|
+
y: 0
|
|
52
|
+
},
|
|
53
|
+
to: {
|
|
54
|
+
x: 5,
|
|
55
|
+
y: 5
|
|
56
|
+
}
|
|
57
|
+
}];
|
|
58
|
+
var action = (0, _actions.changeMarks)(marks);
|
|
59
|
+
expect(action.marks).toEqual(marks);
|
|
60
|
+
expect(action.marks.length).toBe(2);
|
|
61
|
+
});
|
|
62
|
+
it('creates action with null marks', function () {
|
|
63
|
+
var marks = null;
|
|
64
|
+
var action = (0, _actions.changeMarks)(marks);
|
|
65
|
+
expect(action).toEqual({
|
|
66
|
+
type: 'CHANGE_MARKS',
|
|
67
|
+
marks: null
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
it('creates action with undefined marks', function () {
|
|
71
|
+
var marks = undefined;
|
|
72
|
+
var action = (0, _actions.changeMarks)(marks);
|
|
73
|
+
expect(action).toEqual({
|
|
74
|
+
type: 'CHANGE_MARKS',
|
|
75
|
+
marks: undefined
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
it('preserves mark properties', function () {
|
|
79
|
+
var marks = [{
|
|
80
|
+
id: 1,
|
|
81
|
+
type: 'point',
|
|
82
|
+
x: 10,
|
|
83
|
+
y: 20,
|
|
84
|
+
label: 'A',
|
|
85
|
+
correctness: {
|
|
86
|
+
value: 'correct'
|
|
87
|
+
}
|
|
88
|
+
}];
|
|
89
|
+
var action = (0, _actions.changeMarks)(marks);
|
|
90
|
+
expect(action.marks[0]).toEqual(marks[0]);
|
|
91
|
+
expect(action.marks[0].correctness).toBeDefined();
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
describe('action types', function () {
|
|
95
|
+
it('has consistent action type strings', function () {
|
|
96
|
+
var addMarkAction = (0, _actions.addMark)();
|
|
97
|
+
var changeMarksAction = (0, _actions.changeMarks)([]);
|
|
98
|
+
expect((0, _typeof2["default"])(addMarkAction.type)).toBe('string');
|
|
99
|
+
expect((0, _typeof2["default"])(changeMarksAction.type)).toBe('string');
|
|
100
|
+
});
|
|
101
|
+
it('has unique action types', function () {
|
|
102
|
+
var addMarkAction = (0, _actions.addMark)();
|
|
103
|
+
var changeMarksAction = (0, _actions.changeMarks)([]);
|
|
104
|
+
expect(addMarkAction.type).not.toBe(changeMarksAction.type);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=actions.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.test.js","names":["_actions","require","describe","it","action","addMark","expect","toEqual","type","toBe","Object","keys","marks","id","changeMarks","x","y","from","to","length","undefined","label","correctness","value","toBeDefined","addMarkAction","changeMarksAction","_typeof2","not"],"sources":["../../../src/container/__tests__/actions.test.js"],"sourcesContent":["import { addMark, changeMarks } from '../actions';\n\ndescribe('container actions', () => {\n describe('addMark', () => {\n it('creates ADD_MARK action', () => {\n const action = addMark();\n expect(action).toEqual({\n type: 'ADD_MARK',\n });\n });\n\n it('creates action without parameters', () => {\n const action = addMark();\n expect(action.type).toBe('ADD_MARK');\n expect(Object.keys(action)).toEqual(['type']);\n });\n });\n\n describe('changeMarks', () => {\n it('creates CHANGE_MARKS action with marks', () => {\n const marks = [{ id: 1, type: 'point' }];\n const action = changeMarks(marks);\n\n expect(action).toEqual({\n type: 'CHANGE_MARKS',\n marks,\n });\n });\n\n it('creates action with empty marks array', () => {\n const marks = [];\n const action = changeMarks(marks);\n\n expect(action).toEqual({\n type: 'CHANGE_MARKS',\n marks: [],\n });\n });\n\n it('creates action with multiple marks', () => {\n const marks = [\n { id: 1, type: 'point', x: 1, y: 2 },\n { id: 2, type: 'line', from: { x: 0, y: 0 }, to: { x: 5, y: 5 } },\n ];\n const action = changeMarks(marks);\n\n expect(action.marks).toEqual(marks);\n expect(action.marks.length).toBe(2);\n });\n\n it('creates action with null marks', () => {\n const marks = null;\n const action = changeMarks(marks);\n\n expect(action).toEqual({\n type: 'CHANGE_MARKS',\n marks: null,\n });\n });\n\n it('creates action with undefined marks', () => {\n const marks = undefined;\n const action = changeMarks(marks);\n\n expect(action).toEqual({\n type: 'CHANGE_MARKS',\n marks: undefined,\n });\n });\n\n it('preserves mark properties', () => {\n const marks = [\n {\n id: 1,\n type: 'point',\n x: 10,\n y: 20,\n label: 'A',\n correctness: { value: 'correct' },\n },\n ];\n const action = changeMarks(marks);\n\n expect(action.marks[0]).toEqual(marks[0]);\n expect(action.marks[0].correctness).toBeDefined();\n });\n });\n\n describe('action types', () => {\n it('has consistent action type strings', () => {\n const addMarkAction = addMark();\n const changeMarksAction = changeMarks([]);\n\n expect(typeof addMarkAction.type).toBe('string');\n expect(typeof changeMarksAction.type).toBe('string');\n });\n\n it('has unique action types', () => {\n const addMarkAction = addMark();\n const changeMarksAction = changeMarks([]);\n\n expect(addMarkAction.type).not.toBe(changeMarksAction.type);\n });\n });\n});\n"],"mappings":";;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,mBAAmB,EAAE,YAAM;EAClCA,QAAQ,CAAC,SAAS,EAAE,YAAM;IACxBC,EAAE,CAAC,yBAAyB,EAAE,YAAM;MAClC,IAAMC,MAAM,GAAG,IAAAC,gBAAO,EAAC,CAAC;MACxBC,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QACrBC,IAAI,EAAE;MACR,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFL,EAAE,CAAC,mCAAmC,EAAE,YAAM;MAC5C,IAAMC,MAAM,GAAG,IAAAC,gBAAO,EAAC,CAAC;MACxBC,MAAM,CAACF,MAAM,CAACI,IAAI,CAAC,CAACC,IAAI,CAAC,UAAU,CAAC;MACpCH,MAAM,CAACI,MAAM,CAACC,IAAI,CAACP,MAAM,CAAC,CAAC,CAACG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFL,QAAQ,CAAC,aAAa,EAAE,YAAM;IAC5BC,EAAE,CAAC,wCAAwC,EAAE,YAAM;MACjD,IAAMS,KAAK,GAAG,CAAC;QAAEC,EAAE,EAAE,CAAC;QAAEL,IAAI,EAAE;MAAQ,CAAC,CAAC;MACxC,IAAMJ,MAAM,GAAG,IAAAU,oBAAW,EAACF,KAAK,CAAC;MAEjCN,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QACrBC,IAAI,EAAE,cAAc;QACpBI,KAAK,EAALA;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFT,EAAE,CAAC,uCAAuC,EAAE,YAAM;MAChD,IAAMS,KAAK,GAAG,EAAE;MAChB,IAAMR,MAAM,GAAG,IAAAU,oBAAW,EAACF,KAAK,CAAC;MAEjCN,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QACrBC,IAAI,EAAE,cAAc;QACpBI,KAAK,EAAE;MACT,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFT,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7C,IAAMS,KAAK,GAAG,CACZ;QAAEC,EAAE,EAAE,CAAC;QAAEL,IAAI,EAAE,OAAO;QAAEO,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAC,EACpC;QAAEH,EAAE,EAAE,CAAC;QAAEL,IAAI,EAAE,MAAM;QAAES,IAAI,EAAE;UAAEF,CAAC,EAAE,CAAC;UAAEC,CAAC,EAAE;QAAE,CAAC;QAAEE,EAAE,EAAE;UAAEH,CAAC,EAAE,CAAC;UAAEC,CAAC,EAAE;QAAE;MAAE,CAAC,CAClE;MACD,IAAMZ,MAAM,GAAG,IAAAU,oBAAW,EAACF,KAAK,CAAC;MAEjCN,MAAM,CAACF,MAAM,CAACQ,KAAK,CAAC,CAACL,OAAO,CAACK,KAAK,CAAC;MACnCN,MAAM,CAACF,MAAM,CAACQ,KAAK,CAACO,MAAM,CAAC,CAACV,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IAEFN,EAAE,CAAC,gCAAgC,EAAE,YAAM;MACzC,IAAMS,KAAK,GAAG,IAAI;MAClB,IAAMR,MAAM,GAAG,IAAAU,oBAAW,EAACF,KAAK,CAAC;MAEjCN,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QACrBC,IAAI,EAAE,cAAc;QACpBI,KAAK,EAAE;MACT,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFT,EAAE,CAAC,qCAAqC,EAAE,YAAM;MAC9C,IAAMS,KAAK,GAAGQ,SAAS;MACvB,IAAMhB,MAAM,GAAG,IAAAU,oBAAW,EAACF,KAAK,CAAC;MAEjCN,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC;QACrBC,IAAI,EAAE,cAAc;QACpBI,KAAK,EAAEQ;MACT,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFjB,EAAE,CAAC,2BAA2B,EAAE,YAAM;MACpC,IAAMS,KAAK,GAAG,CACZ;QACEC,EAAE,EAAE,CAAC;QACLL,IAAI,EAAE,OAAO;QACbO,CAAC,EAAE,EAAE;QACLC,CAAC,EAAE,EAAE;QACLK,KAAK,EAAE,GAAG;QACVC,WAAW,EAAE;UAAEC,KAAK,EAAE;QAAU;MAClC,CAAC,CACF;MACD,IAAMnB,MAAM,GAAG,IAAAU,oBAAW,EAACF,KAAK,CAAC;MAEjCN,MAAM,CAACF,MAAM,CAACQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAACL,OAAO,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC;MACzCN,MAAM,CAACF,MAAM,CAACQ,KAAK,CAAC,CAAC,CAAC,CAACU,WAAW,CAAC,CAACE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFtB,QAAQ,CAAC,cAAc,EAAE,YAAM;IAC7BC,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7C,IAAMsB,aAAa,GAAG,IAAApB,gBAAO,EAAC,CAAC;MAC/B,IAAMqB,iBAAiB,GAAG,IAAAZ,oBAAW,EAAC,EAAE,CAAC;MAEzCR,MAAM,KAAAqB,QAAA,aAAQF,aAAa,CAACjB,IAAI,EAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;MAChDH,MAAM,KAAAqB,QAAA,aAAQD,iBAAiB,CAAClB,IAAI,EAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;IACtD,CAAC,CAAC;IAEFN,EAAE,CAAC,yBAAyB,EAAE,YAAM;MAClC,IAAMsB,aAAa,GAAG,IAAApB,gBAAO,EAAC,CAAC;MAC/B,IAAMqB,iBAAiB,GAAG,IAAAZ,oBAAW,EAAC,EAAE,CAAC;MAEzCR,MAAM,CAACmB,aAAa,CAACjB,IAAI,CAAC,CAACoB,GAAG,CAACnB,IAAI,CAACiB,iBAAiB,CAAClB,IAAI,CAAC;IAC7D,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|