X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=208b21c67351a55994e161c0996da48e65a7f5ee;hb=c1279895f3f33cacc08e508c2409b587c0e6a5a2;hp=30039bf92945a782839bc9f72e364a3c0a187ecf;hpb=a7cb93bee529a09056f521e6c0b760447b5cfb29;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 30039bf..208b21c 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -537,29 +537,29 @@ test("end()", function() { test("length", function() { expect(1); - equals( jQuery("p").length, 6, "Get Number of Elements Found" ); + equals( jQuery("#main p").length, 6, "Get Number of Elements Found" ); }); test("size()", function() { expect(1); - equals( jQuery("p").size(), 6, "Get Number of Elements Found" ); + equals( jQuery("#main p").size(), 6, "Get Number of Elements Found" ); }); test("get()", function() { expect(1); - same( jQuery("p").get(), q("firstp","ap","sndp","en","sap","first"), "Get All Elements" ); + same( jQuery("#main p").get(), q("firstp","ap","sndp","en","sap","first"), "Get All Elements" ); }); test("toArray()", function() { expect(1); - same( jQuery("p").toArray(), + same( jQuery("#main p").toArray(), q("firstp","ap","sndp","en","sap","first"), "Convert jQuery object to an Array" ) }) test("get(Number)", function() { expect(2); - equals( jQuery("p").get(0), document.getElementById("firstp"), "Get A Single Element" ); + equals( jQuery("#main p").get(0), document.getElementById("firstp"), "Get A Single Element" ); strictEqual( jQuery("#firstp").get(1), undefined, "Try get with index larger elements count" ); }); @@ -916,7 +916,7 @@ test("jQuery.parseJSON", function(){ test("jQuery._Deferred()", function() { - expect( 10 ); + expect( 11 ); var deferred, object, @@ -1005,6 +1005,12 @@ test("jQuery._Deferred()", function() { deferred.resolveWith( jQuery , [ document ] ).done( function( doc ) { ok( this === jQuery && arguments.length === 1 && doc === document , "Test fire context & args" ); }); + + // #8421 + deferred = jQuery._Deferred(); + deferred.resolveWith().done(function() { + ok( true, "Test resolveWith can be called with no argument" ); + }); }); test("jQuery.Deferred()", function() { @@ -1129,11 +1135,60 @@ test("jQuery.when() - joined", function() { }); }); -test("jQuery.subclass", function(){ +test("jQuery.sub() - Static Methods", function(){ + expect(18); + var Subclass = jQuery.sub(); + Subclass.extend({ + topLevelMethod: function() {return this.debug;}, + debug: false, + config: { + locale: 'en_US' + }, + setup: function(config) { + this.extend(true, this.config, config); + } + }); + Subclass.fn.extend({subClassMethod: function() { return this;}}); + + //Test Simple Subclass + ok(Subclass.topLevelMethod() === false, 'Subclass.topLevelMethod thought debug was true'); + ok(Subclass.config.locale == 'en_US', Subclass.config.locale + ' is wrong!'); + same(Subclass.config.test, undefined, 'Subclass.config.test is set incorrectly'); + equal(jQuery.ajax, Subclass.ajax, 'The subclass failed to get all top level methods'); + + //Create a SubSubclass + var SubSubclass = Subclass.sub(); + + //Make Sure the SubSubclass inherited properly + ok(SubSubclass.topLevelMethod() === false, 'SubSubclass.topLevelMethod thought debug was true'); + ok(SubSubclass.config.locale == 'en_US', SubSubclass.config.locale + ' is wrong!'); + same(SubSubclass.config.test, undefined, 'SubSubclass.config.test is set incorrectly'); + equal(jQuery.ajax, SubSubclass.ajax, 'The subsubclass failed to get all top level methods'); + + //Modify The Subclass and test the Modifications + SubSubclass.fn.extend({subSubClassMethod: function() { return this;}}); + SubSubclass.setup({locale: 'es_MX', test: 'worked'}); + SubSubclass.debug = true; + SubSubclass.ajax = function() {return false;}; + ok(SubSubclass.topLevelMethod(), 'SubSubclass.topLevelMethod thought debug was false'); + same(SubSubclass(document).subClassMethod, Subclass.fn.subClassMethod, 'Methods Differ!'); + ok(SubSubclass.config.locale == 'es_MX', SubSubclass.config.locale + ' is wrong!'); + ok(SubSubclass.config.test == 'worked', 'SubSubclass.config.test is set incorrectly'); + notEqual(jQuery.ajax, SubSubclass.ajax, 'The subsubclass failed to get all top level methods'); + + //This shows that the modifications to the SubSubClass did not bubble back up to it's superclass + ok(Subclass.topLevelMethod() === false, 'Subclass.topLevelMethod thought debug was true'); + ok(Subclass.config.locale == 'en_US', Subclass.config.locale + ' is wrong!'); + same(Subclass.config.test, undefined, 'Subclass.config.test is set incorrectly'); + same(Subclass(document).subSubClassMethod, undefined, 'subSubClassMethod set incorrectly'); + equal(jQuery.ajax, Subclass.ajax, 'The subclass failed to get all top level methods'); +}); + +test("jQuery.sub() - .fn Methods", function(){ expect(378); - var Subclass = jQuery.subclass(), - SubclassSubclass = Subclass.subclass(), + var Subclass = jQuery.sub(), + SubclassSubclass = Subclass.sub(), jQueryDocument = jQuery(document), selectors, contexts, methods, method, arg, description;