$( "<div>" ).testWidget().testWidget( "disable" );
} );
+test( "._setOptionDisabled()", function() {
+ expect( 3 );
+
+ var method;
+ var widget;
+
+ $.widget( "ui.testWidget", {
+ _setOptionDisabled: function( value ) {
+ method( value );
+ }
+ } );
+
+ method = function() {
+ ok( false, "._setOptionDisabled() called on init when not disabled" );
+ };
+ $( "<div>" ).testWidget();
+
+ method = function( value ) {
+ strictEqual( value, true, "._setOptionDisabled called on init when disabled" );
+ };
+ widget = $( "<div>" ).testWidget( { disabled: true } );
+
+ method = function( value ) {
+ strictEqual( value, false, "._setOptionDisabled called when enabling" );
+ };
+ widget.testWidget( "enable" );
+
+ method = function( value ) {
+ strictEqual( value, true, "._setOptionDisabled called when disabling" );
+ };
+ widget.testWidget( "option", "disabled", true );
+} );
+
test( ".widget() - base", function() {
expect( 2 );
var constructor = $.widget( "ui.testWidget", {
options );
this._create();
+
+ if ( this.options.disabled ) {
+ this._setOptionDisabled( this.options.disabled );
+ }
+
this._trigger( "create", null, this._getCreateEventData() );
this._init();
},
this.options[ key ] = value;
if ( key === "disabled" ) {
- this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value );
-
- // If the widget is becoming disabled, then nothing is interactive
- if ( value ) {
- this._removeClass( this.hoverable, null, "ui-state-hover" );
- this._removeClass( this.focusable, null, "ui-state-focus" );
- }
+ this._setOptionDisabled( value );
}
return this;
}
},
+ _setOptionDisabled: function( value ) {
+ this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value );
+
+ // If the widget is becoming disabled, then nothing is interactive
+ if ( value ) {
+ this._removeClass( this.hoverable, null, "ui-state-hover" );
+ this._removeClass( this.focusable, null, "ui-state-focus" );
+ }
+ },
+
enable: function() {
return this._setOptions( { disabled: false } );
},