@@ -404,6 +404,99 @@ test( ".widget() - overriden", function() {
404
404
same ( wrapper [ 0 ] , $ ( "<div></div>" ) . testWidget ( ) . testWidget ( "widget" ) [ 0 ] ) ;
405
405
} ) ;
406
406
407
+ test ( "_bind to element (default)" , function ( ) {
408
+ expect ( 12 ) ;
409
+ var self ;
410
+ $ . widget ( "ui.testWidget" , {
411
+ _create : function ( ) {
412
+ self = this ;
413
+ this . _bind ( {
414
+ keyup : this . keyup ,
415
+ keydown : this . keydown
416
+ } ) ;
417
+ } ,
418
+ keyup : function ( event ) {
419
+ equals ( self , this ) ;
420
+ equals ( self . element [ 0 ] , event . currentTarget ) ;
421
+ equals ( "keyup" , event . type ) ;
422
+ } ,
423
+ keydown : function ( event ) {
424
+ equals ( self , this ) ;
425
+ equals ( self . element [ 0 ] , event . currentTarget ) ;
426
+ equals ( "keydown" , event . type ) ;
427
+ }
428
+ } ) ;
429
+ var widget = $ ( "<div></div>" )
430
+ . testWidget ( )
431
+ . trigger ( "keyup" )
432
+ . trigger ( "keydown" ) ;
433
+ widget
434
+ . testWidget ( "disable" )
435
+ . trigger ( "keyup" )
436
+ . trigger ( "keydown" ) ;
437
+ widget
438
+ . testWidget ( "enable" )
439
+ . trigger ( "keyup" )
440
+ . trigger ( "keydown" ) ;
441
+ widget
442
+ . testWidget ( "destroy" )
443
+ . trigger ( "keyup" )
444
+ . trigger ( "keydown" ) ;
445
+ } ) ;
446
+
447
+ test ( "_bind to descendent" , function ( ) {
448
+ expect ( 12 ) ;
449
+ var self ;
450
+ $ . widget ( "ui.testWidget" , {
451
+ _create : function ( ) {
452
+ self = this ;
453
+ this . _bind ( this . element . find ( "strong" ) , {
454
+ keyup : this . keyup ,
455
+ keydown : this . keydown
456
+ } ) ;
457
+ } ,
458
+ keyup : function ( event ) {
459
+ equals ( self , this ) ;
460
+ equals ( self . element . find ( "strong" ) [ 0 ] , event . currentTarget ) ;
461
+ equals ( "keyup" , event . type ) ;
462
+ } ,
463
+ keydown : function ( event ) {
464
+ equals ( self , this ) ;
465
+ equals ( self . element . find ( "strong" ) [ 0 ] , event . currentTarget ) ;
466
+ equals ( "keydown" , event . type ) ;
467
+ }
468
+ } ) ;
469
+ // trigger events on both widget and descendent to ensure that only descendent receives them
470
+ var widget = $ ( "<div><p><strong>hello</strong> world</p></div>" )
471
+ . testWidget ( )
472
+ . trigger ( "keyup" )
473
+ . trigger ( "keydown" ) ;
474
+ var descendent = widget . find ( "strong" )
475
+ . trigger ( "keyup" )
476
+ . trigger ( "keydown" ) ;
477
+ widget
478
+ . testWidget ( "disable" )
479
+ . trigger ( "keyup" )
480
+ . trigger ( "keydown" ) ;
481
+ descendent
482
+ . trigger ( "keyup" )
483
+ . trigger ( "keydown" ) ;
484
+ widget
485
+ . testWidget ( "enable" )
486
+ . trigger ( "keyup" )
487
+ . trigger ( "keydown" ) ;
488
+ descendent
489
+ . trigger ( "keyup" )
490
+ . trigger ( "keydown" ) ;
491
+ widget
492
+ . testWidget ( "destroy" )
493
+ . trigger ( "keyup" )
494
+ . trigger ( "keydown" ) ;
495
+ descendent
496
+ . trigger ( "keyup" )
497
+ . trigger ( "keydown" ) ;
498
+ } ) ;
499
+
407
500
test ( "._trigger() - no event, no ui" , function ( ) {
408
501
expect ( 7 ) ;
409
502
var handlers = [ ] ;
0 commit comments