From 374e7fede457bae3ad494da6917bd36dd07755cd Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 27 Dec 2010 19:27:04 -0600 Subject: [PATCH] Add tests for querySelector and querySelectorAll --- test/jsdom/index.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/test/jsdom/index.js b/test/jsdom/index.js index 43a808df7b..50a842e692 100644 --- a/test/jsdom/index.js +++ b/test/jsdom/index.js @@ -141,6 +141,33 @@ exports.tests = { assertEquals("window must be augmented", true, window._augmented); assertNotNull("window must include Element", window.Element); - } + }, + + queryselector : function() { + var document = jsdom.jsdom('

Foo

Bar

'); + var div = document.body.children.item(0); + var element = document.querySelector("#main p"); + + assertSame("p and first-p", div.children.item(0), element); + + var element2 = div.querySelector("p"); + assertSame("p and first-p", div.children.item(0), element2); + }, + + queryselectorall : function() { + var document = jsdom.jsdom('

Foo

Bar

'); + var div = document.body.children.item(0); + + var elements = document.querySelectorAll("#main p"); + + assertEquals("two results", 2, elements.length); + assertSame("p and first-p", div.children.item(0), elements.item(0)); + assertSame("p and second-p", div.children.item(1), elements.item(1)); + + var elements2 = div.querySelectorAll("p"); + assertEquals("two results", 2, elements.length); + assertSame("p and first-p", div.children.item(0), elements2.item(0)); + assertSame("p and second-p", div.children.item(1), elements2.item(1)); + } };