Dustin Wilson
2 years ago
9 changed files with 522 additions and 16 deletions
@ -0,0 +1,86 @@ |
|||
<?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\{ |
|||
Document, |
|||
DOMException, |
|||
Node |
|||
}; |
|||
|
|||
|
|||
/** @covers \MensBeam\HTML\DOM\ParentNode */ |
|||
class TestParentNode extends \PHPUnit\Framework\TestCase { |
|||
/** |
|||
* @covers \MensBeam\HTML\DOM\ParentNode::querySelector |
|||
* @covers \MensBeam\HTML\DOM\ParentNode::querySelectorAll |
|||
* |
|||
* @covers \MensBeam\HTML\DOM\Attr::__get_value |
|||
* @covers \MensBeam\HTML\DOM\Collection::__construct |
|||
* @covers \MensBeam\HTML\DOM\Collection::__get_length |
|||
* @covers \MensBeam\HTML\DOM\Collection::count |
|||
* @covers \MensBeam\HTML\DOM\Collection::item |
|||
* @covers \MensBeam\HTML\DOM\Collection::offsetGet |
|||
* @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\Element::__get_localName |
|||
* @covers \MensBeam\HTML\DOM\Element::__get_namespaceURI |
|||
* @covers \MensBeam\HTML\DOM\Element::__get_prefix |
|||
* @covers \MensBeam\HTML\DOM\Element::__get_tagName |
|||
* @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::getInnerDocument |
|||
* @covers \MensBeam\HTML\DOM\Node::hasChildNodes |
|||
* @covers \MensBeam\HTML\DOM\ParentNode::scopeMatchSelector |
|||
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|||
* @covers \MensBeam\HTML\DOM\Inner\Document::__get_wrapperNode |
|||
* @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_querySelector_querySelectorAll(): void { |
|||
$d = new Document('<!DOCTYPE html><html><body><div>ook</div><div id="eek">eek</div></body></html>'); |
|||
$div = $d->body->querySelector('div'); |
|||
$this->assertSame('div', $div->tagName); |
|||
$this->assertNull($d->querySelector('body::before')); |
|||
|
|||
$divs = $d->body->querySelectorAll('div'); |
|||
$this->assertEquals(2, $divs->length); |
|||
$this->assertSame('eek', $divs[1]->getAttribute('id')); |
|||
$this->assertNull($d->querySelector('.ook')); |
|||
$this->assertEquals(0, $d->querySelectorAll('body::before')->length); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* @covers \MensBeam\HTML\DOM\ParentNode::querySelector |
|||
* |
|||
* @covers \MensBeam\HTML\DOM\Document::__construct |
|||
* @covers \MensBeam\HTML\DOM\DOMException::__construct |
|||
* @covers \MensBeam\HTML\DOM\DOMImplementation::__construct |
|||
* @covers \MensBeam\HTML\DOM\Node::__construct |
|||
* @covers \MensBeam\HTML\DOM\ParentNode::scopeMatchSelector |
|||
* @covers \MensBeam\HTML\DOM\Inner\Document::__construct |
|||
*/ |
|||
public function testMethod_querySelector__errors(): void { |
|||
$this->expectException(DOMException::class); |
|||
$this->expectExceptionCode(DOMException::SYNTAX_ERROR); |
|||
$d = new Document(); |
|||
$d->querySelector('fail?'); |
|||
} |
|||
} |
Loading…
Reference in new issue