PASS: docElem.getAttribute('foo:attr') should be test and is.
PASS: docElem.getAttribute('attr') should be test2 and is.
PASS: docElem.getAttribute('bar:attr') should be null and is.
PASS: docElem.hasAttribute('foo:attr') should be true and is.
PASS: docElem.hasAttribute('attr') should be true and is.
PASS: docElem.hasAttribute('bar:attr') should be false and is.
PASS: docElem.getAttributeNode('foo:attr').value should be test and is.
PASS: docElem.getAttributeNode('bar:attr') should be null and is.
PASS: docElem.attributes.length should be 3 and is.
PASS: docElem.attributes.length should be 3 and is.
PASS: docElem.getAttribute('foo:attr') should be new and is.
PASS: docElem.attributes.length should be 4 and is.
PASS: docElem.getAttribute('bar:attr') should be new2 and is.
PASS: docElem.getAttributeNode('bar:attr').prefix should be null and is.
PASS: docElem.getAttributeNode('bar:attr').localName should be bar:attr and is.
PASS: docElem.getAttribute('foo:attr') should be null and is.
PASS: docElem.attributes.length should be 3 and is.
PASS: docElem.getAttribute('bar:attr') should be null and is.
PASS: docElem.attributes.length should be 2 and is.
PASS: docElem.getAttribute('attr') should be null and is.
PASS: docElem.attributes.length should be 1 and is.
PASS: attributes.getNamedItem('foo:attr').value should be test and is.
PASS: attributes.getNamedItem('attr').value should be test2 and is.
PASS: attributes.getNamedItem('bar:attr') should be null and is.
PASS: attributes.length should be 3 and is.
PASS: attributes.getNamedItem('foo:attr') should be null and is.
PASS: attributes.length should be 2 and is.
PASS: attributes.getNamedItem('attr') should be null and is.
PASS: attributes.length should be 1 and is.