@@ -183,6 +183,53 @@ describe('Range', () => {
183183 expect ( wrapper . instance ( ) . getSlider ( ) . state . bounds [ 1 ] ) . toBe ( 40 ) ;
184184 } ) ;
185185
186+ it ( 'should render correctly when allowCross' , ( ) => {
187+ class CustomizedRange extends React . Component { // eslint-disable-line
188+ constructor ( props ) {
189+ super ( props ) ;
190+ this . state = {
191+ value : [ 20 , 40 ] ,
192+ } ;
193+ }
194+ onChange = ( value ) => {
195+ this . setState ( {
196+ value,
197+ } ) ;
198+ }
199+ getSlider ( ) {
200+ return this . refs . slider ;
201+ }
202+ render ( ) {
203+ return < Range ref = "slider" onChange = { this . onChange } value = { this . state . value } /> ;
204+ }
205+ }
206+ const map = { } ;
207+ document . addEventListener = jest . fn ( ) . mockImplementation ( ( event , cb ) => {
208+ map [ event ] = cb ;
209+ } ) ;
210+
211+ const mockRect = ( wrapper ) => {
212+ wrapper . instance ( ) . getSlider ( ) . sliderRef . getBoundingClientRect = ( ) => ( {
213+ left : 0 ,
214+ width : 100 ,
215+ } ) ;
216+ } ;
217+
218+ const container = document . createElement ( 'div' ) ;
219+ document . body . appendChild ( container ) ;
220+
221+ const wrapper = mount ( < CustomizedRange /> , { attachTo : container } ) ;
222+ mockRect ( wrapper ) ;
223+
224+ expect ( wrapper . instance ( ) . getSlider ( ) . state . bounds ) . toEqual ( [ 20 , 40 ] ) ;
225+
226+ wrapper . find ( '.rc-slider' ) . simulate ( 'mouseDown' , { button : 0 , pageX : 0 , pageY : 0 } ) ;
227+ map . mousemove ( { type : 'mousemove' , pageX : 60 , pageY : 0 } ) ;
228+
229+ expect ( wrapper . instance ( ) . getSlider ( ) . state . bounds ) . toEqual ( [ 40 , 60 ] ) ;
230+ expect ( wrapper . find ( '.rc-slider-handle-2' ) . at ( 1 ) . getDOMNode ( ) . className ) . toContain ( 'rc-slider-handle-dragging' ) ;
231+ } ) ;
232+
186233 it ( 'should keep pushable with pushable s defalutValue when not allowCross and setState' , ( ) => {
187234 class CustomizedRange extends React . Component { // eslint-disable-line
188235 state = {
0 commit comments