aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/widget/widget_core.js
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-03-28 12:37:08 -0400
committerScott González <scott.gonzalez@gmail.com>2011-03-28 12:37:08 -0400
commit78b17f9d76a552d997aececbf5f848adf906d997 (patch)
tree690266bc72dd8dcf8a73a679ef72929aadb91522 /tests/unit/widget/widget_core.js
parent6a0cdaa4954038a84cd32098359fe1ca62eb3585 (diff)
downloadjquery-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.js88
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", {