@@ -219,6 +219,7 @@ describe('InputRange', () => {
219219 slider = inputRange . refs . sliderMax ;
220220 event = {
221221 keyCode : 37 ,
222+ preventDefault : jasmine . createSpy ( 'preventDefault' ) ,
222223 } ;
223224 } ) ;
224225
@@ -228,6 +229,44 @@ describe('InputRange', () => {
228229 expect ( inputRange . decrementValue ) . toHaveBeenCalledWith ( 'max' ) ;
229230 } ) ;
230231
232+ it ( 'should call event.preventDefault()' , ( ) => {
233+ inputRange . handleSliderKeyDown ( event , slider ) ;
234+
235+ expect ( event . preventDefault ) . toHaveBeenCalledWith ( ) ;
236+ } ) ;
237+
238+ it ( 'should not decrement value if disabled' , ( ) => {
239+ inputRange = renderComponent ( < InputRange disabled = { true } defaultValue = { 10 } onChange = { onChange } /> ) ;
240+ spyOn ( inputRange , 'decrementValue' ) ;
241+ inputRange . handleSliderKeyDown ( event , slider ) ;
242+
243+ expect ( inputRange . decrementValue ) . not . toHaveBeenCalled ( ) ;
244+ } ) ;
245+ } ) ;
246+
247+ describe ( 'when pressing down arrow key' , ( ) => {
248+ beforeEach ( ( ) => {
249+ spyOn ( inputRange , 'decrementValue' ) ;
250+
251+ slider = inputRange . refs . sliderMax ;
252+ event = {
253+ keyCode : 40 ,
254+ preventDefault : jasmine . createSpy ( 'preventDefault' ) ,
255+ } ;
256+ } ) ;
257+
258+ it ( 'should decrement value' , ( ) => {
259+ inputRange . handleSliderKeyDown ( event , slider ) ;
260+
261+ expect ( inputRange . decrementValue ) . toHaveBeenCalledWith ( 'max' ) ;
262+ } ) ;
263+
264+ it ( 'should call event.preventDefault()' , ( ) => {
265+ inputRange . handleSliderKeyDown ( event , slider ) ;
266+
267+ expect ( event . preventDefault ) . toHaveBeenCalledWith ( ) ;
268+ } ) ;
269+
231270 it ( 'should not decrement value if disabled' , ( ) => {
232271 inputRange = renderComponent ( < InputRange disabled = { true } defaultValue = { 10 } onChange = { onChange } /> ) ;
233272 spyOn ( inputRange , 'decrementValue' ) ;
@@ -244,6 +283,7 @@ describe('InputRange', () => {
244283 slider = inputRange . refs . sliderMax ;
245284 event = {
246285 keyCode : 39 ,
286+ preventDefault : jasmine . createSpy ( 'preventDefault' ) ,
247287 } ;
248288 } ) ;
249289
@@ -253,6 +293,44 @@ describe('InputRange', () => {
253293 expect ( inputRange . incrementValue ) . toHaveBeenCalledWith ( 'max' ) ;
254294 } ) ;
255295
296+ it ( 'should call event.preventDefault()' , ( ) => {
297+ inputRange . handleSliderKeyDown ( event , slider ) ;
298+
299+ expect ( event . preventDefault ) . toHaveBeenCalledWith ( ) ;
300+ } ) ;
301+
302+ it ( 'should not increment value if disabled' , ( ) => {
303+ inputRange = renderComponent ( < InputRange disabled = { true } defaultValue = { 10 } onChange = { onChange } /> ) ;
304+ spyOn ( inputRange , 'incrementValue' ) ;
305+ inputRange . handleSliderKeyDown ( event , slider ) ;
306+
307+ expect ( inputRange . incrementValue ) . not . toHaveBeenCalled ( ) ;
308+ } ) ;
309+ } ) ;
310+
311+ describe ( 'when pressing up arrow key' , ( ) => {
312+ beforeEach ( ( ) => {
313+ spyOn ( inputRange , 'incrementValue' ) ;
314+
315+ slider = inputRange . refs . sliderMax ;
316+ event = {
317+ keyCode : 38 ,
318+ preventDefault : jasmine . createSpy ( 'preventDefault' ) ,
319+ } ;
320+ } ) ;
321+
322+ it ( 'should increment value' , ( ) => {
323+ inputRange . handleSliderKeyDown ( event , slider ) ;
324+
325+ expect ( inputRange . incrementValue ) . toHaveBeenCalledWith ( 'max' ) ;
326+ } ) ;
327+
328+ it ( 'should call event.preventDefault()' , ( ) => {
329+ inputRange . handleSliderKeyDown ( event , slider ) ;
330+
331+ expect ( event . preventDefault ) . toHaveBeenCalledWith ( ) ;
332+ } ) ;
333+
256334 it ( 'should not increment value if disabled' , ( ) => {
257335 inputRange = renderComponent ( < InputRange disabled = { true } defaultValue = { 10 } onChange = { onChange } /> ) ;
258336 spyOn ( inputRange , 'incrementValue' ) ;
0 commit comments