|
|
@ -121,7 +121,7 @@ class TestElement extends \PHPUnit\Framework\TestCase { |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testMethod_getAttributeNS() { |
|
|
|
$d = new Document('<!DOCTYPE html><html><head></head><body><svg xmlns="' . Node::SVG_NAMESPACE . '" xmlns:xlink="' . Node::XLINK_NAMESPACE . '" viewBox="0 0 42 42"></svg></body></html>'); |
|
|
|
$d = new Document('<!DOCTYPE html><html><head></head><body><svg xmlns="' . Node::SVG_NAMESPACE . '" xmlns:xlink="' . Node::XLINK_NAMESPACE . '" viewBox="0 0 42 42"></svg></body></html>', 'UTF-8'); |
|
|
|
$svg = $d->getElementsByTagNameNS(Node::SVG_NAMESPACE, 'svg')[0]; |
|
|
|
// Parser per the spec doesn't parse xmlns prefixed attributes except xlink, so let's add one manually instead to test coercion. |
|
|
|
$svg->setAttributeNS(Node::XMLNS_NAMESPACE, 'xmlns:poop💩', 'https://poop💩.poop'); |
|
|
@ -137,4 +137,419 @@ class TestElement extends \PHPUnit\Framework\TestCase { |
|
|
|
// empty string namespace |
|
|
|
$this->assertSame('0 0 42 42', $svg->getAttributeNS('', 'viewBox')); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::hasAttribute |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::item |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::load |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::getElementsByTagNameNS |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_namespaceURI |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\HTMLCollection::item |
|
|
|
* @covers \MensBeam\HTML\DOM\HTMLCollection::offsetGet |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::hasChildNodes |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
*/ |
|
|
|
public function testMethod_hasAttribute() { |
|
|
|
$d = new Document('<!DOCTYPE html><html id="ook" poop💩="jeff"></html>', 'UTF-8'); |
|
|
|
$documentElement = $d->documentElement; |
|
|
|
$svg = $d->getElementsByTagNameNS(Node::SVG_NAMESPACE, 'svg')[0]; |
|
|
|
|
|
|
|
$this->assertTrue($documentElement->hasAttribute('id')); |
|
|
|
$this->assertTrue($documentElement->hasAttribute('poop💩')); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::hasAttributeNS |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__set_value |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::item |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::load |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::getElementsByTagNameNS |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::validateAndExtract |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNodeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttributeNodeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\HTMLCollection::item |
|
|
|
* @covers \MensBeam\HTML\DOM\HTMLCollection::offsetGet |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::hasChildNodes |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testMethod_hasAttributeNS() { |
|
|
|
$d = new Document('<!DOCTYPE html><html><head></head><body><svg xmlns="' . Node::SVG_NAMESPACE . '" xmlns:xlink="' . Node::XLINK_NAMESPACE . '" viewBox="0 0 42 42"></svg></body></html>', 'UTF-8'); |
|
|
|
$svg = $d->getElementsByTagNameNS(Node::SVG_NAMESPACE, 'svg')[0]; |
|
|
|
// Parser per the spec doesn't parse xmlns prefixed attributes except xlink, so let's add one manually instead to test coercion. |
|
|
|
$svg->setAttributeNS(Node::XMLNS_NAMESPACE, 'xmlns:poop💩', 'https://poop💩.poop'); |
|
|
|
|
|
|
|
// xmlns attribute |
|
|
|
$this->assertTrue($svg->hasAttributeNS(Node::XMLNS_NAMESPACE, 'xmlns')); |
|
|
|
// xmlns xlink attribute |
|
|
|
$this->assertTrue($svg->hasAttributeNS(Node::XMLNS_NAMESPACE, 'xlink')); |
|
|
|
// coerced namespaced attribute |
|
|
|
$this->assertTrue($svg->hasAttributeNS(Node::XMLNS_NAMESPACE, 'poop💩')); |
|
|
|
// nonexistent namespaced attribute |
|
|
|
$this->assertFalse($svg->hasAttributeNS(Node::XMLNS_NAMESPACE, 'ook')); |
|
|
|
// empty string namespace |
|
|
|
$this->assertTrue($svg->hasAttributeNS('', 'viewBox')); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::hasAttributes |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::item |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::load |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::getElementsByTagNameNS |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\HTMLCollection::item |
|
|
|
* @covers \MensBeam\HTML\DOM\HTMLCollection::offsetGet |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::hasChildNodes |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
*/ |
|
|
|
public function testMethod_hasAttributes() { |
|
|
|
$d = new Document('<!DOCTYPE html><html><body><svg xmlns="' . Node::SVG_NAMESPACE . '" xmlns:xlink="' . Node::XLINK_NAMESPACE . '"></svg></body></html>', 'UTF-8'); |
|
|
|
$svg = $d->getElementsByTagNameNS(Node::SVG_NAMESPACE, 'svg')[0]; |
|
|
|
$this->assertTrue($svg->hasAttributes()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttribute |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_namespaceURI |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::hasAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::postInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testMethod_setAttribute() { |
|
|
|
$d = new Document(); |
|
|
|
$d->appendChild($d->createElement('html')); |
|
|
|
$documentElement = $d->documentElement; |
|
|
|
// Just need to test coerced attributes; everything else has been covered |
|
|
|
// elsewhere |
|
|
|
$documentElement->setAttribute('poop💩', 'jeff'); |
|
|
|
$this->assertTrue($documentElement->hasAttribute('poop💩')); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMException::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::postInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testMethod_setAttribute_errors() { |
|
|
|
$this->expectException(DOMException::class); |
|
|
|
$this->expectExceptionCode(DOMException::INVALID_CHARACTER); |
|
|
|
$d = new Document(); |
|
|
|
$d->appendChild($d->createElement('html')); |
|
|
|
$d->documentElement->setAttribute('this will fail', 'fail'); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_localName |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_ownerElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_value |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__set_value |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_namespaceURI |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::postInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testMethod_setAttributeNode() { |
|
|
|
$d = new Document(); |
|
|
|
$d->appendChild($d->createElement('html')); |
|
|
|
$documentElement = $d->documentElement; |
|
|
|
$attr = $d->createAttribute('poop💩'); |
|
|
|
$attr->value = 'jeff'; |
|
|
|
$documentElement->setAttributeNode($attr); |
|
|
|
|
|
|
|
// Almost everything is covered. Just need to test same attributes and |
|
|
|
// replacements. |
|
|
|
$documentElement->setAttributeNode($attr); |
|
|
|
$this->assertSame('jeff', $documentElement->getAttribute('poop💩')); |
|
|
|
$attr = $d->createAttribute('poop💩'); |
|
|
|
$attr->value = 'jeff'; |
|
|
|
$documentElement->setAttributeNode($attr); |
|
|
|
$this->assertSame('jeff', $documentElement->getAttribute('poop💩')); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttributeNode |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_localName |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_ownerElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__set_value |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMException::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_namespaceURI |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::postInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testMethod_setAttributeNode_errors() { |
|
|
|
$this->expectException(DOMException::class); |
|
|
|
$this->expectExceptionCode(DOMException::IN_USE_ATTRIBUTE); |
|
|
|
$d = new Document(); |
|
|
|
$documentElement = $d->appendChild($d->createElement('html')); |
|
|
|
$body = $documentElement->appendChild($d->createElement('body')); |
|
|
|
$attr = $d->createAttribute('ook'); |
|
|
|
$attr->value = 'eek'; |
|
|
|
$body->setAttributeNode($attr); |
|
|
|
$documentElement->setAttributeNode($attr); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttributeNS |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_value |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::validateAndExtract |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNodeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::postInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\NonElementParentNode::getElementById |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testMethod_setAttributeNS() { |
|
|
|
$d = new Document(); |
|
|
|
$d->appendChild($d->createElement('html')); |
|
|
|
$documentElement = $d->documentElement; |
|
|
|
|
|
|
|
// Just need to test setting of a bullshit namespaced attribute and id |
|
|
|
// attribute; everything else is covered already. |
|
|
|
$documentElement->setAttributeNS('https://poop💩.poop💩', 'poop💩:poop💩', 'jeff'); |
|
|
|
$this->assertSame('jeff', $documentElement->getAttributeNS('https://poop💩.poop💩', 'poop💩')); |
|
|
|
$documentElement->setAttributeNS(null, 'id', 'ook'); |
|
|
|
$this->assertSame($documentElement, $d->getElementById('ook')); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_attributes |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_value |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::__get_length |
|
|
|
* @covers \MensBeam\HTML\DOM\Collection::count |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__get_documentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::load |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_namespaceURI |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\NamedNodeMap::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::hasChildNodes |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
*/ |
|
|
|
public function testProperty_attributes() { |
|
|
|
$d = new Document('<!DOCTYPE html><html id="ook" class="eek" ack="ack" foo="foo" bar="bar" xmlns="' . Node::HTML_NAMESPACE . '"></html>', 'UTF-8'); |
|
|
|
$documentElement = $d->documentElement; |
|
|
|
$this->assertEquals(6, $documentElement->attributes->length); |
|
|
|
$this->assertSame(Node::HTML_NAMESPACE, $documentElement->getAttribute('xmlns')); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_id |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__set_id |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__get_value |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__get_namespaceURI |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::getAttributeNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::setAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getInnerNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::postInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionBugFixes |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::get |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::has |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::key |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\NodeCache::set |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\Inner\Reflection::getProtectedProperty |
|
|
|
*/ |
|
|
|
public function testProperty_id() { |
|
|
|
$d = new Document(); |
|
|
|
$documentElement = $d->appendChild($d->createElement('html')); |
|
|
|
$documentElement->id = 'ook'; |
|
|
|
$this->assertSame('ook', $documentElement->id); |
|
|
|
} |
|
|
|
} |