Chromium Code Reviews| Index: LayoutTests/inspector/elements/elements-css-path.html |
| diff --git a/LayoutTests/inspector/elements/elements-css-path.html b/LayoutTests/inspector/elements/elements-css-path.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ae8c272226bed2473a6cd5c23ab8b318e4812b76 |
| --- /dev/null |
| +++ b/LayoutTests/inspector/elements/elements-css-path.html |
| @@ -0,0 +1,105 @@ |
| +<!DOCTYPE html> |
| +<html> |
| +<head> |
| +<meta charset="utf-8"> |
| +<script src="../../http/tests/inspector/inspector-test.js" id="script-id"></script> |
| +<script src="../../http/tests/inspector/elements-test.js"></script> |
| +<script id="test-script"> |
| +function matchingElements(selector) |
| +{ |
| + return document.querySelectorAll(selector).length; |
| +} |
| + |
| +function test() |
| +{ |
| + var nodeQueue = []; |
| + InspectorTest.expandElementsTree(enqueueNodes); |
| + |
| + function enqueueNodes() |
| + { |
| + enqueueNode("", getDocumentElement()); |
| + dumpNodeData(); |
| + } |
| + |
| + function dumpNodeData() |
| + { |
| + var entry = nodeQueue.shift(); |
| + if (!entry) { |
| + InspectorTest.completeTest(); |
| + return; |
| + } |
| + var cssPath = entry.node.cssPath(true); |
| + var result = entry.prefix + cssPath; |
| + InspectorTest.addResult(result.replace(/\n/g, "\\n")); |
| + var escapedPath = cssPath.replace(/\\/g, "\\\\"); |
|
aandrey
2013/11/20 12:49:02
do we really have to do this?
maybe we should retu
|
| + InspectorTest.evaluateInPage("matchingElements('" + escapedPath + "')", callback); |
| + |
| + function callback(result) |
| + { |
| + InspectorTest.assertEquals(1, result.value); |
| + dumpNodeData(); |
| + } |
| + } |
| + |
| + function getDocumentElement() |
| + { |
| + var map = WebInspector.domAgent._idToDOMNode; |
| + for (var id in map) { |
| + if (map[id].nodeName() === "#document") |
| + return map[id]; |
| + } |
| + |
| + return null; |
| + } |
| + |
| + function enqueueNode(prefix, node) |
| + { |
| + if (node.nodeType() === Node.ELEMENT_NODE) |
| + nodeQueue.push({prefix: prefix, node: node}); |
| + var children = node.children(); |
| + for (var i = 0; children && i < children.length; ++i) |
| + enqueueNode(prefix + " ", children[i]); |
| + } |
| + |
| +} |
| +</script> |
| +</head> |
| + |
| +<body onload="runTest()"> |
| +<p>Tests DOMNode.cssPath()</p> |
| + |
| +<article>First</article> |
| +<article>Second</article> |
| + |
| + |
| +<div id="ids"> |
| + <div>1</div> |
| + <div>2</div> |
| + <div id="inner-id">3</div> |
| + <div id='#"ridiculous".id'>4</div> |
| + <div id="'quoted.value'">5</div> |
| + <div id=".foo.bar">6</div> |
| + <div id="-">7</div> |
| + <div id="-a">8</div> |
| + <div id="-0">9</div> |
| + <div id="7">10</div> |
| + <div id="ид">11 ид</div> |
| + <p>12</p> |
| +</div> |
| + |
| +<div id="classes"> |
| + <div class="foo bar">13</div> |
| + <div class=" foo foo ">14</div> |
| + <div class=".foo">15</div> |
| + <div class=".foo.bar">16</div> |
| + <div class="-">17</div> |
| + <div class="-a">18</div> |
| + <div class="-0">19</div> |
| + <div class="7">20</div> |
| + <div class="класс">21 класс</div> |
| + <span class="bar">22</span> |
| + <div id="id-with-class" class="moo">23</div> |
| +</div> |
| + |
|
aandrey
2013/11/20 12:49:02
can you plz also add the following test:
<div id=
|
| +</body> |
| +</html> |