@@ -53,6 +53,13 @@ describe('Range', () => {
5353 }
5454 }
5555
56+ function doMouseDrag ( end : number ) {
57+ const mouseMove = createEvent . mouseMove ( document ) ;
58+ ( mouseMove as any ) . pageX = end ;
59+ ( mouseMove as any ) . pageY = end ;
60+ fireEvent ( document , mouseMove ) ;
61+ }
62+
5663 function doMouseMove (
5764 container : HTMLElement ,
5865 start : number ,
@@ -62,10 +69,7 @@ describe('Range', () => {
6269 doMouseDown ( container , start , element ) ;
6370
6471 // Drag
65- const mouseMove = createEvent . mouseMove ( document ) ;
66- ( mouseMove as any ) . pageX = end ;
67- ( mouseMove as any ) . pageY = end ;
68- fireEvent ( document , mouseMove ) ;
72+ doMouseDrag ( end ) ;
6973 }
7074
7175 function doTouchMove (
@@ -695,6 +699,31 @@ describe('Range', () => {
695699 expect ( onChangeComplete ) . toHaveBeenCalledWith ( [ 50 , 100 ] ) ;
696700 } ) ;
697701
702+ it ( 'out and back' , ( ) => {
703+ const onChange = jest . fn ( ) ;
704+ const onChangeComplete = jest . fn ( ) ;
705+ const { container } = render (
706+ < Slider
707+ onChange = { onChange }
708+ onChangeComplete = { onChangeComplete }
709+ min = { 0 }
710+ max = { 100 }
711+ defaultValue = { [ 0 , 50 ] }
712+ range = { { editable : true } }
713+ /> ,
714+ ) ;
715+
716+ doMouseMove ( container , 0 , 1000 ) ;
717+ expect ( onChange ) . toHaveBeenCalledWith ( [ 50 ] ) ;
718+
719+ doMouseDrag ( 0 ) ;
720+ expect ( onChange ) . toHaveBeenCalledWith ( [ 0 , 50 ] ) ;
721+
722+ // Fire mouse up
723+ fireEvent . mouseUp ( container . querySelector ( '.rc-slider-handle' ) ) ;
724+ expect ( onChangeComplete ) . toHaveBeenCalledWith ( [ 0 , 50 ] ) ;
725+ } ) ;
726+
698727 it ( 'controlled' , ( ) => {
699728 const onChange = jest . fn ( ) ;
700729 const onChangeComplete = jest . fn ( ) ;
0 commit comments