@@ -398,4 +398,83 @@ $(function () {
398
398
399
399
strictEqual ( $template . find ( '.item' ) [ 1 ] , $template . find ( '.active' ) [ 0 ] , 'second item active' )
400
400
} )
401
+
402
+ test ( 'should go to previous item if left arrow key is pressed' , function ( ) {
403
+ var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false">'
404
+ + '<div class="carousel-inner">'
405
+ + '<div id="first" class="item">'
406
+ + '<img alt="">'
407
+ + '</div>'
408
+ + '<div id="second" class="item active">'
409
+ + '<img alt="">'
410
+ + '</div>'
411
+ + '<div id="third" class="item">'
412
+ + '<img alt="">'
413
+ + '</div>'
414
+ + '</div>'
415
+ + '</div>'
416
+ var $template = $ ( templateHTML )
417
+
418
+ $template . bootstrapCarousel ( )
419
+
420
+ strictEqual ( $template . find ( '.item' ) [ 1 ] , $template . find ( '.active' ) [ 0 ] , 'second item active' )
421
+
422
+ $template . trigger ( $ . Event ( 'keydown' , { which : 37 } ) )
423
+
424
+ strictEqual ( $template . find ( '.item' ) [ 0 ] , $template . find ( '.active' ) [ 0 ] , 'first item active' )
425
+ } )
426
+
427
+ test ( 'should go to next item if right arrow key is pressed' , function ( ) {
428
+ var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false">'
429
+ + '<div class="carousel-inner">'
430
+ + '<div id="first" class="item active">'
431
+ + '<img alt="">'
432
+ + '</div>'
433
+ + '<div id="second" class="item">'
434
+ + '<img alt="">'
435
+ + '</div>'
436
+ + '<div id="third" class="item">'
437
+ + '<img alt="">'
438
+ + '</div>'
439
+ + '</div>'
440
+ + '</div>'
441
+ var $template = $ ( templateHTML )
442
+
443
+ $template . bootstrapCarousel ( )
444
+
445
+ strictEqual ( $template . find ( '.item' ) [ 0 ] , $template . find ( '.active' ) [ 0 ] , 'first item active' )
446
+
447
+ $template . trigger ( $ . Event ( 'keydown' , { which : 39 } ) )
448
+
449
+ strictEqual ( $template . find ( '.item' ) [ 1 ] , $template . find ( '.active' ) [ 0 ] , 'second item active' )
450
+ } )
451
+
452
+ test ( 'should support disabling the keyboard navigation' , function ( ) {
453
+ var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false" data-keyboard="false">'
454
+ + '<div class="carousel-inner">'
455
+ + '<div id="first" class="item active">'
456
+ + '<img alt="">'
457
+ + '</div>'
458
+ + '<div id="second" class="item">'
459
+ + '<img alt="">'
460
+ + '</div>'
461
+ + '<div id="third" class="item">'
462
+ + '<img alt="">'
463
+ + '</div>'
464
+ + '</div>'
465
+ + '</div>'
466
+ var $template = $ ( templateHTML )
467
+
468
+ $template . bootstrapCarousel ( )
469
+
470
+ strictEqual ( $template . find ( '.item' ) [ 0 ] , $template . find ( '.active' ) [ 0 ] , 'first item active' )
471
+
472
+ $template . trigger ( $ . Event ( 'keydown' , { which : 39 } ) )
473
+
474
+ strictEqual ( $template . find ( '.item' ) [ 0 ] , $template . find ( '.active' ) [ 0 ] , 'first item still active after right arrow press' )
475
+
476
+ $template . trigger ( $ . Event ( 'keydown' , { which : 37 } ) )
477
+
478
+ strictEqual ( $template . find ( '.item' ) [ 0 ] , $template . find ( '.active' ) [ 0 ] , 'first item still active after left arrow press' )
479
+ } )
401
480
} )
0 commit comments