11var Plotly = require ( '@lib' ) ;
22var Plots = require ( '@src/plots/plots' ) ;
33var Lib = require ( '@src/lib' ) ;
4+ var Drawing = require ( '@src/components/drawing' ) ;
45var constants = require ( '@src/traces/treemap/constants' ) ;
56
67var 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