aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Gaidarenko <markelog@gmail.com>2014-02-27 03:01:07 +0400
committerOleg Gaidarenko <markelog@gmail.com>2014-04-15 17:45:59 +0400
commitc63d1da7cd106d9d12b93154c0423b244e491c3b (patch)
tree9e0521a6f59ab0eece867ae88c1f26623b50454d
parent81aa237ee11c731ee92ad6cf7cf958e80f15d057 (diff)
downloadjquery-c63d1da7cd106d9d12b93154c0423b244e491c3b.tar.gz
jquery-c63d1da7cd106d9d12b93154c0423b244e491c3b.zip
Tests: Copy Sizzle.contains tests
-rw-r--r--test/unit/selector.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/unit/selector.js b/test/unit/selector.js
index f78f048bc..5503e3245 100644
--- a/test/unit/selector.js
+++ b/test/unit/selector.js
@@ -221,6 +221,32 @@ testIframe("selector/html5_selector", "attributes - jQuery.attr", function( jQue
t( "Improperly named form elements do not interfere with form selections (#9570)", "form[name='formName']", ["form1"] );
});
+test( "jQuery.contains", function() {
+ expect( 16 );
+
+ var container = document.getElementById("nonnodes"),
+ element = container.firstChild,
+ text = element.nextSibling,
+ nonContained = container.nextSibling,
+ detached = document.createElement("a");
+ ok( element && element.nodeType === 1, "preliminary: found element" );
+ ok( text && text.nodeType === 3, "preliminary: found text" );
+ ok( nonContained, "preliminary: found non-descendant" );
+ ok( jQuery.contains(container, element), "child" );
+ ok( jQuery.contains(container.parentNode, element), "grandchild" );
+ ok( jQuery.contains(container, text), "text child" );
+ ok( jQuery.contains(container.parentNode, text), "text grandchild" );
+ ok( !jQuery.contains(container, container), "self" );
+ ok( !jQuery.contains(element, container), "parent" );
+ ok( !jQuery.contains(container, nonContained), "non-descendant" );
+ ok( !jQuery.contains(container, document), "document" );
+ ok( !jQuery.contains(container, document.documentElement), "documentElement (negative)" );
+ ok( !jQuery.contains(container, null), "Passing null does not throw an error" );
+ ok( jQuery.contains(document, document.documentElement), "documentElement (positive)" );
+ ok( jQuery.contains(document, element), "document container (positive)" );
+ ok( !jQuery.contains(document, detached), "document container (negative)" );
+});
+
testIframe("selector/sizzle_cache", "Sizzle cache collides with multiple Sizzles on a page", function( jQuery, window, document ) {
var $cached = window["$cached"];