From 90135b27f896506776f3ce9fdbd27c9e957b924a Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rn=20Zaefferer?= Date: Tue, 19 Mar 2013 16:53:35 +0100 Subject: [PATCH] Widget tests: Use instance method. Also replace a few instances of $.data in widget implementations. --- tests/unit/autocomplete/autocomplete_core.js | 6 +-- tests/unit/dialog/dialog_events.js | 4 +- tests/unit/draggable/draggable_events.js | 2 +- tests/unit/slider/slider_options.js | 4 +- tests/unit/tabs/tabs_core.js | 6 +-- tests/unit/tabs/tabs_options.js | 4 +- tests/unit/widget/widget_core.js | 41 ++++++++++---------- ui/jquery.ui.draggable.js | 2 +- ui/jquery.ui.droppable.js | 6 +-- 9 files changed, 38 insertions(+), 37 deletions(-) diff --git a/tests/unit/autocomplete/autocomplete_core.js b/tests/unit/autocomplete/autocomplete_core.js index 845a3b19d..a9fc1143c 100644 --- a/tests/unit/autocomplete/autocomplete_core.js +++ b/tests/unit/autocomplete/autocomplete_core.js @@ -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" ); diff --git a/tests/unit/dialog/dialog_events.js b/tests/unit/dialog/dialog_events.js index 7bcd5673e..1384500f6 100644 --- a/tests/unit/dialog/dialog_events.js +++ b/tests/unit/dialog/dialog_events.js @@ -11,7 +11,7 @@ test("open", function() { var element = $("
"); 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"); diff --git a/tests/unit/draggable/draggable_events.js b/tests/unit/draggable/draggable_events.js index 199561be3..bbaaaeb15 100644 --- a/tests/unit/draggable/draggable_events.js +++ b/tests/unit/draggable/draggable_events.js @@ -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" ); }); diff --git a/tests/unit/slider/slider_options.js b/tests/unit/slider/slider_options.js index f46dbde99..3a6f55390 100644 --- a/tests/unit/slider/slider_options.js +++ b/tests/unit/slider/slider_options.js @@ -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" ); diff --git a/tests/unit/tabs/tabs_core.js b/tests/unit/tabs/tabs_core.js index 5f70206dc..cc4f0460c 100644 --- a/tests/unit/tabs/tabs_core.js +++ b/tests/unit/tabs/tabs_core.js @@ -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" ); diff --git a/tests/unit/tabs/tabs_options.js b/tests/unit/tabs/tabs_options.js index 02a2fea34..51212b8f0 100644 --- a/tests/unit/tabs/tabs_options.js +++ b/tests/unit/tabs/tabs_options.js @@ -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()" ); diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index eaea8d8be..f9a6a456d 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -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 = ""; $.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 = $( "" ); $.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 = $( "
" ); $.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 = $( "
" ).testWidget3().data( "ui-testWidget3" ); + instance = $( "
" ).testWidget3().testWidget3( "instance" ); instance.method( 5 ); delete $.ui.testWidget3; delete $.ui.testWidget2; @@ -442,7 +442,7 @@ test( "._superApply()", function() { } }); - instance = $( "
" ).testWidget3().data( "ui-testWidget3" ); + instance = $( "
" ).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 = $( "
" ).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 = $( "
" ); 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 = $( "
" ); @@ -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" ); diff --git a/ui/jquery.ui.draggable.js b/ui/jquery.ui.draggable.js index a16b022d7..e5fc069b9 100644 --- a/ui/jquery.ui.draggable.js +++ b/ui/jquery.ui.draggable.js @@ -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, diff --git a/ui/jquery.ui.droppable.js b/ui/jquery.ui.droppable.js index 34342d33d..6bc4b594d 100644 --- a/ui/jquery.ui.droppable.js +++ b/ui/jquery.ui.droppable.js @@ -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"); } } -- 2.39.5