X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=6c670af7b2bdef9e587498254e9a5bac988a7ed5;hb=2875460f6321e17e06be94f01d727fe8ddfe5465;hp=165d8d193c92e10a8251c0c756f46c15e764a566;hpb=a27b5d0468acc5dd8cdfcbff9464546b353e3c04;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 165d8d1..6c670af 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -50,6 +50,64 @@ test("jQuery()", function() { equals( jQuery([1,2,3]).get(1), 2, "Test passing an array to the factory" ); equals( jQuery(document.body).get(0), jQuery('body').get(0), "Test passing an html node to the factory" ); +}); + +test("selector state", function() { + expect(26); + + var test; + + test = jQuery(); + equals( test.selector, "", "Empty jQuery Selector" ); + equals( test.context, document, "Empty jQuery Context" ); + + test = jQuery(document); + equals( test.selector, "", "Document Selector" ); + equals( test.context, document, "Document Context" ); + + test = jQuery(document.body); + equals( test.selector, "", "Body Selector" ); + equals( test.context, document.body, "Body Context" ); + + test = jQuery("#main"); + equals( test.selector, "#main", "#main Selector" ); + equals( test.context, document, "#main Context" ); + + test = jQuery("#main", document); + equals( test.selector, "#main", "#main Selector" ); + equals( test.context, document, "#main Context" ); + + test = jQuery("#main", document.body); + equals( test.selector, "#main", "#main Selector" ); + equals( test.context, document.body, "#main Context" ); + + test = jQuery(document.body).find("#main"); + equals( test.selector, "#main", "#main find Selector" ); + equals( test.context, document.body, "#main find Context" ); + + test = jQuery("#main").filter("div"); + equals( test.selector, "#main.filter(div)", "#main filter Selector" ); + equals( test.context, document, "#main filter Context" ); + + test = jQuery("#main").not("div"); + equals( test.selector, "#main.not(div)", "#main not Selector" ); + equals( test.context, document, "#main not Context" ); + + test = jQuery("#main").filter("div").not("div"); + equals( test.selector, "#main.filter(div).not(div)", "#main filter, not Selector" ); + equals( test.context, document, "#main filter, not Context" ); + + test = jQuery("#main").filter("div").not("div").end(); + equals( test.selector, "#main.filter(div)", "#main filter, not, end Selector" ); + equals( test.context, document, "#main filter, not, end Context" ); + + test = jQuery("#main").parent("body"); + equals( test.selector, "#main.parent(body)", "#main parent Selector" ); + equals( test.context, document, "#main parent Context" ); + + test = jQuery("#main").eq(0); + equals( test.selector, "#main.slice(0,1)", "#main eq Selector" ); + equals( test.context, document, "#main eq Context" ); }); test("browser", function() { @@ -1361,25 +1419,24 @@ test("addClass(String)", function() { test("removeClass(String) - simple", function() { expect(4); - var div = jQuery("div").addClass("test").removeClass("test"), - pass = true; - for ( var i = 0; i < div.size(); i++ ) { - if ( div.get(i).className.indexOf("test") != -1 ) pass = false; - } - ok( pass, "Remove Class" ); + + var $divs = jQuery('div'); + + $divs.addClass("test").removeClass("test"); + + ok( !$divs.is('.test'), "Remove Class" ); reset(); - var div = jQuery("div").addClass("test").addClass("foo").addClass("bar"); - div.removeClass("test").removeClass("bar").removeClass("foo"); - var pass = true; - for ( var i = 0; i < div.size(); i++ ) { - if ( div.get(i).className.match(/test|bar|foo/) ) pass = false; - } - ok( pass, "Remove multiple classes" ); + + $divs.addClass("test").addClass("foo").addClass("bar"); + $divs.removeClass("test").removeClass("bar").removeClass("foo"); + + ok( !$divs.is('.test,.bar,.foo'), "Remove multiple classes" ); reset(); - var div = jQuery("div:eq(0)").addClass("test").removeClass(""); - ok( div.is('.test'), "Empty string passed to removeClass" ); + + $divs.eq(0).addClass("test").removeClass(""); + ok( $divs.eq(0).is('.test'), "Empty string passed to removeClass" ); // using contents will get regular, text, and comment nodes var j = jQuery("#nonnodes").contents(); @@ -1684,7 +1741,7 @@ test("contents()", function() { }); test("jQuery.makeArray", function(){ - expect(15); + expect(14); equals( jQuery.makeArray(jQuery('html>*'))[0].nodeName, "HEAD", "Pass makeArray a jQuery object" ); @@ -1708,8 +1765,9 @@ test("jQuery.makeArray", function(){ ok( !!jQuery.makeArray( document.documentElement.childNodes ).slice(0,1)[0].nodeName, "Pass makeArray a childNodes array" ); - //function, is tricky as it has length + // function, is tricky as it has length equals( jQuery.makeArray( function(){ return 1;} )[0](), 1, "Pass makeArray a function" ); + //window, also has length equals( jQuery.makeArray(window)[0], window, "Pass makeArray the window" );