Files
piratepoet/packages/php/email-editor/tests/unit/Integrations/Utils/DomDocumentHelperTest.php
Jan Lysý 99a6541ffb Fix namespace in unit tests
[MAILPOET-6216]
2024-09-23 15:16:59 +02:00

46 lines
2.1 KiB
PHP

<?php declare(strict_types = 1);
namespace MailPoet\EmailEditor\Integrations\Utils;
class DomDocumentHelperTest extends \MailPoetUnitTest {
public function testItFindsElement(): void {
$html = '<div><p>Some text</p></div>';
$domDocumentHelper = new DomDocumentHelper($html);
$element = $domDocumentHelper->findElement('p');
$empty = $domDocumentHelper->findElement('span');
$this->assertInstanceOf(\DOMElement::class, $element);
$this->assertEquals('p', $element->tagName);
$this->assertNull($empty);
}
public function testItGetsAttributeValue(): void {
$html = '<div><p class="some-class">Some text</p></div>';
$domDocumentHelper = new DomDocumentHelper($html);
$element = $domDocumentHelper->findElement('p');
$this->assertInstanceOf(\DOMElement::class, $element);
$this->assertEquals('some-class', $domDocumentHelper->getAttributeValue($element, 'class'));
}
public function testItGetsOuterHtml(): void {
$html = '<div><span>Some <strong>text</strong></span></div>';
$domDocumentHelper = new DomDocumentHelper($html);
$element = $domDocumentHelper->findElement('span');
$this->assertInstanceOf(\DOMElement::class, $element);
$this->assertEquals('<span>Some <strong>text</strong></span>', $domDocumentHelper->getOuterHtml($element));
// testings encoding of special characters
$html = '<div><img src="https://test.com/DALL·E-A®∑oecasƒ-803x1024.jpg"></div>';
$domDocumentHelper = new DomDocumentHelper($html);
$element = $domDocumentHelper->findElement('img');
$this->assertInstanceOf(\DOMElement::class, $element);
$this->assertEquals('<img src="https://test.com/DALL%C2%B7E-A%C2%AE%E2%88%91oecas%C6%92-803x1024.jpg">', $domDocumentHelper->getOuterHtml($element));
}
public function testItGetsAttributeValueByTagName(): void {
$html = '<div><p class="some-class">Some text</p><p class="second-paragraph"></p></div>';
$domDocumentHelper = new DomDocumentHelper($html);
$this->assertEquals('some-class', $domDocumentHelper->getAttributeValueByTagName('p', 'class'));
$this->assertNull($domDocumentHelper->getAttributeValueByTagName('span', 'class'));
}
}