X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=316d9e4cce88a262a45371b98ced69b7d19d601f;hb=f9a584972365bda0631116ec6fe07df9b6f9c372;hp=80a93353c96bffd2eb712b3a14d1b15fb639fde3;hpb=ea7837776022fe9f2ccdf00ede30728e6f24d919;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 80a9335..316d9e4 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -53,7 +53,7 @@ test("jQuery()", function() { }); test("selector state", function() { - expect(28); + expect(30); var test; @@ -72,6 +72,10 @@ test("selector state", function() { test = jQuery("#main"); equals( test.selector, "#main", "#main Selector" ); equals( test.context, document, "#main Context" ); + + test = jQuery("#notfoundnono"); + equals( test.selector, "#notfoundnono", "#notfoundnono Selector" ); + equals( test.context, document, "#notfoundnono Context" ); test = jQuery("#main", document); equals( test.selector, "#main", "#main Selector" ); @@ -401,8 +405,8 @@ test("attr(String)", function() { equals( jQuery('#text1').attr('maxLength'), '30', 'Check for maxLength attribute' ); equals( jQuery('#area1').attr('maxLength'), '30', 'Check for maxLength attribute' ); equals( jQuery('#select2').attr('selectedIndex'), 3, 'Check for selectedIndex attribute' ); - equals( jQuery('#foo').attr('nodeName'), 'DIV', 'Check for nodeName attribute' ); - equals( jQuery('#foo').attr('tagName'), 'DIV', 'Check for tagName attribute' ); + equals( jQuery('#foo').attr('nodeName').toUpperCase(), 'DIV', 'Check for nodeName attribute' ); + equals( jQuery('#foo').attr('tagName').toUpperCase(), 'DIV', 'Check for tagName attribute' ); jQuery('').attr('href', '#5').appendTo('#main'); // using innerHTML in IE causes href attribute to be serialized to the full path equals( jQuery('#tAnchor5').attr('href'), "#5", 'Check for non-absolute href (an anchor)' ); @@ -552,22 +556,21 @@ if ( !isLocal ) { } test("attr('tabindex')", function() { - expect(5); - - // tabindex 0 - equals(jQuery('#listWithTabIndex').attr('tabindex'), 0, 'tabindex of 0'); - - // positive tabindex - equals(jQuery('#linkWithTabIndex').attr('tabindex'), 2, 'tabindex of 2'); - - // negative tabindex - equals(jQuery('#linkWithNegativeTabIndex').attr('tabindex'), -1, 'negative tabindex'); + expect(8); - // regular element without a tabindex - equals(jQuery('#divWithNoTabIndex').attr('tabindex'), undefined, 'no tabindex, not tabbable by default'); + // elements not natively tabbable + equals(jQuery('#listWithTabIndex').attr('tabindex'), 5, 'not natively tabbable, with tabindex set to 0'); + equals(jQuery('#divWithNoTabIndex').attr('tabindex'), undefined, 'not natively tabbable, no tabindex set'); + + // anchor with href + equals(jQuery('#linkWithNoTabIndex').attr('tabindex'), 0, 'anchor with href, no tabindex set'); + equals(jQuery('#linkWithTabIndex').attr('tabindex'), 2, 'anchor with href, tabindex set to 2'); + equals(jQuery('#linkWithNegativeTabIndex').attr('tabindex'), -1, 'anchor with href, tabindex set to -1'); - // link without a tabindex - equals(jQuery('#linkWithNoTabIndex').attr('tabindex'), 0, 'no tabindex, tabbable by default'); + // anchor without href + equals(jQuery('#linkWithNoHrefWithNoTabIndex').attr('tabindex'), undefined, 'anchor without href, no tabindex set'); + equals(jQuery('#linkWithNoHrefWithTabIndex').attr('tabindex'), 1, 'anchor without href, tabindex set to 2'); + equals(jQuery('#linkWithNoHrefWithNegativeTabIndex').attr('tabindex'), -1, 'anchor without href, no tabindex set'); }); test("attr('tabindex', value)", function() { @@ -779,8 +782,8 @@ test("wrap(String|Element)", function() { // Try wrapping a disconnected node j = jQuery("").wrap("
"); - equals( j[0].nodeName, "LABEL", "Element is a label" ); - equals( j[0].parentNode.nodeName, "LI", "Element has been wrapped" ); + equals( j[0].nodeName.toUpperCase(), "LABEL", "Element is a label" ); + equals( j[0].parentNode.nodeName.toUpperCase(), "LI", "Element has been wrapped" ); }); test("wrapAll(String|Element)", function() { @@ -1378,7 +1381,7 @@ test("html(String)", function() { // this is needed, or the expando added by jQuery unique will yield a different html j.find('b').removeData(); - equals( j.html().toLowerCase(), "bold", "Check node,textnode,comment with html()" ); + equals( j.html().replace(/ xmlns="[^"]+"/g, "").toLowerCase(), "bold", "Check node,textnode,comment with html()" ); jQuery("#main").html(""); jQuery("#main select").html(""); @@ -1554,7 +1557,7 @@ test("addClass(String)", function() { }); test("removeClass(String) - simple", function() { - expect(4); + expect(5); var $divs = jQuery('div'); @@ -1563,13 +1566,17 @@ test("removeClass(String) - simple", function() { ok( !$divs.is('.test'), "Remove Class" ); reset(); - + $divs.addClass("test").addClass("foo").addClass("bar"); $divs.removeClass("test").removeClass("bar").removeClass("foo"); ok( !$divs.is('.test,.bar,.foo'), "Remove multiple classes" ); reset(); + + // Make sure that a null value doesn't cause problems + $divs.eq(0).addClass("test").removeClass(null); + ok( $divs.eq(0).is('.test'), "Null value passed to removeClass" ); $divs.eq(0).addClass("test").removeClass(""); ok( $divs.eq(0).is('.test'), "Empty string passed to removeClass" ); @@ -1792,7 +1799,7 @@ test("contents()", function() { test("jQuery.makeArray", function(){ expect(15); - equals( jQuery.makeArray(jQuery('html>*'))[0].nodeName, "HEAD", "Pass makeArray a jQuery object" ); + equals( jQuery.makeArray(jQuery('html>*'))[0].nodeName.toUpperCase(), "HEAD", "Pass makeArray a jQuery object" ); equals( jQuery.makeArray(document.getElementsByName("PWD")).slice(0,1)[0].name, "PWD", "Pass makeArray a nodelist" ); @@ -1808,7 +1815,7 @@ test("jQuery.makeArray", function(){ equals( jQuery.makeArray( true )[0].constructor, Boolean, "Pass makeArray a boolean" ); - equals( jQuery.makeArray( document.createElement("div") )[0].nodeName, "DIV", "Pass makeArray a single node" ); + equals( jQuery.makeArray( document.createElement("div") )[0].nodeName.toUpperCase(), "DIV", "Pass makeArray a single node" ); equals( jQuery.makeArray( {length:2, 0:"a", 1:"b"} ).join(""), "ab", "Pass makeArray an array like map (with length)" );