Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions src/Test/TestCase.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?php

namespace ipl\Html\Test;

use DOMDocument;
use ipl\Html\ValidHtml;
use PHPUnit\Framework\TestCase as BaseTestCase;

abstract class TestCase extends BaseTestCase
{
/**
* Assert that HTML is equal
*
* @param string $expected
* @param ValidHtml $actual
*/
protected function assertHtml(string $expected, ValidHtml $actual): void
{
$expectedHtml = str_replace(
"\n",
'',
preg_replace('/^\s+/m', '', trim($expected))
);
$actualHtml = $actual->render();

$expectedDom = new DOMDocument();
$this->assertTrue($expectedDom->loadHTML($expectedHtml), 'Expected HTML is not valid');
$actualDom = new DOMDocument();
$this->assertTrue($actualDom->loadHTML($actualHtml), 'Actual HTML is not valid');

$this->assertEquals($expectedDom, $actualDom);
}

/**
* @deprecated Use {@link assertHtml()} instead. assertRendersHtml() suffers from the fact that the HTML being
* processed must have a root node, e.g. the HTML `<b>foo</b><b>bar</b>` would always fail with "Extra content at
* the end of the document". {@link assertHtml()} just does the job.
*/
protected function assertRendersHtml(string $html, ValidHtml $element): void
{
$this->assertXmlStringEqualsXmlString($html, $element->render());
}
}
1 change: 1 addition & 0 deletions tests/AttributeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ipl\Tests\Html;

use ipl\Html\Attribute;
use ipl\Html\Test\TestCase;

