[Webkit-unassigned] [Bug 16746] New: Acid3 expects different traversal order from DOMIterator
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Jan 5 14:06:34 PST 2008
http://bugs.webkit.org/show_bug.cgi?id=16746
Summary: Acid3 expects different traversal order from DOMIterator
Product: WebKit
Version: 525+ (Nightly build)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: NEW
Keywords: NeedsReduction
Severity: Normal
Priority: P2
Component: XML DOM
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: eric at webkit.org
Acid3 expects different traversal order from DOMIterator
I expect that we're adding a text nod or something. We'll need to reduce:
function () {
// test 8: ignoring whitespace text nodes with node iterators
var count = 0;
var expect = function(node1, node2) {
count += 1;
assert(node1 == node2, "expectation " + count + " failed");
};
var allButWS = function (node) {
if (node.nodeType == 3 && node.data.match(/^\s*$/))
return false;
return true;
};
var i = document.createNodeIterator(document.body, 0x01 | 0x04 | 0x08 |
0x10 | 0x20, allButWS, true);
// now walk the document body and make sure everything is in the right
place
expect(i.nextNode(), document.body); // 1
expect(i.nextNode(), document.getElementsByTagName('h1')[0]);
expect(i.nextNode(), document.getElementsByTagName('h1')[0].firstChild);
expect(i.nextNode(), document.getElementsByTagName('div')[0]);
expect(i.nextNode(), document.getElementById('bucket1'));
expect(i.nextNode(), document.getElementById('bucket2'));
expect(i.nextNode(), document.getElementById('bucket3'));
expect(i.nextNode(), document.getElementById('bucket4'));
expect(i.nextNode(), document.getElementById('bucket5'));
expect(i.nextNode(), document.getElementById('bucket6')); // 10
expect(i.nextNode(), document.getElementById('result'));
expect(i.nextNode(), document.getElementById('score'));
expect(i.nextNode(), document.getElementById('score').firstChild);
expect(i.nextNode(), document.getElementById('percent'));
expect(i.nextNode(), document.getElementById('percent').firstChild);
expect(i.nextNode(), document.getElementById('percent').nextSibling);
expect(i.nextNode(),
document.getElementById('percent').nextSibling.firstChild);
expect(i.nextNode(), document.getElementsByTagName('map')[0]);
expect(i.nextNode(), document.getElementsByTagName('area')[0]);
expect(i.nextNode(), document.getElementsByTagName('iframe')[0]); // 20
expect(i.nextNode(),
document.getElementsByTagName('iframe')[0].firstChild);
expect(i.nextNode(), document.getElementsByTagName('iframe')[1]);
expect(i.nextNode(),
document.getElementsByTagName('iframe')[1].firstChild);
expect(i.nextNode(), document.getElementsByTagName('iframe')[2]);
expect(i.nextNode(), document.forms[0]);
expect(i.nextNode(), document.forms.form.elements[0]);
expect(i.nextNode(), document.getElementsByTagName('table')[0]);
expect(i.nextNode(), document.getElementsByTagName('tbody')[0]);
expect(i.nextNode(), document.getElementsByTagName('tr')[0]);
expect(i.nextNode(), document.getElementsByTagName('td')[0]);
expect(i.nextNode(),
document.getElementsByTagName('td')[0].getElementsByTagName('p')[0]);
expect(i.nextNode(), document.getElementById('instructions'));
expect(i.nextNode(), document.getElementById('instructions').firstChild);
expect(i.nextNode(), document.links[0]);
expect(i.nextNode(), document.links[0].firstChild);
expect(i.nextNode(), document.getElementById('instructions').lastChild);
expect(i.nextNode(), null);
// walk it backwards for good measure
expect(i.previousNode(),
document.getElementById('instructions').lastChild);
expect(i.previousNode(), document.links[0].firstChild);
expect(i.previousNode(), document.links[0]);
expect(i.previousNode(),
document.getElementById('instructions').firstChild);
expect(i.previousNode(), document.getElementById('instructions'));
expect(i.previousNode(),
document.getElementsByTagName('td')[0].getElementsByTagName('p')[0]);
expect(i.previousNode(), document.getElementsByTagName('td')[0]);
expect(i.previousNode(), document.getElementsByTagName('tr')[0]);
expect(i.previousNode(), document.getElementsByTagName('tbody')[0]);
expect(i.previousNode(), document.getElementsByTagName('table')[0]);
expect(i.previousNode(), document.forms.form.elements[0]);
expect(i.previousNode(), document.forms[0]);
expect(i.previousNode(), document.getElementsByTagName('iframe')[2]);
expect(i.previousNode(),
document.getElementsByTagName('iframe')[1].firstChild);
expect(i.previousNode(), document.getElementsByTagName('iframe')[1]);
expect(i.previousNode(),
document.getElementsByTagName('iframe')[0].firstChild);
expect(i.previousNode(), document.getElementsByTagName('iframe')[0]); //
20
expect(i.previousNode(), document.getElementsByTagName('area')[0]);
expect(i.previousNode(), document.getElementsByTagName('map')[0]);
expect(i.previousNode(),
document.getElementById('percent').nextSibling.firstChild);
expect(i.previousNode(), document.getElementById('percent').nextSibling);
expect(i.previousNode(), document.getElementById('percent').firstChild);
expect(i.previousNode(), document.getElementById('percent'));
expect(i.previousNode(), document.getElementById('score').firstChild);
expect(i.previousNode(), document.getElementById('score'));
expect(i.previousNode(), document.getElementById('result'));
expect(i.previousNode(), document.getElementById('bucket6'));
expect(i.previousNode(), document.getElementById('bucket5'));
expect(i.previousNode(), document.getElementById('bucket4'));
expect(i.previousNode(), document.getElementById('bucket3'));
expect(i.previousNode(), document.getElementById('bucket2'));
expect(i.previousNode(), document.getElementById('bucket1'));
expect(i.previousNode(), document.getElementsByTagName('div')[0]);
expect(i.previousNode(),
document.getElementsByTagName('h1')[0].firstChild);
expect(i.previousNode(), document.getElementsByTagName('h1')[0]);
expect(i.previousNode(), document.body);
expect(i.previousNode(), null);
return 1;
},
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list