diff options
author | Scott González <scott.gonzalez@gmail.com> | 2011-03-28 12:37:08 -0400 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2011-03-28 12:37:08 -0400 |
commit | 78b17f9d76a552d997aececbf5f848adf906d997 (patch) | |
tree | 690266bc72dd8dcf8a73a679ef72929aadb91522 /tests/unit/widget/widget_core.js | |
parent | 6a0cdaa4954038a84cd32098359fe1ca62eb3585 (diff) | |
download | jquery-ui-78b17f9d76a552d997aececbf5f848adf906d997.tar.gz jquery-ui-78b17f9d76a552d997aececbf5f848adf906d997.zip |
Widget: Moved tests out of _tickets into _core.
Diffstat (limited to 'tests/unit/widget/widget_core.js')
-rw-r--r-- | tests/unit/widget/widget_core.js | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index 34f5ef67f..5a6717560 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -288,6 +288,45 @@ test( "re-init", function() { same( actions, [ "optionfoo", "init" ], "correct methods called on re-init with options" ); }); +test( "inheritance - options", function() { + // #5830 - Widget: Using inheritance overwrites the base classes options + $.widget( "ui.testWidgetBase", { + options: { + obj: { + key1: "foo", + key2: "bar" + }, + arr: [ "testing" ] + } + }); + + $.widget( "ui.testWidgetExtension", $.ui.testWidgetBase, { + options: { + obj: { + key1: "baz" + }, + arr: [ "alpha", "beta" ] + } + }); + + same( $.ui.testWidgetBase.prototype.options.obj, { + key1: "foo", + key2: "bar" + }, "base class option object not overridden"); + same( $.ui.testWidgetBase.prototype.options.arr, [ "testing" ], + "base class option array not overridden"); + + same( $.ui.testWidgetExtension.prototype.options.obj, { + key1: "baz", + key2: "bar" + }, "extension class option object extends base"); + same( $.ui.testWidgetExtension.prototype.options.arr, [ "alpha", "beta" ], + "extension class option array overwrites base"); + + delete $.ui.testWidgetBase; + delete $.ui.testWidgetExtension; +}); + test( "._super()", function() { expect( 9 ); var instance; @@ -795,6 +834,55 @@ test( "._trigger() - provide event and ui", function() { .testWidget( "testEvent" ); }); +test( "._trigger() - array as ui", function() { + // #6795 - Widget: handle array arguments to _trigger consistently + expect( 4 ); + + $.widget( "ui.testWidget", { + _create: function() {}, + testEvent: function() { + var ui = { + foo: "bar", + baz: { + qux: 5, + quux: 20 + } + }; + var extra = { + bar: 5 + }; + this._trigger( "foo", null, [ ui, extra ] ); + } + }); + $( "#widget" ).bind( "testwidgetfoo", function( event, ui, extra ) { + same( ui, { + foo: "bar", + baz: { + qux: 5, + quux: 20 + } + }, "event: ui hash passed" ); + same( extra, { + bar: 5 + }, "event: extra argument passed" ); + }); + $( "#widget" ).testWidget({ + foo: function( event, ui, extra ) { + same( ui, { + foo: "bar", + baz: { + qux: 5, + quux: 20 + } + }, "callback: ui hash passed" ); + same( extra, { + bar: 5 + }, "callback: extra argument passed" ); + } + }) + .testWidget( "testEvent" ); +}); + test( "._trigger() - instance as element", function() { expect( 4 ); $.widget( "ui.testWidget", { |