|
|
@ -10,7 +10,8 @@ namespace MensBeam\HTML\DOM\TestCase; |
|
|
|
|
|
|
|
use MensBeam\HTML\DOM\{ |
|
|
|
Document, |
|
|
|
Node |
|
|
|
Node, |
|
|
|
XMLDocument |
|
|
|
}; |
|
|
|
use MensBeam\HTML\Parser; |
|
|
|
|
|
|
@ -24,6 +25,8 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @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::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\NodeList::__construct |
|
|
@ -31,6 +34,7 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
* @covers \MensBeam\HTML\DOM\NodeList::__get_length |
|
|
|
* @covers \MensBeam\HTML\DOM\NodeList::item |
|
|
|
* @covers \MensBeam\HTML\DOM\NodeList::offsetGet |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
@ -68,6 +72,8 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
* @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\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
@ -97,13 +103,15 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_isConnected |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\ChildNode::moonwalk |
|
|
|
* @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\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::getRootNode |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
@ -132,8 +140,11 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @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::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
@ -170,15 +181,20 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::createDocumentType |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::getProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::setProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::get |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::has |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::key |
|
|
@ -209,15 +225,20 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::createDocumentType |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::appendChild |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::preInsertionValidity |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::getProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::setProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::get |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::has |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::key |
|
|
@ -245,16 +266,34 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_nodeName |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Comment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\CDATASection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createComment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createDocumentFragment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElementNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createProcessingInstruction |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::validateAndExtract |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentFragment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__get_name |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::createDocumentType |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\ProcessingInstruction::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::getProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::setProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::get |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::has |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::key |
|
|
@ -262,11 +301,334 @@ class TestNode extends \PHPUnit\Framework\TestCase { |
|
|
|
*/ |
|
|
|
public function testProperty_nodeName() { |
|
|
|
$d = new Document(); |
|
|
|
$dt = $d->appendChild($d->implementation->createDocumentType('html', '', '')); |
|
|
|
$d2 = new XMLDocument(); |
|
|
|
|
|
|
|
// Node::nodeName on attribute node |
|
|
|
$this->assertSame('href', $d->createAttribute('href')->nodeName); |
|
|
|
// Node::nodeName on attribute node with coerced name |
|
|
|
$this->assertSame('poop💩', $d->createAttribute('poop💩')->nodeName); |
|
|
|
// Node::nodeName on namespaced attribute node |
|
|
|
$this->assertSame('xlink:href', $d->createAttributeNS(Parser::XLINK_NAMESPACE, 'xlink:href')->nodeName); |
|
|
|
// Node::nodeName on namespaced attribute node with coerced name |
|
|
|
$this->assertSame('poop💩:poop💩', $d->createAttributeNS('https://poop💩.poop', 'poop💩:poop💩')->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on CDATA section |
|
|
|
$this->assertSame('#cdata-section', $d2->createCDATASection('ook')->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on comment |
|
|
|
$this->assertSame('#comment', $d->createComment('comment')->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on document |
|
|
|
$this->assertSame('#document', $d->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on doctype |
|
|
|
$this->assertSame('html', $d->implementation->createDocumentType('html', '', '')->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on document fragment |
|
|
|
$this->assertSame('#document-fragment', $d->createDocumentFragment()->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on element |
|
|
|
$this->assertSame('HTML', $d->createElement('html')->nodeName); |
|
|
|
// Node::nodeName on element with coerced name |
|
|
|
$this->assertSame('POOP💩', $d->createElement('poop💩')->nodeName); |
|
|
|
// Node::nodeName on namespaced element |
|
|
|
$this->assertSame('SVG', $d->createElementNS(Parser::SVG_NAMESPACE, 'svg')->nodeName); |
|
|
|
// Node::nodeName on namespaced element with coerced name |
|
|
|
$this->assertSame('POOP💩:POOP💩', $d->createElementNS('https://poop💩.poop', 'poop💩:poop💩')->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on processing instruction |
|
|
|
$this->assertSame('ook', $d->createProcessingInstruction('ook', 'eek')->nodeName); |
|
|
|
// Node::nodeName on processing instruction with coerced target |
|
|
|
$this->assertSame('poop💩', $d->createProcessingInstruction('poop💩', 'ook')->nodeName); |
|
|
|
|
|
|
|
// Node::nodeName on text node |
|
|
|
$this->assertSame('#text', $d->createTextNode('ook')->nodeName); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_nodeType |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Comment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\CDATASection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createComment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createDocumentFragment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElementNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createProcessingInstruction |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::validateAndExtract |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentFragment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::createDocumentType |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\ProcessingInstruction::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::getProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::setProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::get |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::has |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::key |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::set |
|
|
|
*/ |
|
|
|
public function testProperty_nodeType() { |
|
|
|
$d = new Document(); |
|
|
|
$d2 = new XMLDocument(); |
|
|
|
|
|
|
|
// Node::nodeType on attribute node |
|
|
|
$this->assertSame(Node::ATTRIBUTE_NODE, $d->createAttribute('href')->nodeType); |
|
|
|
// Node::nodeType on CDATA section |
|
|
|
$this->assertSame(Node::CDATA_SECTION_NODE, $d2->createCDATASection('ook')->nodeType); |
|
|
|
// Node::nodeType on comment |
|
|
|
$this->assertSame(Node::COMMENT_NODE, $d->createComment('comment')->nodeType); |
|
|
|
// Node::nodeType on document |
|
|
|
$this->assertSame(Node::DOCUMENT_NODE, $d->nodeType); |
|
|
|
// Node::nodeType on doctype |
|
|
|
$this->assertSame(Node::DOCUMENT_TYPE_NODE, $d->implementation->createDocumentType('html', '', '')->nodeType); |
|
|
|
// Node::nodeType on document fragment |
|
|
|
$this->assertSame(Node::DOCUMENT_FRAGMENT_NODE, $d->createDocumentFragment()->nodeType); |
|
|
|
// Node::nodeType on element |
|
|
|
$this->assertSame(Node::ELEMENT_NODE, $d->createElement('html')->nodeType); |
|
|
|
// Node::nodeType on processing instruction |
|
|
|
$this->assertSame(Node::PROCESSING_INSTRUCTION_NODE, $d->createProcessingInstruction('ook', 'eek')->nodeType); |
|
|
|
// Node::nodeType on text node |
|
|
|
$this->assertSame(Node::TEXT_NODE, $d->createTextNode('ook')->nodeType); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_nodeValue |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__set_nodeValue |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Comment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\CDATASection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createComment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createDocumentFragment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElementNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createProcessingInstruction |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::validateAndExtract |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentFragment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::createDocumentType |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\ProcessingInstruction::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::getProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::setProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::get |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::has |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::key |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::set |
|
|
|
*/ |
|
|
|
public function testProperty_nodeValue() { |
|
|
|
$d = new Document(); |
|
|
|
$d2 = new XMLDocument(); |
|
|
|
$attr = $d->createAttribute('href'); |
|
|
|
$attr->value = 'https://poop💩.poop'; |
|
|
|
$cdata = $d2->createCDATASection('ook'); |
|
|
|
$comment = $d->createComment('comment'); |
|
|
|
$element = $d->createElement('html'); |
|
|
|
$pi = $d->createProcessingInstruction('ook', 'eek'); |
|
|
|
$text = $d->createTextNode('ook'); |
|
|
|
|
|
|
|
// Node::nodeValue on attribute node |
|
|
|
$this->assertSame('https://poop💩.poop', $attr->nodeValue); |
|
|
|
$attr->nodeValue = 'https://ook.com'; |
|
|
|
$this->assertSame('https://ook.com', $attr->nodeValue); |
|
|
|
|
|
|
|
// Node::nodeValue on CDATA section |
|
|
|
$this->assertSame('ook', $cdata->nodeValue); |
|
|
|
$cdata->nodeValue = 'eek'; |
|
|
|
$this->assertSame('eek', $cdata->nodeValue); |
|
|
|
|
|
|
|
// Node::nodeValue on comment |
|
|
|
$this->assertSame('comment', $comment->nodeValue); |
|
|
|
$comment->nodeValue = 'poop💩'; |
|
|
|
$this->assertSame('poop💩', $comment->nodeValue); |
|
|
|
|
|
|
|
// Node::nodeValue on document |
|
|
|
$this->assertnull($d->nodeValue); |
|
|
|
|
|
|
|
// Node::nodeValue on doctype |
|
|
|
$this->assertNull($d->implementation->createDocumentType('html', '', '')->nodeValue); |
|
|
|
|
|
|
|
// Node::nodeValue on document fragment |
|
|
|
$this->assertNull($d->createDocumentFragment()->nodeValue); |
|
|
|
|
|
|
|
// Node::nodeValue on element |
|
|
|
$this->assertNull($element->nodeValue); |
|
|
|
$element->nodeValue = ''; // This should do nothing |
|
|
|
$this->assertNull($element->nodeValue); |
|
|
|
|
|
|
|
|
|
|
|
// Node::nodeValue on processing instruction |
|
|
|
$this->assertSame('eek', $pi->nodeValue); |
|
|
|
$pi->nodeValue = 'ook'; |
|
|
|
$this->assertSame('ook', $pi->nodeValue); |
|
|
|
|
|
|
|
// Node::nodeValue on text node |
|
|
|
$this->assertSame('ook', $text->nodeValue); |
|
|
|
$text->nodeValue = 'eek'; |
|
|
|
$this->assertSame('eek', $text->nodeValue); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_ownerDocument |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Comment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\CDATASection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createComment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createDocumentFragment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElementNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createProcessingInstruction |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::validateAndExtract |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentFragment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::createDocumentType |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\ProcessingInstruction::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::getProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::setProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::get |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::has |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::key |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::set |
|
|
|
*/ |
|
|
|
public function testProperty_ownerDocument() { |
|
|
|
$d = new Document(); |
|
|
|
$d2 = new XMLDocument(); |
|
|
|
|
|
|
|
// Node::nodeType on attribute node |
|
|
|
$this->assertSame($d, $d->createAttribute('href')->ownerDocument); |
|
|
|
// Node::nodeType on CDATA section |
|
|
|
$this->assertSame($d2, $d2->createCDATASection('ook')->ownerDocument); |
|
|
|
// Node::nodeType on comment |
|
|
|
$this->assertSame($d, $d->createComment('comment')->ownerDocument); |
|
|
|
// Node::nodeType on document |
|
|
|
$this->assertNull($d->ownerDocument); |
|
|
|
// Node::nodeType on doctype |
|
|
|
$this->assertSame($d, $d->implementation->createDocumentType('html', '', '')->ownerDocument); |
|
|
|
// Node::nodeType on document fragment |
|
|
|
$this->assertSame($d, $d->createDocumentFragment()->ownerDocument); |
|
|
|
// Node::nodeType on element |
|
|
|
$this->assertSame($d, $d->createElement('html')->ownerDocument); |
|
|
|
// Node::nodeType on processing instruction |
|
|
|
$this->assertSame($d, $d->createProcessingInstruction('ook', 'eek')->ownerDocument); |
|
|
|
// Node::nodeType on text node |
|
|
|
$this->assertSame($d, $d->createTextNode('ook')->ownerDocument); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_parentElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__get_parentNode |
|
|
|
* |
|
|
|
* @covers \MensBeam\HTML\DOM\Attr::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Comment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\CDATASection::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttribute |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createAttributeNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createComment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createDocumentFragment |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElement |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createElementNS |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createProcessingInstruction |
|
|
|
* @covers \MensBeam\HTML\DOM\Document::createTextNode |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentOrElement::validateAndExtract |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentFragment::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DocumentType::__get_ownerDocument |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\DOMImplementation::createDocumentType |
|
|
|
* @covers \MensBeam\HTML\DOM\Element::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Node::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\ProcessingInstruction::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\Text::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__construct |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::getWrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Document::__get_wrapperNode |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::createFromProtectedConstructor |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::getProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\Reflection::setProtectedProperty |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::get |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::has |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::key |
|
|
|
* @covers \MensBeam\HTML\DOM\InnerNode\NodeMap::set |
|
|
|
*/ |
|
|
|
public function testProperty_parentElement() { |
|
|
|
$d = new Document(); |
|
|
|
$doctype = $d->appendChild($d->implementation->createDocumentType('html', '', '')); |
|
|
|
$documentElement = $d->appendChild($d->createElement('html')); |
|
|
|
$documentElement->appendChild($d->createElement('body')); |
|
|
|
$body = $d->body; |
|
|
|
$attr = $d->createAttribute('href'); |
|
|
|
$attr->value = 'https://poop💩.poop'; |
|
|
|
$body->setAttributeNode($attr); |
|
|
|
$comment = $body->appendChild($d->createComment('ook')); |
|
|
|
$pi = $body->appendChild($d->createProcessingInstruction('ook', 'eek')); |
|
|
|
$text = $body->appendChild($d->createTextNode('ook')); |
|
|
|
|
|
|
|
$d2 = new XMLDocument(); |
|
|
|
$xmlElement = $d2->appendChild($d2->createElement('ook')); |
|
|
|
$cdata = $xmlElement->appendChild($d2->createCDATASection('ook')); |
|
|
|
|
|
|
|
// Node::parentElement on attribute node |
|
|
|
$this->assertSame($body, $attr->parentElement); |
|
|
|
// Node::parentElement on CDATA section |
|
|
|
$this->assertSame($xmlElement, $cdata->parentElement); |
|
|
|
// Node::parentElement on comment |
|
|
|
$this->assertSame($body, $comment->parentElement); |
|
|
|
// Node::parentElement on document |
|
|
|
$this->assertNull($d->parentElement); |
|
|
|
// Node::parentElement on doctype |
|
|
|
$this->assertNull($doctype->parentElement); |
|
|
|
// Node::parentNode on doctype |
|
|
|
$this->assertSame($d, $doctype->parentNode); |
|
|
|
// Node::parentElement on document fragment |
|
|
|
$this->assertNull($d->createDocumentFragment()->parentElement); |
|
|
|
// Node::parentElement on element |
|
|
|
$this->assertSame($documentElement, $body->parentElement); |
|
|
|
// Node::parentElement on processing instruction |
|
|
|
$this->assertSame($body, $pi->parentElement); |
|
|
|
// Node::parentElement on text node |
|
|
|
$this->assertSame($body, $text->parentElement); |
|
|
|
} |
|
|
|
} |