diff --git a/tests/cases/TestSerializer.php b/tests/cases/TestSerializer.php
index 6fc05bc..317d405 100644
--- a/tests/cases/TestSerializer.php
+++ b/tests/cases/TestSerializer.php
@@ -11,6 +11,7 @@ namespace MensBeam\HTML\DOM\TestCase;
use MensBeam\HTML\Parser\Exception;
use MensBeam\HTML\Parser;
use MensBeam\HTML\Parser\AttributeSetter;
+use MensBeam\HTML\Parser\Config;
use MensBeam\HTML\Parser\NameCoercion;
use MensBeam\HTML\Parser\Serializer;
@@ -136,6 +137,26 @@ class TestSerializer extends \PHPUnit\Framework\TestCase {
];
}
+ /** @dataProvider provideCustomSerializations */
+ public function testSerializeWithSimpleOptions(string $in, bool $boolAttr, bool $foreignVoid, string $exp): void {
+ $config = new Config;
+ $config->serializeBooleanAttributeValues = $boolAttr;
+ $config->serializeForeignVoidEndTags = $foreignVoid;
+ $body = Parser::parse($in, "UTF-8")->document->getElementsByTagName("body")[0];
+ $act = Parser::serializeInner($body, $config);
+ $this->assertSame($exp, $act);
+ }
+
+ public function provideCustomSerializations(): iterable {
+ return [
+ ['', true, true, ''],
+ ['', false, true, ''],
+ ['
', true, true, '
'],
+ ['
', true, false, '
'],
+ ['', false, false, ''],
+ ];
+ }
+
public function testOuterSerializeAnInvalidNode(): void {
$d = new \DOMDocument;
$a = $d->createAttribute("oops");