@@ -146,12 +146,18 @@ test('merge multiple option arguments', function() {
146
146
} ) ;
147
147
} ) ;
148
148
149
+ function teardownWidget ( name ) {
150
+ delete $ . fn [ name ] ;
151
+ delete $ . ui [ name ] ;
152
+ }
153
+
149
154
test ( ".widget() - base" , function ( ) {
150
155
$ . widget ( "ui.testWidget" , {
151
156
_create : function ( ) { }
152
157
} ) ;
153
158
var div = $ ( "<div></div>" ) . testWidget ( )
154
159
same ( div [ 0 ] , div . testWidget ( "widget" ) [ 0 ] ) ;
160
+ teardownWidget ( "testWidget" ) ;
155
161
} ) ;
156
162
157
163
test ( ".widget() - overriden" , function ( ) {
@@ -163,6 +169,72 @@ test(".widget() - overriden", function() {
163
169
}
164
170
} ) ;
165
171
same ( wrapper [ 0 ] , $ ( "<div></div>" ) . testWidget ( ) . testWidget ( "widget" ) [ 0 ] ) ;
172
+ teardownWidget ( "testWidget" ) ;
173
+ } ) ;
174
+
175
+ test ( "_bind to element (default)" , function ( ) {
176
+ expect ( 12 ) ;
177
+ var self ;
178
+ $ . widget ( "ui.testWidget" , {
179
+ _create : function ( ) {
180
+ self = this ;
181
+ this . _bind ( {
182
+ keyup : this . keyup ,
183
+ keydown : this . keydown
184
+ } ) ;
185
+ } ,
186
+ keyup : function ( event ) {
187
+ equals ( self , this ) ;
188
+ equals ( self . element [ 0 ] , event . currentTarget ) ;
189
+ equals ( "keyup" , event . type ) ;
190
+ } ,
191
+ keydown : function ( event ) {
192
+ equals ( self , this ) ;
193
+ equals ( self . element [ 0 ] , event . currentTarget ) ;
194
+ equals ( "keydown" , event . type ) ;
195
+ }
196
+ } ) ;
197
+ var widget = $ ( "<div></div>" ) . testWidget ( ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
198
+ widget . testWidget ( "disable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
199
+ widget . testWidget ( "enable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
200
+ widget . testWidget ( "destroy" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
201
+ teardownWidget ( "testWidget" ) ;
166
202
} ) ;
167
203
204
+ test ( "_bind to descendent" , function ( ) {
205
+ expect ( 12 ) ;
206
+ var self ;
207
+ $ . widget ( "ui.testWidget" , {
208
+ _create : function ( ) {
209
+ self = this ;
210
+ this . _bind ( this . element . find ( "strong" ) , {
211
+ keyup : this . keyup ,
212
+ keydown : this . keydown
213
+ } ) ;
214
+ } ,
215
+ keyup : function ( event ) {
216
+ equals ( self , this ) ;
217
+ equals ( self . element . find ( "strong" ) [ 0 ] , event . currentTarget ) ;
218
+ equals ( "keyup" , event . type ) ;
219
+ } ,
220
+ keydown : function ( event ) {
221
+ equals ( self , this ) ;
222
+ equals ( self . element . find ( "strong" ) [ 0 ] , event . currentTarget ) ;
223
+ equals ( "keydown" , event . type ) ;
224
+ }
225
+ } ) ;
226
+ // trigger events on both widget and descendent to ensure that only descendent receives them
227
+ var widget = $ ( "<div><p><strong>hello</strong> world</p></div>" ) . testWidget ( ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
228
+ var descendent = widget . find ( "strong" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
229
+ widget . testWidget ( "disable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
230
+ descendent . trigger ( "keyup" ) . trigger ( "keydown" ) ;
231
+ widget . testWidget ( "enable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
232
+ descendent . trigger ( "keyup" ) . trigger ( "keydown" ) ;
233
+ widget . testWidget ( "destroy" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
234
+ descendent . trigger ( "keyup" ) . trigger ( "keydown" ) ;
235
+ teardownWidget ( "testWidget" ) ;
236
+ } ) ;
237
+
238
+ // test destroy and disabled
239
+
168
240
} ) ( jQuery ) ;
0 commit comments