Widget tests: Use instance method. Also replace a few instances of $.data in widget implementations.

This commit is contained in:
Jörn Zaefferer 2013-03-19 16:53:35 +01:00
parent 4fce29e935
commit 90135b27f8
9 changed files with 38 additions and 37 deletions

View File

@ -99,7 +99,7 @@ test( "allow form submit on enter when menu is not active", function() {
delay: 0,
minLength: 0
});
element.data( "ui-autocomplete" )._move = function() {
element.autocomplete( "instance" )._move = function() {
didMove = true;
};
element.simulate( "keydown", { keyCode: ( isKeyUp ? $.ui.keyCode.UP : $.ui.keyCode.DOWN ) } );
@ -114,7 +114,7 @@ test( "allow form submit on enter when menu is not active", function() {
delay: 0,
minLength: 0
});
element.data( "ui-autocomplete" )._move = function() {
element.autocomplete( "instance" )._move = function() {
ok( true, "repsond to arrow" );
};
element.autocomplete( "search" );
@ -156,7 +156,7 @@ test( "ARIA", function() {
var element = $( "#autocomplete" ).autocomplete({
source: [ "java", "javascript" ]
}),
liveRegion = element.data( "ui-autocomplete" ).liveRegion;
liveRegion = element.autocomplete( "instance" ).liveRegion;
equal( liveRegion.text(), "", "Empty live region on create" );

View File

@ -11,7 +11,7 @@ test("open", function() {
var element = $("<div></div>");
element.dialog({
open: function(ev, ui) {
ok(element.data("ui-dialog")._isOpen, "interal _isOpen flag is set");
ok(element.dialog( "instance" )._isOpen, "interal _isOpen flag is set");
ok(true, "autoOpen: true fires open callback");
equal(this, element[0], "context of callback");
equal(ev.type, "dialogopen", "event type in callback");
@ -30,7 +30,7 @@ test("open", function() {
deepEqual(ui, {}, "ui hash in callback");
}
}).bind("dialogopen", function(ev, ui) {
ok(element.data("ui-dialog")._isOpen, "interal _isOpen flag is set");
ok(element.dialog( "instance" )._isOpen, "interal _isOpen flag is set");
ok(true, "dialog('open') fires open event");
equal(this, element[0], "context of event");
deepEqual(ui, {}, "ui hash in event");

View File

@ -117,7 +117,7 @@ test( "stopping the stop callback", function() {
dy: 10
});
ok( element.data("ui-draggable").helper, "the clone should not be deleted if the stop callback is stopped" );
ok( element.draggable( "instance" ).helper, "the clone should not be deleted if the stop callback is stopped" );
});

View File

@ -185,8 +185,8 @@ test( "values", function() {
});
notStrictEqual(
ranges.eq( 0 ).data( "ui-slider" ).options.values,
ranges.eq( 1 ).data( "ui-slider" ).options.values,
ranges.eq( 0 ).slider( "instance" ).options.values,
ranges.eq( 1 ).slider( "instance" ).options.values,
"multiple range sliders should not have a reference to the same options.values array"
);

View File

@ -33,7 +33,7 @@ test( "nested list", function() {
expect( 1 );
var element = $( "#tabs6" ).tabs();
equal( element.data( "ui-tabs" ).anchors.length, 2, "should contain 2 tab" );
equal( element.tabs( "instance" ).anchors.length, 2, "should contain 2 tab" );
});
test( "disconnected from DOM", function() {
@ -155,7 +155,7 @@ asyncTest( "keyboard support - LEFT, RIGHT, UP, DOWN, HOME, END, SPACE, ENTER",
panels = element.find( ".ui-tabs-panel" ),
keyCode = $.ui.keyCode;
element.data( "ui-tabs" ).delay = 50;
element.tabs( "instance" ).delay = 50;
equal( tabs.filter( ".ui-state-focus" ).length, 0, "no tabs focused on init" );
tabs.eq( 0 ).simulate( "focus" );
@ -306,7 +306,7 @@ asyncTest( "keyboard support - CTRL navigation", function() {
panels = element.find( ".ui-tabs-panel" ),
keyCode = $.ui.keyCode;
element.data( "ui-tabs" ).delay = 50;
element.tabs( "instance" ).delay = 50;
equal( tabs.filter( ".ui-state-focus" ).length, 0, "no tabs focused on init" );
tabs.eq( 0 ).simulate( "focus" );

View File

@ -314,7 +314,7 @@ test( "hide and show: false", function() {
show: false,
hide: false
}),
widget = element.data( "ui-tabs" ),
widget = element.tabs( "instance" ),
panels = element.find( ".ui-tabs-panel" );
widget._show = function() {
ok( false, "_show() called" );
@ -335,7 +335,7 @@ asyncTest( "hide and show - animation", function() {
show: "drop",
hide: 2000
}),
widget = element.data( "ui-tabs" ),
widget = element.tabs( "instance" ),
panels = element.find( ".ui-tabs-panel" );
widget._show = function( element, options, callback ) {
strictEqual( element[ 0 ], panels[ 1 ], "correct element in _show()" );

View File

@ -43,28 +43,28 @@ test( "element normalization", function() {
// workaround for core ticket #8381
this.element.appendTo( "#qunit-fixture" );
ok( this.element.is( "div" ), "generated div" );
deepEqual( this.element.data( "ui-testWidget" ), this, "instance stored in .data()" );
deepEqual( this.element.testWidget( "instance" ), this, "instance stored in .data()" );
};
$.ui.testWidget();
$.ui.testWidget.prototype.defaultElement = "<span data-test='pass'></span>";
$.ui.testWidget.prototype._create = function() {
ok( this.element.is( "span[data-test=pass]" ), "generated span with properties" );
deepEqual( this.element.data( "ui-testWidget" ), this, "instace stored in .data()" );
deepEqual( this.element.testWidget( "instance" ), this, "instace stored in .data()" );
};
$.ui.testWidget();
elem = $( "<input>" );
$.ui.testWidget.prototype._create = function() {
deepEqual( this.element[ 0 ], elem[ 0 ], "from element" );
deepEqual( elem.data( "ui-testWidget" ), this, "instace stored in .data()" );
deepEqual( elem.testWidget( "instance" ), this, "instace stored in .data()" );
};
$.ui.testWidget( {}, elem[ 0 ] );
elem = $( "<div>" );
$.ui.testWidget.prototype._create = function() {
deepEqual( this.element[ 0 ], elem[ 0 ], "from jQuery object" );
deepEqual( elem.data( "ui-testWidget" ), this, "instace stored in .data()" );
deepEqual( elem.testWidget( "instance" ), this, "instace stored in .data()" );
};
$.ui.testWidget( {}, elem );
@ -72,7 +72,7 @@ test( "element normalization", function() {
.appendTo( "#qunit-fixture" );
$.ui.testWidget.prototype._create = function() {
deepEqual( this.element[ 0 ], elem[ 0 ], "from selector" );
deepEqual( elem.data( "ui-testWidget" ), this, "instace stored in .data()" );
deepEqual( elem.testWidget( "instance" ), this, "instace stored in .data()" );
};
$.ui.testWidget( {}, "#element-normalization-selector" );
@ -133,7 +133,7 @@ test( "jQuery usage", function() {
.testWidget();
shouldCreate = false;
instance = elem.data( "ui-testWidget" );
instance = elem.testWidget( "instance" );
equal( typeof instance, "object", "instance stored in .data(pluginName)" );
equal( instance.element[0], elem[0], "element stored on widget" );
ret = elem.testWidget( "methodWithParams", "value1", "value2" );
@ -149,7 +149,7 @@ test( "jQuery usage", function() {
equal( ret.end(), elem, "stack preserved" );
elem.testWidget( "destroy" );
equal( elem.data( "ui-testWidget" ), null );
equal( elem.testWidget( "instance" ), null );
});
test( "direct usage", function() {
@ -185,7 +185,7 @@ test( "direct usage", function() {
instance = new $.ui.testWidget( {}, elem );
shouldCreate = false;
equal( $( elem ).data( "ui-testWidget" ), instance,
equal( $( elem ).testWidget( "instance" ), instance,
"instance stored in .data(pluginName)" );
equal( instance.element[ 0 ], elem, "element stored on widget" );
@ -405,7 +405,7 @@ test( "._super()", function() {
}
});
instance = $( "<div>" ).testWidget3().data( "ui-testWidget3" );
instance = $( "<div>" ).testWidget3().testWidget3( "instance" );
instance.method( 5 );
delete $.ui.testWidget3;
delete $.ui.testWidget2;
@ -442,7 +442,7 @@ test( "._superApply()", function() {
}
});
instance = $( "<div>" ).testWidget3().data( "ui-testWidget3" );
instance = $( "<div>" ).testWidget3().testWidget3( "instance" );
instance.method( 5, 10 );
delete $.ui.testWidget3;
delete $.ui.testWidget2;
@ -560,7 +560,7 @@ test( ".option() - deep option setter", function() {
$.widget( "ui.testWidget", {} );
var div = $( "<div>" ).testWidget();
function deepOption( from, to, msg ) {
div.data( "ui-testWidget" ).options.foo = from;
div.testWidget( "instance" ).options.foo = from;
$.ui.testWidget.prototype._setOption = function( key, value ) {
deepEqual( key, "foo", msg + ": key" );
deepEqual( value, to, msg + ": value" );
@ -638,7 +638,7 @@ test( ".instance()", function() {
div = $( "<div>" );
equal( div.testWidget( "instance" ), undefined );
div.testWidget();
equal( div.testWidget( "instance" ), div.data( "ui-testWidget" ) );
equal( div.testWidget( "instance" ), div.testWidget( "instance" ) );
});
test( "._on() to element (default)", function() {
@ -856,7 +856,7 @@ test( "_on() to common element", function() {
ok( true, "handler triggered" );
}
});
var widget = $( "#widget" ).testWidget().data( "ui-testWidget" );
var widget = $( "#widget" ).testWidget().testWidget( "instance" );
$( "#widget-wrapper" ).testWidget();
widget.destroy();
$( document ).trigger( "customevent" );
@ -868,7 +868,7 @@ test( "_off() - single event", function() {
$.widget( "ui.testWidget", {} );
var shouldTriggerWidget, shouldTriggerOther,
element = $( "#widget" ),
widget = element.testWidget().data( "ui-testWidget" );
widget = element.testWidget().testWidget( "instance" );
widget._on( element, { foo: function() {
ok( shouldTriggerWidget, "foo called from _on" );
}});
@ -889,7 +889,7 @@ test( "_off() - multiple events", function() {
$.widget( "ui.testWidget", {} );
var shouldTriggerWidget, shouldTriggerOther,
element = $( "#widget" ),
widget = element.testWidget().data( "ui-testWidget" );
widget = element.testWidget().testWidget( "instance" );
widget._on( element, {
foo: function() {
ok( shouldTriggerWidget, "foo called from _on" );
@ -917,7 +917,7 @@ test( "_off() - all events", function() {
$.widget( "ui.testWidget", {} );
var shouldTriggerWidget, shouldTriggerOther,
element = $( "#widget" ),
widget = element.testWidget().data( "ui-testWidget" );
widget = element.testWidget().testWidget( "instance" );
widget._on( element, {
foo: function() {
ok( shouldTriggerWidget, "foo called from _on" );
@ -1023,7 +1023,7 @@ test( "._trigger() - no event, no ui", function() {
deepEqual( ui, {}, "empty ui hash passed" );
handlers.push( this );
});
deepEqual( $( "#widget" ).data( "ui-testWidget" )._trigger( "foo" ), true,
deepEqual( $( "#widget" ).testWidget( "instance" )._trigger( "foo" ), true,
"_trigger returns true when event is not cancelled" );
deepEqual( handlers, [
$( "#widget" )[ 0 ],
@ -1051,7 +1051,7 @@ test( "._trigger() - cancelled event", function() {
ok( true, "event was triggered" );
return false;
});
deepEqual( $( "#widget" ).data( "ui-testWidget" )._trigger( "foo" ), false,
deepEqual( $( "#widget" ).testWidget( "instance" )._trigger( "foo" ), false,
"_trigger returns false when event is cancelled" );
});
@ -1066,7 +1066,7 @@ test( "._trigger() - cancelled callback", function() {
return false;
}
});
deepEqual( $( "#widget" ).data( "ui-testWidget" )._trigger( "foo" ), false,
deepEqual( $( "#widget" ).testWidget( "instance" )._trigger( "foo" ), false,
"_trigger returns false when callback returns false" );
});
@ -1400,7 +1400,7 @@ asyncTest( "_delay", function() {
});
test( "$.widget.bridge()", function() {
expect( 9 );
expect( 10 );
var instance, ret,
elem = $( "<div>" );
@ -1428,6 +1428,7 @@ test( "$.widget.bridge()", function() {
strictEqual( elem.testWidget({ foo: "bar" }), elem, "plugin returns original jQuery object" );
instance = elem.data( "testWidget" );
equal( typeof instance, "object", "instance stored in .data(pluginName)" );
equal( typeof elem.testWidget( "instance" ), "object", "also retrievable via instance method" );
ret = elem.testWidget( "method", "value1" );
equal( ret, elem, "jQuery object returned from method call" );

View File

@ -567,7 +567,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
uiSortable = $.extend({}, ui, { item: inst.element });
inst.sortables = [];
$(o.connectToSortable).each(function() {
var sortable = $.data(this, "ui-sortable");
var sortable = $( this ).sortable( "instance" );
if (sortable && !sortable.options.disabled) {
inst.sortables.push({
instance: sortable,

View File

@ -152,7 +152,7 @@ $.widget("ui.droppable", {
}
this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() {
var inst = $.data(this, "ui-droppable");
var inst = $( this ).droppable( "instance" );
if(
inst.options.greedy &&
!inst.options.disabled &&
@ -331,11 +331,11 @@ $.ui.ddmanager = {
// find droppable parents with same scope
scope = this.options.scope;
parent = this.element.parents(":data(ui-droppable)").filter(function () {
return $.data(this, "ui-droppable").options.scope === scope;
return $(this).droppable( "instance" ).options.scope === scope;
});
if (parent.length) {
parentInstance = $.data(parent[0], "ui-droppable");
parentInstance = $( parent[ 0 ] ).droppable( "instance" );
parentInstance.greedyChild = (c === "isover");
}
}