From 10d92e3dced034191dbd44db6a37aae8749d1da0 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Thu, 27 Feb 2014 03:01:07 +0400 Subject: [PATCH] Tests: Copy Sizzle.contains tests --- test/unit/selector.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/unit/selector.js b/test/unit/selector.js index 4c544dca7..df0282e08 100644 --- a/test/unit/selector.js +++ b/test/unit/selector.js @@ -220,6 +220,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"];