Source/WebCore: Moved markerTextForListItem from TestRunner to Internals
[WebKit-https.git] / LayoutTests / fast / lists / resources / dump-list.js
1 function indent(depth)
2 {
3     var ret = new String();
4     for (var i = 0; i < depth; ++i)
5         ret += "-> ";
6     return ret + " ";
7 }
8
9 function dumpList(list)
10 {
11     return processList(list, dumpListItemAsHTML, 0);
12 }
13
14 function filterListsWithReplacement(lists, processListItemFunction)
15 {
16     processListItemFunction = processListItemFunction || dumpListItemAsHTML;
17     for (var i = 0; i < lists.length; ++i) {
18         var parentNode = lists[i].parentNode;
19         var replacementNode = document.createElement("div");
20         var result = processList(lists[i], processListItemFunction, 0);
21         replacementNode.innerHTML = result;
22         parentNode.replaceChild(replacementNode, lists[i]);
23     }
24 }
25
26 function processList(element, processListItemFunction, depth)
27 {
28     var result = "";
29     for (var child = element.firstElementChild; child; child = child.nextElementSibling) {
30         result += processListItemFunction(child, depth);
31         result += processList(child, processListItemFunction, depth + 1);
32     }
33     return result;
34 }
35
36 function dumpListItemAsHTML(listItemElement, depth)
37 {
38     var marker = internals.markerTextForListItem(listItemElement);
39     return marker ? indent(depth) + ' ' + marker + ' ' + listItemElement.innerText.trim() + '<br/>' : '';
40 }
41
42 function testListItemMarkerEqualsListItemText(listItemElement, depth)
43 {
44     return testListItemMarkerEquals(internals.markerTextForListItem(listItemElement), listItemElement.innerText.trim());
45 }
46
47 function testListItemMarkerEquals(actualMarkerText, expectedMarkerText)
48 {
49     if (actualMarkerText === expectedMarkerText)
50         return '<span><span class="pass">PASS</span> list marker is ' + expectedMarkerText + '.</span><br/>';
51     return '<span><span class="fail">FAIL</span> list marker should be ' + expectedMarkerText + '. Was ' + actualMarkerText + '.</span><br/>';
52 }