@@ -117,26 +117,76 @@ test("#6645: Missing element not found check in overlay", function(){
117
117
} ) ;
118
118
119
119
test ( "#6966: Escape key closes all dialogs, not the top one" , function ( ) {
120
- expect ( 8 ) ;
121
- // test with close function removing dialog
122
- d1 = $ ( '<div title="dialog 1">Dialog 1</div>' ) . dialog ( { modal : true } ) ;
120
+ expect ( 24 ) ;
121
+ // test with close function removing dialog triggered through the overlay
122
+ d1 = $ ( '<div title="dialog 1">Dialog 1</div>' ) . dialog ( { modal : true , close : function ( ) { d1 . remove ( ) ; } } ) ;
123
+ d2 = $ ( '<div title="dialog 2">Dialog 2</div>' ) . dialog ( { modal : true , close : function ( ) { d2 . remove ( ) ; } } ) ;
124
+
125
+ ok ( d1 . data ( 'dialog' ) && d1 . dialog ( 'isOpen' ) , 'first dialog is open' ) ;
126
+ ok ( d2 . data ( 'dialog' ) && d2 . dialog ( 'isOpen' ) , 'second dialog is open' ) ;
127
+
128
+ $ ( document ) . simulate ( 'keydown' , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
129
+ ok ( d1 . data ( 'dialog' ) && d1 . dialog ( 'isOpen' ) , 'first dialog still open' ) ;
130
+ ok ( ! d2 . data ( 'dialog' ) , 'second dialog is closed' ) ;
131
+
132
+ $ ( document ) . simulate ( 'keydown' , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
133
+ ok ( ! d1 . data ( 'dialog' ) , 'first dialog is closed' ) ;
134
+ ok ( ! d2 . data ( 'dialog' ) , 'second dialog is closed' ) ;
135
+
136
+ d2 . remove ( ) ;
137
+ d1 . remove ( ) ;
138
+
139
+ // test with close function removing dialog triggered through the dialog
140
+ d1 = $ ( '<div title="dialog 1">Dialog 1</div>' ) . dialog ( { modal : true , close : function ( ) { d1 . remove ( ) ; } } ) ;
123
141
d2 = $ ( '<div title="dialog 2">Dialog 2</div>' ) . dialog ( { modal : true , close : function ( ) { d2 . remove ( ) ; } } ) ;
142
+
143
+ ok ( d1 . data ( 'dialog' ) && d1 . dialog ( 'isOpen' ) , 'first dialog is open' ) ;
144
+ ok ( d2 . data ( 'dialog' ) && d2 . dialog ( 'isOpen' ) , 'second dialog is open' ) ;
145
+
146
+ d2 . simulate ( 'keydown' , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
147
+ ok ( d1 . data ( 'dialog' ) && d1 . dialog ( 'isOpen' ) , 'first dialog still open' ) ;
148
+ ok ( ! d2 . data ( 'dialog' ) , 'second dialog is closed' ) ;
149
+
150
+ d1 . simulate ( 'keydown' , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
151
+ ok ( ! d1 . data ( 'dialog' ) , 'first dialog is closed' ) ;
152
+ ok ( ! d2 . data ( 'dialog' ) , 'second dialog is closed' ) ;
153
+
154
+ d2 . remove ( ) ;
155
+ d1 . remove ( ) ;
156
+
157
+ // test without close function removing dialog
158
+ d1 = $ ( '<div title="dialog 1">Dialog 1</div>' ) . dialog ( { modal : true } ) ;
159
+ d2 = $ ( '<div title="dialog 2">Dialog 2</div>' ) . dialog ( { modal : true } ) ;
160
+
124
161
ok ( d1 . dialog ( "isOpen" ) , 'first dialog is open' ) ;
125
162
ok ( d2 . dialog ( "isOpen" ) , 'second dialog is open' ) ;
163
+
126
164
d2 . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
127
165
ok ( d1 . dialog ( "isOpen" ) , 'first dialog still open' ) ;
128
- ok ( ! d2 . data ( 'dialog' ) , 'second dialog is closed' ) ;
166
+ ok ( ! d2 . dialog ( "isOpen" ) , 'second dialog is closed' ) ;
167
+
168
+ d1 . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
169
+ ok ( ! d1 . dialog ( "isOpen" ) , 'first dialog is closed' ) ;
170
+ ok ( ! d2 . dialog ( "isOpen" ) , 'second dialog is closed' ) ;
171
+
129
172
d2 . remove ( ) ;
130
173
d1 . remove ( ) ;
131
174
132
- // test without close function removing dialog
175
+ // test without close function removing dialog triggered through the overlay
133
176
d1 = $ ( '<div title="dialog 1">Dialog 1</div>' ) . dialog ( { modal : true } ) ;
134
177
d2 = $ ( '<div title="dialog 2">Dialog 2</div>' ) . dialog ( { modal : true } ) ;
178
+
135
179
ok ( d1 . dialog ( "isOpen" ) , 'first dialog is open' ) ;
136
180
ok ( d2 . dialog ( "isOpen" ) , 'second dialog is open' ) ;
137
- d2 . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
181
+
182
+ $ ( document ) . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
138
183
ok ( d1 . dialog ( "isOpen" ) , 'first dialog still open' ) ;
139
184
ok ( ! d2 . dialog ( "isOpen" ) , 'second dialog is closed' ) ;
185
+
186
+ $ ( document ) . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
187
+ ok ( ! d1 . dialog ( "isOpen" ) , 'first dialog is closed' ) ;
188
+ ok ( ! d2 . dialog ( "isOpen" ) , 'second dialog is closed' ) ;
189
+
140
190
d2 . remove ( ) ;
141
191
d1 . remove ( ) ;
142
192
} ) ;
0 commit comments