Skip to content

Commit f8cef49

Browse files
committed
add tolerance to tween tests
1 parent 7d67c7a commit f8cef49

File tree

1 file changed

+17
-27
lines changed

1 file changed

+17
-27
lines changed

test/jasmine/tests/treemap_test.js

+17-27
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
var Plotly = require('@lib');
22
var Plots = require('@src/plots/plots');
33
var Lib = require('@src/lib');
4+
var Drawing = require('@src/components/drawing');
45
var constants = require('@src/traces/treemap/constants');
56

67
var d3 = require('d3');
@@ -1113,25 +1114,26 @@ describe('Test treemap tweening:', function() {
11131114
return s.replace(/\s/g, '');
11141115
}
11151116

1117+
11161118
function _assert(msg, attrName, id, exp) {
11171119
var lookup = {d: pathTweenFnLookup, transform: textTweenFnLookup}[attrName];
11181120
var fn = lookup[id];
11191121
// normalize time in [0, 1] where we'll assert the tweening fn output,
11201122
// asserting at the mid point *should be* representative enough
11211123
var t = 0.5;
11221124
var actual = trim(fn(t));
1125+
var msg2 = msg + ' | node ' + id + ' @t=' + t;
11231126

1124-
// do not assert textBB translate piece,
1125-
// which isn't tweened and has OS-dependent results
11261127
if(attrName === 'transform') {
1127-
actual = actual.split('translate').slice(0, 2).join('translate');
1128+
var fake = {attr: function() { return actual; }};
1129+
var xy = Drawing.getTranslate(fake);
1130+
expect([xy.x, xy.y]).toBeWithinArray(exp, 1, msg2);
1131+
} else {
1132+
// we could maybe to bring in:
1133+
// https://github.com/hughsk/svg-path-parser
1134+
// to make these assertions more readable
1135+
expect(actual).toBe(trim(exp), msg2);
11281136
}
1129-
1130-
// we could maybe to bring in:
1131-
// https://github.com/hughsk/svg-path-parser
1132-
// to make these assertions more readable
1133-
1134-
expect(actual).toBe(trim(exp), msg + ' | node ' + id + ' @t=' + t);
11351137
}
11361138

11371139
it('should tween sector exit/update (case: click on branch, no maxdepth)', function(done) {
@@ -1158,12 +1160,8 @@ describe('Test treemap tweening:', function() {
11581160
_assert('update b to new position', 'd', 'b',
11591161
'M221.75,136L611,136L611,361L221.75,361Z'
11601162
);
1161-
_assert('move B text to new position', 'transform', 'B',
1162-
'translate(221.75126)'
1163-
);
1164-
_assert('move b text to new position', 'transform', 'b',
1165-
'translate(224.75150)'
1166-
);
1163+
_assert('move B text to new position', 'transform', 'B', [221.75126, 0]);
1164+
_assert('move b text to new position', 'transform', 'b', [224.75150, 0]);
11671165
})
11681166
.catch(failTest)
11691167
.then(done);
@@ -1194,12 +1192,8 @@ describe('Test treemap tweening:', function() {
11941192
_assert('update b to new position', 'd', 'b',
11951193
'M221.75,136L611,136L611,361L221.75,361Z'
11961194
);
1197-
_assert('move B text to new position', 'transform', 'B',
1198-
'translate(221.75126)'
1199-
);
1200-
_assert('move b text to new position', 'transform', 'b',
1201-
'translate(224.75150)'
1202-
);
1195+
_assert('move B text to new position', 'transform', 'B', [221.75126, 0]);
1196+
_assert('move b text to new position', 'transform', 'b', [224.75150, 0]);
12031197
})
12041198
.catch(failTest)
12051199
.then(done);
@@ -1230,12 +1224,8 @@ describe('Test treemap tweening:', function() {
12301224
_assert('enter b for parent position', 'd', 'b',
12311225
'M284.375,188.5L548.375,188.5L548.375,308.5L284.375,308.5Z'
12321226
);
1233-
_assert('move B text to new position', 'transform', 'B',
1234-
'translate(220.25126)'
1235-
);
1236-
_assert('enter b text to new position', 'transform', 'b',
1237-
'translate(287.375195.5)scale(0.5)'
1238-
);
1227+
_assert('move B text to new position', 'transform', 'B', [220.25126, 0]);
1228+
_assert('enter b text to new position', 'transform', 'b', [287.375195, 5]);
12391229
})
12401230
.catch(failTest)
12411231
.then(done);

0 commit comments

Comments
 (0)