@@ -17,6 +17,7 @@ var rgb = color.rgb;
1717var customAssertions = require ( '../assets/custom_assertions' ) ;
1818var assertHoverLabelContent = customAssertions . assertHoverLabelContent ;
1919var checkTextTemplate = require ( '../assets/check_texttemplate' ) ;
20+ var checkTransition = require ( '../assets/check_transitions' ) ;
2021var Fx = require ( '@src/components/fx' ) ;
2122
2223var d3 = require ( 'd3' ) ;
@@ -1033,6 +1034,54 @@ describe('A funnel plot', function() {
10331034 . then ( done ) ;
10341035 } ) ;
10351036
1037+ it ( 'handle BADNUM positions' , function ( done ) {
1038+ var x1 = [ 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ] ;
1039+ var x2 = x1 ; // no transition now
1040+ var mockCopy = {
1041+ data : [
1042+ {
1043+ type : 'funnel' ,
1044+ y : [
1045+ 0 ,
1046+ 1 ,
1047+ '' ,
1048+ 'NaN' ,
1049+ NaN ,
1050+ Infinity ,
1051+ - Infinity ,
1052+ undefined ,
1053+ null ,
1054+ 9 ,
1055+ 10
1056+ ] ,
1057+ x : x1
1058+ }
1059+ ] ,
1060+ layout : {
1061+ width : 800 ,
1062+ height : 600
1063+ }
1064+ } ;
1065+
1066+ var barTests = [
1067+ [ 0 , '.point path' , 'attr' , 'd' , [ 'M245,4V34H395V4Z' , 'M251,42V73H389V42Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M306,347V378H334V347Z' , 'M313,386V416H327V386Z' ] ]
1068+ ] ;
1069+
1070+ var connectorTests = [
1071+ [ 0 , '.regions path' , 'attr' , 'd' , [ 'M245,34L251,42H389L395,34Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M0,0Z' , 'M306,378L313,386H327L334,378Z' , 'M0,0Z' ] ]
1072+ ] ;
1073+
1074+ var animateOpts = { data : [ { x : x2 } ] } ;
1075+ var transitionOpts = false ; // use default
1076+
1077+ checkTransition ( gd , mockCopy , animateOpts , transitionOpts , barTests )
1078+ . then ( function ( ) {
1079+ return checkTransition ( gd , mockCopy , animateOpts , transitionOpts , connectorTests ) ;
1080+ } )
1081+ . catch ( failTest )
1082+ . then ( done ) ;
1083+ } ) ;
1084+
10361085 it ( 'should be able to deal with transform that empty out the data coordinate arrays' , function ( done ) {
10371086 Plotly . plot ( gd , {
10381087 data : [ {
0 commit comments