@@ -2778,6 +2778,75 @@ describe('Hover on axes with rangebreaks', function() {
2778
2778
. then ( done ) ;
2779
2779
} ) ;
2780
2780
2781
+ it ( 'should work when rangebreaks are present on x-axis (reversed range)' , function ( done ) {
2782
+ Plotly . plot ( gd , [ {
2783
+ mode : 'lines' , // i.e. no autorange padding
2784
+ x : [
2785
+ '1970-01-01 00:00:00.000' ,
2786
+ '1970-01-01 00:00:00.010' ,
2787
+ '1970-01-01 00:00:00.050' ,
2788
+ '1970-01-01 00:00:00.090' ,
2789
+ '1970-01-01 00:00:00.095' ,
2790
+ '1970-01-01 00:00:00.100' ,
2791
+ '1970-01-01 00:00:00.150' ,
2792
+ '1970-01-01 00:00:00.190' ,
2793
+ '1970-01-01 00:00:00.200'
2794
+ ]
2795
+ } ] , {
2796
+ xaxis : {
2797
+ autorange : 'reversed' ,
2798
+ rangebreaks : [
2799
+ { bounds : [
2800
+ '1970-01-01 00:00:00.011' ,
2801
+ '1970-01-01 00:00:00.089'
2802
+ ] } ,
2803
+ { bounds : [
2804
+ '1970-01-01 00:00:00.101' ,
2805
+ '1970-01-01 00:00:00.189'
2806
+ ] }
2807
+ ]
2808
+ } ,
2809
+ width : 400 ,
2810
+ height : 400 ,
2811
+ margin : { l : 10 , t : 10 , b : 10 , r : 10 } ,
2812
+ hovermode : 'x'
2813
+ } )
2814
+ . then ( function ( ) {
2815
+ gd . on ( 'plotly_hover' , function ( d ) {
2816
+ eventData = d . points [ 0 ] ;
2817
+ } ) ;
2818
+ } )
2819
+ . then ( function ( ) { _hover ( 11 , 11 ) ; } )
2820
+ . then ( function ( ) {
2821
+ _assert ( 'leftmost interval' , {
2822
+ nums : '8' ,
2823
+ axis : 'Jan 1, 1970, 00:00:00.2' ,
2824
+ x : '1970-01-01 00:00:00.2' ,
2825
+ y : 8
2826
+ } ) ;
2827
+ } )
2828
+ . then ( function ( ) { _hover ( 200 , 200 ) ; } )
2829
+ . then ( function ( ) {
2830
+ _assert ( 'middle interval' , {
2831
+ nums : '4' ,
2832
+ axis : 'Jan 1, 1970, 00:00:00.095' ,
2833
+ x : '1970-01-01 00:00:00.095' ,
2834
+ y : 4
2835
+ } ) ;
2836
+ } )
2837
+ . then ( function ( ) { _hover ( 388 , 388 ) ; } )
2838
+ . then ( function ( ) {
2839
+ _assert ( 'rightmost interval' , {
2840
+ nums : '0' ,
2841
+ axis : 'Jan 1, 1970' ,
2842
+ x : '1970-01-01' ,
2843
+ y : 0
2844
+ } ) ;
2845
+ } )
2846
+ . catch ( failTest )
2847
+ . then ( done ) ;
2848
+ } ) ;
2849
+
2781
2850
it ( 'should work when rangebreaks are present on y-axis using hovermode x (case of bar and autorange reversed)' , function ( done ) {
2782
2851
Plotly . plot ( gd , [ {
2783
2852
type : 'bar' ,
@@ -2924,6 +2993,75 @@ describe('Hover on axes with rangebreaks', function() {
2924
2993
. catch ( failTest )
2925
2994
. then ( done ) ;
2926
2995
} ) ;
2996
+
2997
+ it ( 'should work when rangebreaks are present on y-axis (reversed range)' , function ( done ) {
2998
+ Plotly . plot ( gd , [ {
2999
+ mode : 'lines' , // i.e. no autorange padding
3000
+ y : [
3001
+ '1970-01-01 00:00:00.000' ,
3002
+ '1970-01-01 00:00:00.010' ,
3003
+ '1970-01-01 00:00:00.050' ,
3004
+ '1970-01-01 00:00:00.090' ,
3005
+ '1970-01-01 00:00:00.095' ,
3006
+ '1970-01-01 00:00:00.100' ,
3007
+ '1970-01-01 00:00:00.150' ,
3008
+ '1970-01-01 00:00:00.190' ,
3009
+ '1970-01-01 00:00:00.200'
3010
+ ]
3011
+ } ] , {
3012
+ yaxis : {
3013
+ autorange : 'reversed' ,
3014
+ rangebreaks : [
3015
+ { bounds : [
3016
+ '1970-01-01 00:00:00.011' ,
3017
+ '1970-01-01 00:00:00.089'
3018
+ ] } ,
3019
+ { bounds : [
3020
+ '1970-01-01 00:00:00.101' ,
3021
+ '1970-01-01 00:00:00.189'
3022
+ ] }
3023
+ ]
3024
+ } ,
3025
+ width : 400 ,
3026
+ height : 400 ,
3027
+ margin : { l : 10 , t : 10 , b : 10 , r : 10 } ,
3028
+ hovermode : 'y'
3029
+ } )
3030
+ . then ( function ( ) {
3031
+ gd . on ( 'plotly_hover' , function ( d ) {
3032
+ eventData = d . points [ 0 ] ;
3033
+ } ) ;
3034
+ } )
3035
+ . then ( function ( ) { _hover ( 388 , 30 ) ; } )
3036
+ . then ( function ( ) {
3037
+ _assert ( 'topmost interval' , {
3038
+ nums : '0' ,
3039
+ axis : 'Jan 1, 1970' ,
3040
+ x : 0 ,
3041
+ y : '1970-01-01'
3042
+ } ) ;
3043
+ } )
3044
+ . then ( function ( ) { _hover ( 200 , 200 ) ; } )
3045
+ . then ( function ( ) {
3046
+ _assert ( 'middle interval' , {
3047
+ nums : '4' ,
3048
+ axis : 'Jan 1, 1970, 00:00:00.095' ,
3049
+ x : 4 ,
3050
+ y : '1970-01-01 00:00:00.095'
3051
+ } ) ;
3052
+ } )
3053
+ . then ( function ( ) { _hover ( 11 , 370 ) ; } )
3054
+ . then ( function ( ) {
3055
+ _assert ( 'bottom interval' , {
3056
+ nums : '8' ,
3057
+ axis : 'Jan 1, 1970, 00:00:00.2' ,
3058
+ x : 8 ,
3059
+ y : '1970-01-01 00:00:00.2'
3060
+ } ) ;
3061
+ } )
3062
+ . catch ( failTest )
3063
+ . then ( done ) ;
3064
+ } ) ;
2927
3065
} ) ;
2928
3066
2929
3067
describe ( 'hover updates' , function ( ) {
0 commit comments