class AttributeTest extends TestCase
{
Expand Down
1 change: 1 addition & 0 deletions tests/AttributesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use ipl\Html\Attributes;
use ipl\Html\BaseHtmlElement;
use ipl\Html\HtmlString;
use ipl\Html\Test\TestCase;
use ipl\Html\ValidHtml;

class AttributesTest extends TestCase
Expand Down
1 change: 1 addition & 0 deletions tests/BaseHtmlElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use ipl\Html\BaseHtmlElement;
use ipl\Html\HtmlString;
use ipl\Html\Test\TestCase;
use RuntimeException;

class BaseHtmlElementTest extends TestCase
Expand Down
1 change: 1 addition & 0 deletions tests/DeferredTextTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ipl\Tests\Html;

use ipl\Html\DeferredText;
use ipl\Html\Test\TestCase;
use Exception;

class DeferredTextTest extends TestCase
Expand Down
1 change: 1 addition & 0 deletions tests/DocumentationFormsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use ipl\Html\Form;
use ipl\Html\FormElement\TextElement;
use ipl\Html\Html;
use ipl\Html\Test\TestCase;

class DocumentationFormsTest extends TestCase
{
Expand Down
1 change: 1 addition & 0 deletions tests/DocumentationQuickStartTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ipl\Tests\Html;

use ipl\Html\Html;
use ipl\Html\Test\TestCase;

class DocumentationQuickStartTest extends TestCase
{
Expand Down
1 change: 1 addition & 0 deletions tests/DocumentationTablesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ipl\Tests\Html;

use ipl\Html\Table;
use ipl\Html\Test\TestCase;

class DocumentationTablesTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/DecorationResultsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use ipl\Html\FormDecoration\FormElementDecorationResult;
use ipl\Html\FormDecoration\Transformation;
use ipl\Html\Html;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class DecorationResultsTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/DecoratorChainTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
use ipl\Html\FormDecoration\DecoratorChain;
use ipl\Html\Contract\FormElementDecoration;
use ipl\Html\HtmlDocument;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;
use ValueError;

class DecoratorChainTest extends TestCase
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/DescriptionDecoratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use ipl\Html\FormDecoration\DescriptionDecorator;
use ipl\Html\FormElement\FieldsetElement;
use ipl\Html\FormElement\TextElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class DescriptionDecoratorTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/ErrorsDecoratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
use ipl\Html\FormDecoration\FormElementDecorationResult;
use ipl\Html\FormDecoration\ErrorsDecorator;
use ipl\Html\FormElement\TextElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class ErrorsDecoratorTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/FieldsetDecoratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use ipl\Html\FormDecoration\FieldsetDecorator;
use ipl\Html\FormElement\FieldsetElement;
use ipl\Html\FormElement\TextElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class FieldsetDecoratorTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/FormDecorationResultTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use ipl\Html\Form;
use ipl\Html\FormDecoration\FormDecorationResult;
use ipl\Html\Html;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class FormDecorationResultTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/FormDecorationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use ipl\Html\Contract\FormElementDecoration;
use ipl\Html\FormDecoration\Transformation;
use ipl\Html\Html;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class FormDecorationTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/FormElementDecorationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use ipl\Html\Form;
use ipl\Html\FormElement\TextElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;
use ipl\Tests\Html\TestDummy\SimpleFormElementDecorator;
use RuntimeException;

Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/HtmlTagDecoratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
use ipl\Html\FormDecoration\HtmlTagDecorator;
use ipl\Html\FormDecoration\Transformation;
use ipl\Html\FormElement\TextElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;
use RuntimeException;

class HtmlTagDecoratorTest extends TestCase
Expand Down
2 changes: 1 addition & 1 deletion tests/FormDecorator/LabelDecoratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use ipl\Html\FormElement\SubmitButtonElement;
use ipl\Html\FormElement\SubmitElement;
use ipl\Html\FormElement\TextElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class LabelDecoratorTest extends TestCase
{
Expand Down
1 change: 1 addition & 0 deletions tests/FormElement/CheckboxElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ipl\Tests\Html;

use ipl\Html\FormElement\CheckboxElement;
use ipl\Html\Test\TestCase;
use ipl\I18n\NoopTranslator;
use ipl\I18n\StaticTranslator;

Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/FieldsetElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use ipl\Html\FormElement\FieldsetElement;
use ipl\I18n\NoopTranslator;
use ipl\I18n\StaticTranslator;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;
use ipl\Tests\Html\TestDummy\SimpleFormElementDecorator;
use ipl\Validator\CallbackValidator;
use LogicException;
Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/FileElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use ipl\I18n\NoopTranslator;
use ipl\I18n\StaticTranslator;
use ipl\Tests\Html\Lib\FileElementWithAdjustableConfig;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;
use Psr\Http\Message\StreamInterface;

class FileElementTest extends TestCase
Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/FormElementValidationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use ipl\Html\FormElement\TextElement;
use ipl\I18n\NoopTranslator;
use ipl\I18n\StaticTranslator;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;
use ipl\Validator\CallbackValidator;

class FormElementValidationTest extends TestCase
Expand Down
1 change: 1 addition & 0 deletions tests/FormElement/LocalDateTimeElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use DateTime;
use ipl\Html\FormElement\LocalDateTimeElement;
use ipl\Html\Test\TestCase;

class LocalDateTimeElementTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/RadioElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use ipl\Html\FormElement\RadioOption;
use ipl\I18n\NoopTranslator;
use ipl\I18n\StaticTranslator;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class RadioElementTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/SelectElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use ipl\Html\FormElement\SelectOption;
use ipl\I18n\NoopTranslator;
use ipl\I18n\StaticTranslator;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;
use UnexpectedValueException;

class SelectElementTest extends TestCase
Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/SelectOptionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use ipl\Html\FormElement\SelectElement;
use ipl\Html\FormElement\SelectOption;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class SelectOptionTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/SubmitButtonElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use ipl\Html\Form;
use ipl\Html\FormElement\SubmitButtonElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class SubmitButtonElementTest extends TestCase
{
Expand Down
2 changes: 1 addition & 1 deletion tests/FormElement/TextElementTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use ipl\Html\Attributes;
use ipl\Html\FormElement\TextElement;
use ipl\Tests\Html\TestCase;
use ipl\Html\Test\TestCase;

class TextElementTest extends TestCase
{
Expand Down
1 change: 1 addition & 0 deletions tests/FormElementDecoratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ipl\Tests\Html;

use ipl\Html\Form;
use ipl\Html\Test\TestCase;
use ipl\Tests\Html\TestDummy\PositionedFormElementDecorator;
use ipl\Tests\Html\TestDummy\SimpleFormElementDecorator;
use ipl\Tests\Html\TestDummy\WithinContainerFormElementDecorator;
Expand Down
1 change: 1 addition & 0 deletions tests/FormElementsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use ipl\Html\Form;
use ipl\Html\FormElement\FormElements;
use ipl\Html\Test\TestCase;

class FormElementsTest extends TestCase
{
Expand Down
1 change: 1 addition & 0 deletions tests/FormTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use ipl\Html\Form;
use ipl\Html\FormElement\BaseFormElement;
use ipl\Html\Test\TestCase;
use Psr\Http\Message\ServerRequestInterface;

class FormTest extends TestCase
Expand Down
1 change: 1 addition & 0 deletions tests/FormattedStringTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use ipl\Html\FormattedString;
use ipl\Html\Html;
use ipl\Html\Test\TestCase;
use ipl\Tests\Html\TestDummy\ObjectThatCanBeCastedToString;

class FormattedStringTest extends TestCase
Expand Down
1 change: 1 addition & 0 deletions tests/HtmlDocumentTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use ipl\Html\BaseHtmlElement;
use ipl\Html\Html as h;
use ipl\Html\HtmlDocument;
use ipl\Html\Test\TestCase;
use ipl\Tests\Html\TestDummy\AddsContentDuringAssemble;
use ipl\Tests\Html\TestDummy\AddsWrapperDuringAssemble;
use ipl\Tests\Html\TestDummy\IterableElement;
Expand Down
1 change: 1 addition & 0 deletions tests/HtmlStringTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace ipl\Tests\Html;

use ipl\Html\HtmlString;
use ipl\Html\Test\TestCase;
use ipl\Html\Text;

class HtmlStringTest extends TestCase
Expand Down
1 change: 1 addition & 0 deletions tests/HtmlTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use InvalidArgumentException;
use ipl\Html\Html;
use ipl\Html\Test\TestCase;

class HtmlTest extends TestCase
{
Expand Down
3 changes: 2 additions & 1 deletion tests/TemplateStringTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
namespace ipl\Tests\Html;

use Exception;
use ipl\Html\TemplateString;
use ipl\Html\Html;
use ipl\Html\TemplateString;
use ipl\Html\Test\TestCase;

class TemplateStringTest extends TestCase
{
Expand Down
49 changes: 0 additions & 49 deletions tests/TestCase.php

This file was deleted.

Loading