X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=4b01a7af371f48e501005a028236749a8773a63e;hb=10ab08de439130ead59d6cc1c31917f2869f923f;hp=80a93353c96bffd2eb712b3a14d1b15fb639fde3;hpb=ea7837776022fe9f2ccdf00ede30728e6f24d919;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 80a9335..4b01a7a 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() { @@ -612,11 +615,11 @@ test("css(String|Hash)", function() { equals( jQuery('#main').css("display"), 'none', 'Check for css property "display"'); - ok( jQuery('#foo').is(':visible'), 'Modifying CSS display: Assert element is visible'); - jQuery('#foo').css({display: 'none'}); - ok( !jQuery('#foo').is(':visible'), 'Modified CSS display: Assert element is hidden'); - jQuery('#foo').css({display: 'block'}); - ok( jQuery('#foo').is(':visible'), 'Modified CSS display: Assert element is visible'); + ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible'); + jQuery('#nothiddendiv').css({display: 'none'}); + ok( !jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is hidden'); + jQuery('#nothiddendiv').css({display: 'block'}); + ok( jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is visible'); jQuery('#floatTest').css({styleFloat: 'right'}); equals( jQuery('#floatTest').css('styleFloat'), 'right', 'Modified CSS float using "styleFloat": Assert float is right'); @@ -639,11 +642,11 @@ test("css(String|Hash)", function() { test("css(String, Object)", function() { expect(21); - ok( jQuery('#foo').is(':visible'), 'Modifying CSS display: Assert element is visible'); - jQuery('#foo').css('display', 'none'); - ok( !jQuery('#foo').is(':visible'), 'Modified CSS display: Assert element is hidden'); - jQuery('#foo').css('display', 'block'); - ok( jQuery('#foo').is(':visible'), 'Modified CSS display: Assert element is visible'); + ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible'); + jQuery('#nothiddendiv').css("display", 'none'); + ok( !jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is hidden'); + jQuery('#nothiddendiv').css("display", 'block'); + ok( jQuery('#nothiddendiv').is(':visible'), 'Modified CSS display: Assert element is visible'); jQuery('#floatTest').css('styleFloat', 'left'); equals( jQuery('#floatTest').css('styleFloat'), 'left', 'Modified CSS float using "styleFloat": Assert float is left'); @@ -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() { @@ -837,9 +840,7 @@ test("append(String|Element|Array<Element>|jQuery)", function() { equals( expected, jQuery('#sap').text(), "Check for appending of array of elements" ); reset(); - expected = document.querySelectorAll ? - "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:" : - "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo"; + expected = "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:"; jQuery('#sap').append(jQuery("#first, #yahoo")); equals( expected, jQuery('#sap').text(), "Check for appending of jQuery object" ); @@ -926,9 +927,7 @@ test("appendTo(String|Element|Array<Element>|jQuery)", function() { ok( jQuery(document.createElement("script")).appendTo("body").length, "Make sure a disconnected script can be appended." ); reset(); - expected = document.querySelectorAll ? - "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:" : - "This link has class=\"blog\": Simon Willison's WeblogTry them out:Yahoo"; + expected = "This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:"; jQuery("#first, #yahoo").appendTo('#sap'); equals( expected, jQuery('#sap').text(), "Check for appending of jQuery object" ); @@ -955,9 +954,7 @@ test("prepend(String|Element|Array<Element>|jQuery)", function() { equals( expected, jQuery('#sap').text(), "Check for prepending of array of elements" ); reset(); - expected = document.querySelectorAll ? - "YahooTry them out:This link has class=\"blog\": Simon Willison's Weblog" : - "Try them out:YahooThis link has class=\"blog\": Simon Willison's Weblog"; + expected = "YahooTry them out:This link has class=\"blog\": Simon Willison's Weblog"; jQuery('#sap').prepend(jQuery("#first, #yahoo")); equals( expected, jQuery('#sap').text(), "Check for prepending of jQuery object" ); }); @@ -1008,9 +1005,7 @@ test("before(String|Element|Array<Element>|jQuery)", function() { equals( expected, jQuery('#en').text(), "Insert array of elements before" ); reset(); - expected = document.querySelectorAll ? - "This is a normal link: diveintomarkTry them out:Yahoo" : - "This is a normal link: Try them out:diveintomarkYahoo"; + expected = "This is a normal link: diveintomarkTry them out:Yahoo"; jQuery('#yahoo').before(jQuery("#first, #mark")); equals( expected, jQuery('#en').text(), "Insert jQuery before" ); }); @@ -1032,9 +1027,7 @@ test("insertBefore(String|Element|Array<Element>|jQuery)", function() { equals( expected, jQuery('#en').text(), "Insert array of elements before" ); reset(); - expected = document.querySelectorAll ? - "This is a normal link: diveintomarkTry them out:Yahoo" : - "This is a normal link: Try them out:diveintomarkYahoo"; + expected = "This is a normal link: diveintomarkTry them out:Yahoo"; jQuery("#first, #mark").insertBefore('#yahoo'); equals( expected, jQuery('#en').text(), "Insert jQuery before" ); }); @@ -1056,9 +1049,7 @@ test("after(String|Element|Array<Element>|jQuery)", function() { equals( expected, jQuery('#en').text(), "Insert array of elements after" ); reset(); - expected = document.querySelectorAll ? - "This is a normal link: YahoodiveintomarkTry them out:" : - "This is a normal link: YahooTry them out:diveintomark"; + expected = "This is a normal link: YahoodiveintomarkTry them out:"; jQuery('#yahoo').after(jQuery("#first, #mark")); equals( expected, jQuery('#en').text(), "Insert jQuery after" ); }); @@ -1153,7 +1144,7 @@ test("find(String)", function() { }); test("clone()", function() { - expect(20); + expect(28); equals( 'This is a normal link: Yahoo', jQuery('#en').text(), 'Assert text for #en' ); var clone = jQuery('#yahoo').clone(); equals( 'Try them out:Yahoo', jQuery('#first').append(clone).text(), 'Check for clone' ); @@ -1173,6 +1164,31 @@ test("clone()", function() { // using contents will get comments regular, text, and comment nodes var cl = jQuery("#nonnodes").contents().clone(); ok( cl.length >= 2, "Check node,textnode,comment clone works (some browsers delete comments on clone)" ); + + var div = jQuery("