X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=sidebyside;f=test%2Funit%2Fcore.js;h=6c670af7b2bdef9e587498254e9a5bac988a7ed5;hb=2875460f6321e17e06be94f01d727fe8ddfe5465;hp=002b130e1c31c732ea8cb719a6a77b0ba07ca1eb;hpb=1023cf1d72a3bfe56cbbf8ef89ad96725639e066;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 002b130..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(); @@ -1709,9 +1766,7 @@ 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 - // NOTE: Due to the conflict with Scriptaculous (http://dev.jquery.com/ticket/3248) - // We remove support for functions since jQuery 1.3 - //equals( jQuery.makeArray( function(){ return 1;} )[0](), 1, "Pass makeArray a function" ); + 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" );