@@ -1020,6 +1020,70 @@ $(function () {
1020
1020
$textarea . trigger ( 'click' )
1021
1021
} )
1022
1022
1023
+ QUnit . test ( 'should not stop key event propagation when dropdown is disabled' , function ( assert ) {
1024
+ assert . expect ( 1 )
1025
+ var done = assert . async ( )
1026
+
1027
+ var dropdownHTML = '<div class="tabs">' +
1028
+ '<div class="dropdown">' +
1029
+ '<a href="#" class="dropdown-toggle" id="toggle" data-toggle="dropdown" disabled>Dropdown</a>' +
1030
+ '<div class="dropdown-menu">' +
1031
+ '<a class="dropdown-item" id="item" href="#">Menu item</a>' +
1032
+ '</div>' +
1033
+ '</div>'
1034
+
1035
+ var $dropdown = $ ( dropdownHTML )
1036
+ . appendTo ( '#qunit-fixture' )
1037
+ . find ( '[data-toggle="dropdown"]' )
1038
+ . bootstrapDropdown ( )
1039
+
1040
+ var $body = $ ( 'body' )
1041
+
1042
+ $ ( document ) . on ( 'keydown' , function ( ) {
1043
+ $body . addClass ( 'event-handled' )
1044
+ } )
1045
+
1046
+ // Key escape
1047
+ $dropdown . trigger ( 'focus' ) . trigger ( $ . Event ( 'keydown' , {
1048
+ which : 27
1049
+ } ) )
1050
+
1051
+ assert . ok ( $body . hasClass ( 'event-handled' ) , 'ESC key event was propagated' )
1052
+ done ( )
1053
+ } )
1054
+
1055
+ QUnit . test ( 'should not stop ESC key event propagation when dropdown is not active' , function ( assert ) {
1056
+ assert . expect ( 1 )
1057
+ var done = assert . async ( )
1058
+
1059
+ var dropdownHTML = '<div class="tabs">' +
1060
+ '<div class="dropdown">' +
1061
+ '<a href="#" class="dropdown-toggle" id="toggle" data-toggle="dropdown">Dropdown</a>' +
1062
+ '<div class="dropdown-menu">' +
1063
+ '<a class="dropdown-item" id="item" href="#">Menu item</a>' +
1064
+ '</div>' +
1065
+ '</div>'
1066
+
1067
+ var $dropdown = $ ( dropdownHTML )
1068
+ . appendTo ( '#qunit-fixture' )
1069
+ . find ( '[data-toggle="dropdown"]' )
1070
+ . bootstrapDropdown ( )
1071
+
1072
+ var $body = $ ( 'body' )
1073
+
1074
+ $ ( document ) . on ( 'keydown' , function ( ) {
1075
+ $body . addClass ( 'event-handled' )
1076
+ } )
1077
+
1078
+ // Key escape
1079
+ $dropdown . trigger ( 'focus' ) . trigger ( $ . Event ( 'keydown' , {
1080
+ which : 27
1081
+ } ) )
1082
+
1083
+ assert . ok ( $body . hasClass ( 'event-handled' ) , 'ESC key event was propagated' )
1084
+ done ( )
1085
+ } )
1086
+
1023
1087
QUnit . test ( 'should not use Popper.js if display set to static' , function ( assert ) {
1024
1088
assert . expect ( 1 )
1025
1089
var dropdownHTML =
0 commit comments