MCPcopy Index your code
hub / github.com/plotly/plotly.js / assertPos

Function assertPos

test/jasmine/tests/draw_newshape_test.js:47–89  ·  view source on GitHub ↗
(actual, expected, tolerance)

Source from the content-addressed store, hash-verified

45}
46
47function assertPos(actual, expected, tolerance) {
48 if(tolerance === undefined) tolerance = 2;
49
50 expect(typeof actual).toEqual(typeof expected);
51
52 if(typeof actual === 'string') {
53 if(expected.indexOf('_') !== -1) {
54 actual = fixDates(actual);
55 expected = fixDates(expected);
56 }
57
58 var cmd1 = parseSvgPath(actual);
59 var cmd2 = parseSvgPath(expected);
60
61 expect(cmd1.length).toEqual(cmd2.length);
62 for(var i = 0; i < cmd1.length; i++) {
63 var A = cmd1[i];
64 var B = cmd2[i];
65 expect(A.length).toEqual(B.length); // svg letters should be identical
66 expect(A[0]).toEqual(B[0]);
67 for(var k = 1; k < A.length; k++) {
68 expect(A[k]).toBeCloseTo(B[k], tolerance);
69 }
70 }
71 } else {
72 var o1 = Object.keys(actual);
73 var o2 = Object.keys(expected);
74 expect(o1.length === o2.length);
75 for(var j = 0; j < o1.length; j++) {
76 var key = o1[j];
77
78 var posA = actual[key];
79 var posB = expected[key];
80
81 if(typeof posA === 'string') {
82 posA = fixDates(posA);
83 posB = fixDates(posB);
84 }
85
86 expect(posA).toBeCloseTo(posB, tolerance);
87 }
88 }
89}
90
91function fixDates(str) {
92 // hack to conver date axes to some numbers to parse with parse-svg-path

Callers 1

Calls 1

fixDatesFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…