]> source.dussan.org Git - jquery-ui.git/commitdiff
Accordion: Renamed changestart and change events to beforeActivate and activate,...
authorScott González <scott.gonzalez@gmail.com>
Tue, 25 Jan 2011 05:05:55 +0000 (00:05 -0500)
committerScott González <scott.gonzalez@gmail.com>
Tue, 25 Jan 2011 05:05:55 +0000 (00:05 -0500)
tests/unit/accordion/accordion_deprecated.js
tests/unit/accordion/accordion_events.js
tests/unit/testsuite.js
ui/jquery.ui.accordion.js

index a0ca3f63467ee394857f61fa1b859aaad82d70fe..6f1c305627d31f0a74a828e26b3b12223e84e393 100644 (file)
@@ -221,4 +221,94 @@ test( "{ navigation: true, navigationFilter: content }", function() {
        state( ac, 0, 0, 1 );
 });
 
+
+
+
+
+module( "accordion (deprecated) - changestart/change events", accordionSetupTeardown() );
+
+test( "changestart", function() {
+       expect( 20 );
+       var ac = $( "#list1" ).accordion({
+               active: false,
+               collapsible: true
+       });
+       var headers = ac.find( ".ui-accordion-header" );
+       var content = ac.find( ".ui-accordion-content" );
+
+       ac.one( "accordionchangestart", function( event, ui ) {
+               equals( ui.oldHeader.size(), 0 );
+               equals( ui.oldContent.size(), 0 );
+               equals( ui.newHeader.size(), 1 );
+               strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
+               equals( ui.newContent.size(), 1 );
+               strictEqual( ui.newContent[ 0 ], content[ 0 ] );
+       });
+       ac.accordion( "option", "active", 0 );
+
+       ac.one( "accordionchangestart", function( event, ui ) {
+               equals( ui.oldHeader.size(), 1 );
+               strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
+               equals( ui.oldContent.size(), 1 );
+               strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
+               equals( ui.newHeader.size(), 1 );
+               strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
+               equals( ui.newContent.size(), 1 );
+               strictEqual( ui.newContent[ 0 ], content[ 1 ] );
+       });
+       headers.eq( 1 ).click();
+
+       ac.one( "accordionchangestart", function( event, ui ) {
+               equals( ui.oldHeader.size(), 1 );
+               strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
+               equals( ui.oldContent.size(), 1 );
+               strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
+               equals( ui.newHeader.size(), 0 );
+               equals( ui.newContent.size(), 0 );
+       });
+       ac.accordion( "option", "active", false );
+});
+
+test( "change", function() {
+       expect( 20 );
+       var ac = $( "#list1" ).accordion({
+               active: false,
+               collapsible: true
+       });
+       var headers = ac.find( ".ui-accordion-header" );
+       var content = ac.find( ".ui-accordion-content" );
+
+       ac.one( "accordionchange", function( event, ui ) {
+               equals( ui.oldHeader.size(), 0 );
+               equals( ui.oldContent.size(), 0 );
+               equals( ui.newHeader.size(), 1 );
+               strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
+               equals( ui.newContent.size(), 1 );
+               strictEqual( ui.newContent[ 0 ], content[ 0 ] );
+       });
+       ac.accordion( "option", "active", 0 );
+
+       ac.one( "accordionchange", function( event, ui ) {
+               equals( ui.oldHeader.size(), 1 );
+               strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
+               equals( ui.oldContent.size(), 1 );
+               strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
+               equals( ui.newHeader.size(), 1 );
+               strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
+               equals( ui.newContent.size(), 1 );
+               strictEqual( ui.newContent[ 0 ], content[ 1 ] );
+       });
+       headers.eq( 1 ).click();
+
+       ac.one( "accordionchange", function( event, ui ) {
+               equals( ui.oldHeader.size(), 1 );
+               strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
+               equals( ui.oldContent.size(), 1 );
+               strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
+               equals( ui.newHeader.size(), 0 );
+               equals( ui.newContent.size(), 0 );
+       });
+       ac.accordion( "option", "active", false );
+});
+
 })(jQuery);
index 463a277d83072b6c2a54cdd05e0e720366bc2eb4..fd739138749a3b7a5425049feabda6593b95b97d 100644 (file)
@@ -2,7 +2,7 @@
 
 module( "accordion: events", accordionSetupTeardown() );
 
