aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/widget/widget.js
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2010-07-15 10:26:00 -0400
committerScott González <scott.gonzalez@gmail.com>2010-07-15 10:27:21 -0400
commitf24bc0fb1f63e7f5e38014d7191a4fe69d4179f0 (patch)
tree567952cea5b7b2d347c87cd1ab8d05ea8f1206f4 /tests/unit/widget/widget.js
parent06f721b74f94272baf5da96133e961f5600f5a90 (diff)
downloadjquery-ui-f24bc0fb1f63e7f5e38014d7191a4fe69d4179f0.tar.gz
jquery-ui-f24bc0fb1f63e7f5e38014d7191a4fe69d4179f0.zip
Widget: Deep extend options when creating a new plugin. Fixes #5830 - Widget: Using inheritance overwrites the base classes options.
Diffstat (limited to 'tests/unit/widget/widget.js')
-rw-r--r--tests/unit/widget/widget.js168
1 files changed, 0 insertions, 168 deletions
diff --git a/tests/unit/widget/widget.js b/tests/unit/widget/widget.js
deleted file mode 100644
index 3c870f1fe..000000000
--- a/tests/unit/widget/widget.js
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * widget unit tests
- */
-(function($) {
-
-module('widget factory', {
- teardown: function() {
- delete $.ui.testWidget;
- }
-});
-
-test('widget creation', function() {
- var myPrototype = {
- _create: function() {},
- creationTest: function() {}
- };
-
- $.widget('ui.testWidget', myPrototype);
- ok($.isFunction($.ui.testWidget), 'constructor was created');
- equals('object', typeof $.ui.testWidget.prototype, 'prototype was created');
- equals($.ui.testWidget.prototype._create, myPrototype._create, 'create function is copied over');
- equals($.ui.testWidget.prototype.creationTest, myPrototype.creationTest, 'random function is copied over');
- equals($.ui.testWidget.prototype.option, $.Widget.prototype.option, 'option method copied over from base widget');
-});
-
-test('jQuery usage', function() {
- expect(10);
-
- var shouldInit = false;
-
- $.widget('ui.testWidget', {
- getterSetterVal: 5,
- _create: function() {
- ok(shouldInit, 'init called on instantiation');
- },
- methodWithParams: function(param1, param2) {
- ok(true, 'method called via .pluginName(methodName)');
- equals(param1, 'value1', 'parameter passed via .pluginName(methodName, param)');
- equals(param2, 'value2', 'multiple parameter passed via .pluginName(methodName, param, param)');
-
- return this;
- },
- getterSetterMethod: function(val) {
- if (val) {
- this.getterSetterVal = val;
- } else {
- return this.getterSetterVal;
- }
- }
- });
-
- shouldInit = true;
- var elem = $('<div></div>').testWidget();
- shouldInit = false;
-
- var instance = elem.data('testWidget');
- equals(typeof instance, 'object', 'instance stored in .data(pluginName)');
- equals(instance.element[0], elem[0], 'element stored on widget');
- var ret = elem.testWidget('methodWithParams', 'value1', 'value2');
- equals(ret, elem, 'jQuery object returned from method call');
-
- ret = elem.testWidget('getterSetterMethod');
- equals(ret, 5, 'getter/setter can act as getter');
- ret = elem.testWidget('getterSetterMethod', 30);
- equals(ret, elem, 'getter/setter method can be chainable');
- equals(instance.getterSetterVal, 30, 'getter/setter can act as setter');
-});
-
-test('direct usage', function() {
- expect(9);
-
- var shouldInit = false;
-
- $.widget('ui.testWidget', {
- getterSetterVal: 5,
- _create: function() {
- ok(shouldInit, 'init called on instantiation');
- },
- methodWithParams: function(param1, param2) {
- ok(true, 'method called via .pluginName(methodName)');
- equals(param1, 'value1', 'parameter passed via .pluginName(methodName, param)');
- equals(param2, 'value2', 'multiple parameter passed via .pluginName(methodName, param, param)');
-
- return this;
- },
- getterSetterMethod: function(val) {
- if (val) {
- this.getterSetterVal = val;
- } else {
- return this.getterSetterVal;
- }
- }
- });
-
- var elem = $('<div></div>')[0];
-
- shouldInit = true;
- var instance = new $.ui.testWidget({}, elem);
- shouldInit = false;
-
- equals($(elem).data('testWidget'), instance, 'instance stored in .data(pluginName)');
- equals(instance.element[0], elem, 'element stored on widget');
-
- var ret = instance.methodWithParams('value1', 'value2');
- equals(ret, instance, 'plugin returned from method call');
-
- ret = instance.getterSetterMethod();
- equals(ret, 5, 'getter/setter can act as getter');
- instance.getterSetterMethod(30);
- equals(instance.getterSetterVal, 30, 'getter/setter can act as setter');
-});
-
-test('merge multiple option arguments', function() {
- expect(1);
- $.widget("ui.testWidget", {
- _create: function() {
- same(this.options, {
- disabled: false,
- option1: "value1",
- option2: "value2",
- option3: "value3",
- option4: {
- option4a: "valuea",
- option4b: "valueb"
- }
- });
- }
- });
- $("<div></div>").testWidget({
- option1: "valuex",
- option2: "valuex",
- option3: "value3",
- option4: {
- option4a: "valuex"
- }
- }, {
- option1: "value1",
- option2: "value2",
- option4: {
- option4b: "valueb"
- }
- }, {
- option4: {
- option4a: "valuea"
- }
- });
-});
-
-test(".widget() - base", function() {
- $.widget("ui.testWidget", {
- _create: function() {}
- });
- var div = $("<div></div>").testWidget()
- same(div[0], div.testWidget("widget")[0]);
-});
-
-test(".widget() - overriden", function() {
- var wrapper = $("<div></div>");
- $.widget("ui.testWidget", {
- _create: function() {},
- widget: function() {
- return wrapper;
- }
- });
- same(wrapper[0], $("<div></div>").testWidget().testWidget("widget")[0]);
-});
-
-})(jQuery);