diff --git a/src/DeepClone/DeepClone.php b/src/DeepClone/DeepClone.php index 1f90ecbc..108bd523 100644 --- a/src/DeepClone/DeepClone.php +++ b/src/DeepClone/DeepClone.php @@ -25,7 +25,6 @@ final class DeepClone 'XMLReader' => true, 'SNMP' => true, 'tidy' => true, - 'tidyNode' => true, ]; private static array $reflectors = []; diff --git a/tests/DeepClone/DeepCloneTest.php b/tests/DeepClone/DeepCloneTest.php index 53cf7628..c31085b7 100644 --- a/tests/DeepClone/DeepCloneTest.php +++ b/tests/DeepClone/DeepCloneTest.php @@ -1044,6 +1044,31 @@ public function testRoundTripWithAllowedClasses() $this->assertSame(1, $c->x); } + // ───────────────────────────────────────────────────────────────────── + // deepclone_rule_a_probe.phpt — final internal classes without serialization API + // ───────────────────────────────────────────────────────────────────── + + /** + * @requires extension tidy + */ + public function testTidyNodeRoundTrip() + { + $tidy = new \tidy(); + $tidy->parseString('

hello

', [], 'utf8'); + $b = $tidy->body()->child[0]->child[0]; // node + + $clone = deepclone_from_array(deepclone_to_array($b)); + + $this->assertInstanceOf(\tidyNode::class, $clone); + $this->assertNotSame($b, $clone); + $this->assertSame($b->name, $clone->name); + $this->assertSame($b->value, $clone->value); + } + + // ───────────────────────────────────────────────────────────────────── + // deepclone_mongodb.phpt — MongoDB BSON types round-trip + // ───────────────────────────────────────────────────────────────────── + /** * @requires extension mongodb */