Added a fix and test for bug #978 (Appending elements into an IFrame, in IE).
[jquery.git] / src / selector / selectorTest.js
index 945455c..fea247e 100644 (file)
@@ -11,17 +11,25 @@ test("expressions - element", function() {
 });\r
 \r
 test("expressions - id", function() {\r
-       expect(8);\r
+       expect(13);\r
        t( "ID Selector", "#body", ["body"] );\r
        t( "ID Selector w/ Element", "body#body", ["body"] );\r
        t( "ID Selector w/ Element", "ul#first", [] );\r
+       t( "ID selector with existing ID descendant", "#firstp #simon1", ["simon1"] );\r
+       t( "ID selector with non-existant descendant", "#firstp #foobar", [] );\r
        \r
        t( "ID Selector, child ID present", "#form > #radio1", ["radio1"] );  // bug #267\r
        t( "ID Selector, not an ancestor ID", "#form  #first", [] );\r
        t( "ID Selector, not a child ID", "#form > #option1a", [] );\r
        \r
-       t( "All Children of ID", "#foo/*", ["sndp", "en", "sap"]  );\r
-       t( "All Children of ID with no children", "#firstUL/*", []  );\r
+       t( "All Children of ID", "#foo/*", ["sndp", "en", "sap"] );\r
+       t( "All Children of ID with no children", "#firstUL/*", [] );\r
+       \r
+       $('<a name="tName1">tName1 A</a><a name="tName2">tName2 A</a><div id="tName1">tName1 Div</div>').appendTo('#main');\r
+       ok( $("#tName1")[0].id == 'tName1', "ID selector with same value for a name attribute" );\r
+       ok( $("#tName2").length == 0, "ID selector non-existing but name attribute on an A tag" );\r
+       \r
+       t( "ID selector with non-existant ancestor", "#asdfasdf #foobar", [] ); // bug #986\r
 });\r
 \r
 \r
@@ -124,7 +132,7 @@ test("expressions - pseudo (:) selctors", function() {
 });\r
 \r
 test("expressions - basic xpath", function() {\r
-       expect(14);\r
+       expect(15);\r
        ok( jQuery.find("//*").length >= 30, "All Elements (//*)" );\r
        t( "All Div Elements", "//div", ["main","foo"] );\r
        t( "Absolute Path", "/html/body", ["body"] );\r
@@ -136,7 +144,11 @@ test("expressions - basic xpath", function() {
        t( "Attribute Exists", "//a[@title]", ["google"] );\r
        t( "Attribute Equals", "//a[@rel='bookmark']", ["simon1"] );\r
        t( "Parent Axis", "//p/..", ["main","foo"] );\r
-       t( "Sibling Axis", "//p/../", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","sndp","en","sap"] );\r
-       t( "Sibling Axis", "//p/../*", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","sndp","en","sap"] );\r
+       t( "Sibling Axis", "//p/../", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","iframe","sndp","en","sap"] );\r
+       t( "Sibling Axis", "//p/../*", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","iframe","sndp","en","sap"] );\r
        t( "Has Children", "//p[a]", ["firstp","ap","en","sap"] );\r
-});
\ No newline at end of file
+       \r
+       $("#foo").each(function() {\r
+               isSet( $("/p", this).get(), q("sndp", "en", "sap"), "Check XPath context" );\r
+       });\r
+});\r