@@ -125,6 +125,27 @@ test('on arrow left keydown works with keyCode', () => {
125
125
raf . restore ( ) ;
126
126
} ) ;
127
127
128
+ test ( 'on arrow left keydown works with non-standard IE key propery backed with proper keyCode' , ( ) => {
129
+ const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
130
+
131
+ td . when ( mockAdapter . computeBoundingRect ( ) ) . thenReturn ( { left : 0 , width : 100 } ) ;
132
+ foundation . init ( ) ;
133
+ raf . flush ( ) ;
134
+
135
+ foundation . setValue ( 50 ) ;
136
+ raf . flush ( ) ;
137
+
138
+ rootHandlers . keydown ( createFakeEvent ( { key : 'Left' , keyCode : 37 } ) ) ;
139
+ raf . flush ( ) ;
140
+
141
+ assert . equal ( foundation . getValue ( ) , 49 ) ;
142
+ td . verify ( mockAdapter . setThumbContainerStyleProperty ( TRANSFORM_PROP , 'translateX(49px) translateX(-50%)' ) ) ;
143
+ td . verify ( mockAdapter . setTrackStyleProperty ( TRANSFORM_PROP , 'scaleX(0.49)' ) ) ;
144
+
145
+ raf . restore ( ) ;
146
+ } ) ;
147
+
148
+
128
149
test ( 'on arrow up keydown prevents the default behavior' , ( ) => {
129
150
const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
130
151
const evt = createFakeEvent ( { key : 'ArrowUp' } ) ;
@@ -202,6 +223,27 @@ test('on arrow up keydown works with keyCode', () => {
202
223
raf . restore ( ) ;
203
224
} ) ;
204
225
226
+ test ( 'on arrow up keydown works with non-standard IE key propery backed with proper keyCode' , ( ) => {
227
+ const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
228
+
229
+ td . when ( mockAdapter . computeBoundingRect ( ) ) . thenReturn ( { left : 0 , width : 100 } ) ;
230
+ foundation . init ( ) ;
231
+ raf . flush ( ) ;
232
+
233
+ foundation . setValue ( 50 ) ;
234
+ raf . flush ( ) ;
235
+
236
+ rootHandlers . keydown ( createFakeEvent ( { key : 'Up' , keyCode : 38 } ) ) ;
237
+ raf . flush ( ) ;
238
+
239
+ assert . equal ( foundation . getValue ( ) , 51 ) ;
240
+ td . verify ( mockAdapter . setThumbContainerStyleProperty ( TRANSFORM_PROP , 'translateX(51px) translateX(-50%)' ) ) ;
241
+ td . verify ( mockAdapter . setTrackStyleProperty ( TRANSFORM_PROP , 'scaleX(0.51)' ) ) ;
242
+
243
+ raf . restore ( ) ;
244
+ } ) ;
245
+
246
+
205
247
test ( 'on arrow right keydown prevents the default behavior' , ( ) => {
206
248
const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
207
249
const evt = createFakeEvent ( { key : 'ArrowRight' } ) ;
@@ -300,6 +342,27 @@ test('on arrow right keydown works with keyCode', () => {
300
342
raf . restore ( ) ;
301
343
} ) ;
302
344
345
+ test ( 'on arrow right keydown works with non-standard IE key propery backed with proper keyCode' , ( ) => {
346
+ const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
347
+
348
+ td . when ( mockAdapter . computeBoundingRect ( ) ) . thenReturn ( { left : 0 , width : 100 } ) ;
349
+ foundation . init ( ) ;
350
+ raf . flush ( ) ;
351
+
352
+ foundation . setValue ( 50 ) ;
353
+ raf . flush ( ) ;
354
+
355
+ rootHandlers . keydown ( createFakeEvent ( { key : 'Right' , keyCode : 39 } ) ) ;
356
+ raf . flush ( ) ;
357
+
358
+ assert . equal ( foundation . getValue ( ) , 51 ) ;
359
+ td . verify ( mockAdapter . setThumbContainerStyleProperty ( TRANSFORM_PROP , 'translateX(51px) translateX(-50%)' ) ) ;
360
+ td . verify ( mockAdapter . setTrackStyleProperty ( TRANSFORM_PROP , 'scaleX(0.51)' ) ) ;
361
+
362
+ raf . restore ( ) ;
363
+ } ) ;
364
+
365
+
303
366
test ( 'on arrow down keydown prevents the default behavior' , ( ) => {
304
367
const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
305
368
const evt = createFakeEvent ( { key : 'ArrowDown' } ) ;
@@ -367,7 +430,7 @@ test('on arrow down keydown works with keyCode', () => {
367
430
foundation . setValue ( 50 ) ;
368
431
raf . flush ( ) ;
369
432
370
- rootHandlers . keydown ( createFakeEvent ( { keyCode : 37 } ) ) ;
433
+ rootHandlers . keydown ( createFakeEvent ( { keyCode : 40 } ) ) ;
371
434
raf . flush ( ) ;
372
435
373
436
assert . equal ( foundation . getValue ( ) , 49 ) ;
@@ -377,6 +440,27 @@ test('on arrow down keydown works with keyCode', () => {
377
440
raf . restore ( ) ;
378
441
} ) ;
379
442
443
+ test ( 'on arrow down keydown works with non-standard IE key propery backed with proper keyCode' , ( ) => {
444
+ const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
445
+
446
+ td . when ( mockAdapter . computeBoundingRect ( ) ) . thenReturn ( { left : 0 , width : 100 } ) ;
447
+ foundation . init ( ) ;
448
+ raf . flush ( ) ;
449
+
450
+ foundation . setValue ( 50 ) ;
451
+ raf . flush ( ) ;
452
+
453
+ rootHandlers . keydown ( createFakeEvent ( { key : 'Down' , keyCode : 40 } ) ) ;
454
+ raf . flush ( ) ;
455
+
456
+ assert . equal ( foundation . getValue ( ) , 49 ) ;
457
+ td . verify ( mockAdapter . setThumbContainerStyleProperty ( TRANSFORM_PROP , 'translateX(49px) translateX(-50%)' ) ) ;
458
+ td . verify ( mockAdapter . setTrackStyleProperty ( TRANSFORM_PROP , 'scaleX(0.49)' ) ) ;
459
+
460
+ raf . restore ( ) ;
461
+ } ) ;
462
+
463
+
380
464
test ( 'on home keydown prevents default' , ( ) => {
381
465
const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
382
466
const evt = createFakeEvent ( { key : 'Home' } ) ;
@@ -546,7 +630,7 @@ test('on page up keydown increases the slider by 4 * the step value when a step
546
630
raf . restore ( ) ;
547
631
} ) ;
548
632
549
- test ( 'on page up keydown works with keycode ' , ( ) => {
633
+ test ( 'on page up keydown works with keyCode ' , ( ) => {
550
634
const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
551
635
552
636
td . when ( mockAdapter . computeBoundingRect ( ) ) . thenReturn ( { left : 0 , width : 100 } ) ;
@@ -623,7 +707,7 @@ test('on page down keydown increases the slider by 4 * the step value when a ste
623
707
raf . restore ( ) ;
624
708
} ) ;
625
709
626
- test ( 'on page down keydown works with keycode ' , ( ) => {
710
+ test ( 'on page down keydown works with keyCode ' , ( ) => {
627
711
const { foundation, mockAdapter, raf, rootHandlers} = setupTest ( ) ;
628
712
629
713
td . when ( mockAdapter . computeBoundingRect ( ) ) . thenReturn ( { left : 0 , width : 100 } ) ;
0 commit comments