X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fselector%2FselectorTest.js;h=9ae223309c8222466c25711997459cbe4f209551;hb=346ceacce3fb6f83701d742ce0835d4db0ba98aa;hp=9e646ce910ae3b721df89a48938a738ca96fca1d;hpb=80a149b82831defa1a9f724801daefda0a8c5685;p=jquery.git diff --git a/src/selector/selectorTest.js b/src/selector/selectorTest.js index 9e646ce..9ae2233 100644 --- a/src/selector/selectorTest.js +++ b/src/selector/selectorTest.js @@ -3,6 +3,11 @@ module("selector"); test("element", function() { expect(9); ok( $("*").size() >= 30, "Select all" ); + var all = $("*"), good = true; + for ( var i = 0; i < all.length; i++ ) + if ( all[i].nodeType == 8 ) + good = false; + ok( good, "Select all elements, no comment nodes" ); t( "Element Selector", "p", ["firstp","ap","sndp","en","sap","first"] ); t( "Element Selector", "body", ["body"] ); t( "Element Selector", "html", ["html"] ); @@ -11,10 +16,19 @@ test("element", function() { ok( $("#length").length, '<input name="length"> cannot be found under IE, see #945' ); ok( $("#lengthtest input").length, '<input name="length"> cannot be found under IE, see #945' ); - - t( "Element Selector with underscore", "foo_bar", ["foobar"] ); }); +if ( location.protocol != "file:" ) { + test("Element Selector with underscore", function() { + expect(1); + stop(); + $.get("data/with_fries.xml", function(xml) { + ok( $("foo_bar", xml).length == 1, "Element Selector with underscore" ); + start(); + }); + }); +} + test("broken", function() { expect(7); t( "Broken Selector", "[", [] ); @@ -27,7 +41,7 @@ test("broken", function() { }); test("id", function() { - expect(24); + expect(25); t( "ID Selector", "#body", ["body"] ); t( "ID Selector w/ Element", "body#body", ["body"] ); t( "ID Selector w/ Element", "ul#first", [] ); @@ -58,6 +72,8 @@ test("id", function() { t( "ID Selector on Form with an input that has a name of 'id'", "#lengthtest", ["lengthtest"] ); t( "ID selector with non-existant ancestor", "#asdfasdf #foobar", [] ); // bug #986 + + isSet( $("body").find("div#form"), [], "ID selector within the context of another element" ); }); test("class", function() { @@ -147,7 +163,7 @@ test("attributes", function() { }); test("pseudo (:) selectors", function() { - expect(30); + expect(31); t( "First Child", "p:first-child", ["firstp","sndp"] ); t( "Last Child", "p:last-child", ["sap"] ); t( "Only Child", "a:only-child", ["simon1","anchor1","yahoo","anchor2"] ); @@ -180,10 +196,12 @@ test("pseudo (:) selectors", function() { t( "Form element :radio:checked", ":radio:checked", ["radio2"] ); t( "Form element :checkbox:checked", ":checkbox:checked", ["check1"] ); t( "Form element :checkbox:checked, :radio:checked", ":checkbox:checked, :radio:checked", ["check1", "radio2"] ); + + t( "Headers", ":header", ["header", "banner", "userAgent"] ); }); test("basic xpath", function() { - expect(16); + expect(17); ok( jQuery.find("//*").length >= 30, "All Elements (//*)" ); ok( jQuery.find("//div", q("main")[0])[0] = q("foo")[0], "All Relative (#main//div)" ); t( "All P Elements", "//p", ["firstp","ap","sndp","en","sap","first"] ); @@ -199,6 +217,7 @@ test("basic xpath", function() { t( "Sibling Axis", "//p/../", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","iframe","lengthtest","table","fx-queue","fx-tests","sndp","en","sap"] ); t( "Sibling Axis", "//p/../*", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","iframe","lengthtest","table","fx-queue","fx-tests","sndp","en","sap"] ); t( "Has Children", "//p[a]", ["firstp","ap","en","sap"] ); + t( "Has Children - :has()", "//p:has(a)", ["firstp","ap","en","sap"] ); $("#foo").each(function() { isSet( $("/p", this).get(), q("sndp", "en", "sap"), "Check XPath context" );