@@ -1019,6 +1019,76 @@ describe('rangesliders in general', function() {
10191019 . catch ( failTest )
10201020 . then ( done ) ;
10211021 } ) ;
1022+
1023+ it ( 'should give correct rangeslider range on reversed axes' , function ( done ) {
1024+ function _assert ( msg , exp ) {
1025+ var xa = gd . _fullLayout . xaxis ;
1026+
1027+ expect ( xa . range )
1028+ . toBeCloseToArray ( exp . axRng , 1 , 'x-axis rng ' + msg ) ;
1029+ expect ( xa . rangeslider . range )
1030+ . toBeCloseToArray ( exp . rangesliderRng , 1 , 'rangeslider rng ' + msg ) ;
1031+ expect ( xa . rangeslider . _input . range )
1032+ . toBeCloseToArray ( exp . rangesliderRng , 1 , 'rangeslider input rng ' + msg ) ;
1033+ }
1034+
1035+ Plotly . plot ( gd , [ {
1036+ x : [ 1 , 2 , 1 ]
1037+ } ] , {
1038+ xaxis : { rangeslider : { visible : true } }
1039+ } )
1040+ . then ( function ( ) {
1041+ _assert ( 'base' , {
1042+ axRng : [ 0.935 , 2.06 ] ,
1043+ rangesliderRng : [ 0.935 , 2.06 ]
1044+ } ) ;
1045+
1046+ return Plotly . relayout ( gd , 'xaxis.autorange' , 'reversed' ) ;
1047+ } )
1048+ . then ( function ( ) {
1049+ _assert ( 'reversed!' , {
1050+ axRng : [ 2.06 , 0.935 ] ,
1051+ rangesliderRng : [ 2.06 , 0.935 ]
1052+ } ) ;
1053+
1054+ return Plotly . relayout ( gd , 'xaxis.range' , [ 0 , 3 ] ) ;
1055+ } )
1056+ . then ( function ( ) {
1057+ _assert ( 'set increasing rng' , {
1058+ axRng : [ 0 , 3 ] ,
1059+ rangesliderRng : [ 0 , 3 ]
1060+ } ) ;
1061+
1062+ return Plotly . relayout ( gd , 'xaxis.range' , [ 3 , 0 ] ) ;
1063+ } )
1064+ . then ( function ( ) {
1065+ _assert ( 'set reversed rng' , {
1066+ axRng : [ 3 , 0 ] ,
1067+ rangesliderRng : [ 3 , 0 ]
1068+ } ) ;
1069+
1070+ return Plotly . relayout ( gd , 'xaxis.rangeslider.range' , [ 0 , 3 ] ) ;
1071+ } )
1072+ . then ( function ( ) {
1073+ _assert ( 'reversed ax rng / increasing rangeslider rng' , {
1074+ axRng : [ 3 , 0 ] ,
1075+ rangesliderRng : [ 3 , 0 ]
1076+ } ) ;
1077+
1078+ return Plotly . relayout ( gd , {
1079+ 'xaxis.range' : [ 0 , 3 ] ,
1080+ 'xaxis.rangeslider.range' : [ 3 , 0 ]
1081+ } ) ;
1082+ } )
1083+ . then ( function ( ) {
1084+ _assert ( 'increasing ax rng / reversed rangeslider rng' , {
1085+ axRng : [ 0 , 3 ] ,
1086+ rangesliderRng : [ 0 , 3 ]
1087+ } ) ;
1088+ } )
1089+ . catch ( failTest )
1090+ . then ( done ) ;
1091+ } ) ;
10221092} ) ;
10231093
10241094function slide ( fromX , fromY , toX , toY ) {
0 commit comments