X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=test%2Funit%2Fselector.js;h=72511eb662b7e282f661581301ad67b66af40656;hb=20827707a94c8569bcc422f71bf5b37bc55695df;hp=9be93832088aeca52d23c0f81de6019b9b813401;hpb=21dde30348fe9bcbd8db8c1b30e470a9e2f39c16;p=jquery.git diff --git a/test/unit/selector.js b/test/unit/selector.js index 9be9383..72511eb 100644 --- a/test/unit/selector.js +++ b/test/unit/selector.js @@ -1,7 +1,7 @@ module("selector"); test("element", function() { - expect(14); + expect(18); reset(); ok( jQuery("*").size() >= 30, "Select all" ); @@ -15,6 +15,11 @@ test("element", function() { t( "Element Selector", "html", ["html"] ); t( "Parent Element", "div p", ["firstp","ap","sndp","en","sap","first"] ); equals( jQuery("param", "#object1").length, 2, "Object/param as context" ); + + isSet( jQuery("p", document.getElementsByTagName("div")), q("firstp","ap","sndp","en","sap","first"), "Finding elements with a context." ); + isSet( jQuery("p", "div"), q("firstp","ap","sndp","en","sap","first"), "Finding elements with a context." ); + isSet( jQuery("p", jQuery("div")), q("firstp","ap","sndp","en","sap","first"), "Finding elements with a context." ); + isSet( jQuery("div").find("p"), q("firstp","ap","sndp","en","sap","first"), "Finding elements with a context." ); ok( jQuery("#length").length, '<input name="length"> cannot be found under IE, see #945' ); ok( jQuery("#lengthtest input").length, '<input name="length"> cannot be found under IE, see #945' ); @@ -103,12 +108,17 @@ test("id", function() { }); test("class", function() { - expect(18); + expect(22); t( "Class Selector", ".blog", ["mark","simon"] ); t( "Class Selector", ".GROUPS", ["groups"] ); t( "Class Selector", ".blog.link", ["simon"] ); t( "Class Selector w/ Element", "a.blog", ["mark","simon"] ); t( "Parent Class Selector", "p .blog", ["mark","simon"] ); + + isSet( jQuery(".blog", document.getElementsByTagName("p")), q("mark", "simon"), "Finding elements with a context." ); + isSet( jQuery(".blog", "p"), q("mark", "simon"), "Finding elements with a context." ); + isSet( jQuery(".blog", jQuery("p")), q("mark", "simon"), "Finding elements with a context." ); + isSet( jQuery("p").find(".blog"), q("mark", "simon"), "Finding elements with a context." ); t( "Class selector using UTF8", ".台北Táiběi", ["utf8class1"] ); //t( "Class selector using UTF8", ".台北", ["utf8class1","utf8class2"] ); @@ -286,7 +296,7 @@ test("attributes", function() { }); test("pseudo (:) selectors", function() { - expect(53); + expect(67); 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","liveLink1","liveLink2"] ); @@ -306,6 +316,22 @@ test("pseudo (:) selectors", function() { t( "Not - multiple", "#form option:not(:contains('Nothing'),#option1b,:selected)", ["option1c", "option1d", "option2b", "option2c", "option3d", "option3e"] ); //t( "Not - complex", "#form option:not([id^='opt']:nth-child(-n+3))", [ "option1a", "option1d", "option2d", "option3d", "option3e"] ); t( "Not - recursive", "#form option:not(:not(:selected))[id^='option3']", [ "option3b", "option3c"] ); + + t( ":not() failing interior", "p:not(.foo)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not() failing interior", "p:not(div.foo)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not() failing interior", "p:not(p.foo)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not() failing interior", "p:not(#blargh)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not() failing interior", "p:not(div#blargh)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not() failing interior", "p:not(p#blargh)", ["firstp","ap","sndp","en","sap","first"] ); + + t( ":not Multiple", "p:not(a)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not Multiple", "p:not(a, b)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not Multiple", "p:not(a, b, div)", ["firstp","ap","sndp","en","sap","first"] ); + t( ":not Multiple", "p:not(p)", [] ); + t( ":not Multiple", "p:not(a,p)", [] ); + t( ":not Multiple", "p:not(p,a)", [] ); + t( ":not Multiple", "p:not(a,p,b)", [] ); + t( ":not Multiple", ":input:not(:image,:input,:submit)", [] ); t( "nth Element", "p:nth(1)", ["ap"] ); t( "First Element", "p:first", ["firstp"] );