-test( "changestart", function() {
+test( "beforeActivate", function() {
        expect( 20 );
        var ac = $( "#list1" ).accordion({
                active: false,
@@ -11,7 +11,7 @@ test( "changestart", function() {
        var headers = ac.find( ".ui-accordion-header" );
        var content = ac.find( ".ui-accordion-content" );
 
-       ac.one( "accordionchangestart", function( event, ui ) {
+       ac.one( "accordionbeforeactivate", function( event, ui ) {
                equals( ui.oldHeader.size(), 0 );
                equals( ui.oldContent.size(), 0 );
                equals( ui.newHeader.size(), 1 );
@@ -21,7 +21,7 @@ test( "changestart", function() {
        });
        ac.accordion( "option", "active", 0 );
 
-       ac.one( "accordionchangestart", function( event, ui ) {
+       ac.one( "accordionbeforeactivate", function( event, ui ) {
                equals( ui.oldHeader.size(), 1 );
                strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
                equals( ui.oldContent.size(), 1 );
@@ -33,7 +33,7 @@ test( "changestart", function() {
        });
        headers.eq( 1 ).click();
 
-       ac.one( "accordionchangestart", function( event, ui ) {
+       ac.one( "accordionbeforeactivate", function( event, ui ) {
                equals( ui.oldHeader.size(), 1 );
                strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
                equals( ui.oldContent.size(), 1 );
@@ -44,7 +44,7 @@ test( "changestart", function() {
        ac.accordion( "option", "active", false );
 });
 
-test( "change", function() {
+test( "activate", function() {
        expect( 20 );
        var ac = $( "#list1" ).accordion({
                active: false,
@@ -53,7 +53,7 @@ test( "change", function() {
        var headers = ac.find( ".ui-accordion-header" );
        var content = ac.find( ".ui-accordion-content" );
 
-       ac.one( "accordionchange", function( event, ui ) {
+       ac.one( "accordionactivate", function( event, ui ) {
                equals( ui.oldHeader.size(), 0 );
                equals( ui.oldContent.size(), 0 );
                equals( ui.newHeader.size(), 1 );
@@ -63,7 +63,7 @@ test( "change", function() {
        });
        ac.accordion( "option", "active", 0 );
 
-       ac.one( "accordionchange", function( event, ui ) {
+       ac.one( "accordionactivate", function( event, ui ) {
                equals( ui.oldHeader.size(), 1 );
                strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
                equals( ui.oldContent.size(), 1 );
@@ -75,7 +75,7 @@ test( "change", function() {
        });
        headers.eq( 1 ).click();
 
-       ac.one( "accordionchange", function( event, ui ) {
+       ac.one( "accordionactivate", function( event, ui ) {
                equals( ui.oldHeader.size(), 1 );
                strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
                equals( ui.oldContent.size(), 1 );
index 0033182dc6d3d6224bd3c22e1fa17b58d07631ca..9724a946f6a7c3325be710827c683ecad488d37d 100644 (file)
@@ -34,12 +34,14 @@ var privateMethods = [
 ];
 
 function testWidgetOverrides( widget ) {
-       test( "$.widget overrides", function() {
-               $.each( privateMethods, function( i, method ) {
-                       strictEqual( $.ui[ widget ].prototype[ method ],
-                               $.Widget.prototype[ method ], "should not override " + method );
+       if ( $.uiBackCompat === false ) {
+               test( "$.widget overrides", function() {
+                       $.each( privateMethods, function( i, method ) {
+                               strictEqual( $.ui[ widget ].prototype[ method ],
+                                       $.Widget.prototype[ method ], "should not override " + method );
+                       });
                });
-       });
+       }
 }
 
 function testBasicUsage( widget ) {
index d855da5f3494d30a479a9be24b54f203e7b723e4..cd6a2ce9323b262cdf4b6bd2773e755b8918a6a6 100644 (file)
@@ -381,8 +381,7 @@ $.widget( "ui.accordion", {
                        return self._completed.apply( self, arguments );
                };
 
-               // trigger changestart event
-               self._trigger( "changestart", null, self.data );
+               self._trigger( "beforeActivate", null, self.data );
 
                // count elements to animate
                self.running = toHide.size() === 0 ? toShow.size() : toHide.size();
@@ -487,7 +486,7 @@ $.widget( "ui.accordion", {
                        this.toHide.parent()[0].className = this.toHide.parent()[0].className;
                }
 
-               this._trigger( "change", null, this.data );
+               this._trigger( "activate", null, this.data );
        }
 });
 
@@ -711,6 +710,23 @@ if ( $.uiBackCompat !== false ) {
 
        // resize method
        jQuery.ui.accordion.prototype.resize = jQuery.ui.accordion.prototype.refresh;
+
+       (function( $, prototype ) {
+               var _trigger = prototype._trigger;
+               prototype._trigger = function( type, event, data ) {
+                       var ret = _trigger.apply( this, arguments );
+                       if ( !ret ) {
+                               return false;
+                       }
+
+                       if ( type === "beforeActivate" ) {
+                               ret = _trigger.call( this, "changestart", event, data );
+                       } else if ( type === "activate" ) {
+                               ret = _trigger.call( this, "change", event, data );
+                       }
+                       return ret;
+               }
+       }( jQuery, jQuery.ui.accordion.prototype ) );
 }
 
 })( jQuery );