Skip to content

Commit ab7dc23

Browse files
authored
Don't auto-finalize config upon creation
1 parent ba2f25f commit ab7dc23

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

library/HTMLPurifier/HTML5Config.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,15 @@ public static function create($config = null, HTMLPurifier_ConfigSchema $schema
2929
}
3030
}
3131

32-
$def = $configObj->getHTMLDefinition(true); // this finalizes config
32+
// Prevent auto-finalization of config when retrieving HTML definition
33+
$autoFinalize = $configObj->autoFinalize;
34+
$configObj->autoFinalize = false;
35+
36+
$def = $configObj->getHTMLDefinition(true);
3337
HTMLPurifier_HTML5Definition::setup($def);
3438

39+
$configObj->autoFinalize = $autoFinalize;
40+
3541
return $configObj;
3642
}
3743

tests/HTMLPurifier/HTML5ConfigTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,10 @@ public function testCreate()
1515
));
1616
$this->assertInstanceOf('HTMLPurifier_Config', $config3);
1717
$this->assertEquals('iso-8859-1', $config3->get('Core.Encoding'));
18+
19+
$config4 = HTMLPurifier_HTML5Config::create();
20+
$config4->set('Core.Encoding', 'iso-8859-1');
21+
$this->assertInstanceOf('HTMLPurifier_Config', $config4);
22+
$this->assertEquals('iso-8859-1', $config4->get('Core.Encoding'));
1823
}
1924
}

0 commit comments

Comments
 (0)