Subversion revision r20997 <http://trac.webkit.org/projects/webkit/changeset/20997> caused LayoutTests/dom/xhtml/level3/core/nodeisequalnode14.xhtml to regress. The explanation given in the LayoutTests/ChangeLog entry was:
* dom/xhtml/level3/core/nodeisequalnode14-expected.txt: This test fails because createAttribute is supposed to create an Attr with localName of null.
This bug was filed to track this regression and (potentially) fix createAttribute.
* STEPS TO REPRODUCE
1. Launch Safari/WebKit.
2. Open LayoutTests/dom/xhtml/level3/core/nodeisequalnode14.xhtml in the browser.
The test fails.
This is a regression from r20997. In WebKit nightly builds before r20997, this test passed. Note that the test did not work at all in shipping Safari 2, and was failing by the time Safari 3 was released.
See Bug 5262 for the original bug fix that caused the regression.
FWIW, we match Firefox 3 beta on this test. Firefox 2 doesn't support isEqualNode, but document.createAttribute("root").localName is also equal to "root".
This failure is documented by the "fast/dom/Node/initial-values.html" test case soon to be landed as part of:
See also Bug 17167.
Chris Dumez says in <rdar://problem/5710854>:
This test is failing in all browsers. I think it is safe to assume it is outdated.
attr1 = doc.createAttribute("root");
// create an attribute whose localName is “root”. The namespaceURI is null by default.
attr2 = doc.createAttributeNS(nullNSURI,"root");
// create an attribute whose localName is “root” and namespaceURI is null.
The test expects attr1.isEqualNode(attr2) to be false. However, the created attributes are identical so the test is indeed outdated.