Dustin Wilson
2 years ago
8 changed files with 191 additions and 4 deletions
@ -0,0 +1,94 @@ |
|||
<?php |
|||
/** |
|||
* @license MIT |
|||
* Copyright 2017 Dustin Wilson, J. King, et al. |
|||
* See LICENSE and AUTHORS files for details |
|||
*/ |
|||
|
|||
declare(strict_types=1); |
|||
namespace MensBeam\HTML\DOM\TestCase; |
|||
|
|||
use MensBeam\HTML\DOM\{ |
|||
Attr, |
|||
Document, |
|||
HTMLElement |
|||
}; |
|||
|
|||
|
|||
/** @covers \MensBeam\HTML\DOM\Collection */ |
|||
class TestCollection extends \PHPUnit\Framework\TestCase { |
|||
/** |
|||
* @covers \MensBeam\HTML\DOM\Collection::current |
|||
* @covers \MensBeam\HTML\DOM\Collection::item |
|||
* @covers \MensBeam\HTML\DOM\Collection::key |
|||
* @covers \MensBeam\HTML\DOM\Collection::next |
|||
* @covers \MensBeam\HTML\DOM\Collection::offsetExists |
|||
* @covers \MensBeam\HTML\DOM\Collection::rewind |
|||
* @covers \MensBeam\HTML\DOM\Collection::valid |
|||
* |
|||
* @covers \MensBeam\HTML\DOM\Collection::__construct |
|||
* @covers \MensBeam\HTML\DOM\Document::__construct |
|||
* @covers \MensBeam\HTML\DOM\Document::__get_body |
|||
* @covers \MensBeam\HTML\DOM\Document::load |
|||
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|||
* @covers \MensBeam\HTML\DOM\Element::__construct |
|||
* @covers \MensBeam\HTML\DOM\Node::__construct |
|||
* @covers \MensBeam\HTML\DOM\Node::__get_childNodes |
|||
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|||
* @covers \MensBeam\HTML\DOM\Node::hasChildNodes |
|||
* @covers \MensBeam\HTML\DOM\Node::postParsingTemplatesFix |
|||
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|||
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_xpath |
|||
* @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 testIteration(): void { |
|||
$d = new Document('<!DOCTYPE html><html><body><br><br><br><br><br></body></html>'); |
|||
$body = $d->body; |
|||
$children = $body->childNodes; |
|||
foreach ($children as $key => $child) { |
|||
$this->assertTrue($child instanceof HTMLElement); |
|||
} |
|||
} |
|||
|
|||
|
|||
/** |
|||
* @covers \MensBeam\HTML\DOM\Collection::offsetGet |
|||
* @covers \MensBeam\HTML\DOM\Collection::offsetUnset |
|||
* |
|||
* @covers \MensBeam\HTML\DOM\Attr::__get_value |
|||
* @covers \MensBeam\HTML\DOM\Collection::item |
|||
* @covers \MensBeam\HTML\DOM\Document::__construct |
|||
* @covers \MensBeam\HTML\DOM\Document::__get_body |
|||
* @covers \MensBeam\HTML\DOM\Document::load |
|||
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|||
* @covers \MensBeam\HTML\DOM\Element::__get_attributes |
|||
* @covers \MensBeam\HTML\DOM\NamedNodeMap::__construct |
|||
* @covers \MensBeam\HTML\DOM\NamedNodeMap::item |
|||
* @covers \MensBeam\HTML\DOM\Node::__construct |
|||
* @covers \MensBeam\HTML\DOM\Node::getInnerDocument |
|||
* @covers \MensBeam\HTML\DOM\Node::hasChildNodes |
|||
* @covers \MensBeam\HTML\DOM\Node::postParsingTemplatesFix |
|||
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|||
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_xpath |
|||
* @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_offsetSet_offsetUnset(): void { |
|||
$d = new Document('<!DOCTYPE html><html><body a="ook" b="eek" c="ook" d="eek" e="ook"></body></html>'); |
|||
$body = $d->body; |
|||
$attributes = $body->attributes; |
|||
$attributes[0] = 'eek'; |
|||
$this->assertSame('ook', $attributes[0]->value); |
|||
unset($attributes[2]); |
|||
$this->assertSame('ook', $attributes[2]->value); |
|||
} |
|||
} |
@ -0,0 +1,31 @@ |
|||
<?php |
|||
/** |
|||
* @license MIT |
|||
* Copyright 2017 Dustin Wilson, J. King, et al. |
|||
* See LICENSE and AUTHORS files for details |
|||
*/ |
|||
|
|||
declare(strict_types=1); |
|||
namespace MensBeam\HTML\DOM\TestCase; |
|||
|
|||
use MensBeam\HTML\DOM\{ |
|||
Attr, |
|||
Document, |
|||
Node |
|||
}; |
|||
|
|||
|
|||
/** @covers \MensBeam\HTML\DOM\NamedNodeMap */ |
|||
class TestNamedNodeMap extends \PHPUnit\Framework\TestCase { |
|||
public function testMethod_getOffset(): void { |
|||
$d = new Document('<!DOCTYPE html><html><body a="ook" b="eek" c="ook" d="eek" e="ook"></body></html>', 'UTF-8'); |
|||
$body = $d->body; |
|||
$body->setAttributeNS(Node::XMLNS_NAMESPACE, 'xmlns:href', Node::HTML_NAMESPACE); |
|||
$body->setAttributeNS('https://poop💩.poop', 'poop💩:poop💩', 'poop💩'); |
|||
|
|||
$attributes = $body->attributes; |
|||
$this->assertSame('ook', $attributes['a']->value); |
|||
$this->assertSame(Node::HTML_NAMESPACE, $attributes['xmlns:href']->value); |
|||
$this->assertSame('poop💩', $attributes['poop💩:poop💩']->value); |
|||
} |
|||
} |
Loading…
Reference in new issue