diff --git a/Resources/config/html_sanitizer.php b/Resources/config/html_sanitizer.php index 9afb63261..175dc2e23 100644 --- a/Resources/config/html_sanitizer.php +++ b/Resources/config/html_sanitizer.php @@ -18,7 +18,7 @@ return static function (ContainerConfigurator $container) { $container->services() ->set('html_sanitizer.config.default', HtmlSanitizerConfig::class) - ->call('allowSafeElements') + ->call('allowSafeElements', [], true) ->set('html_sanitizer.sanitizer.default', HtmlSanitizer::class) ->args([service('html_sanitizer.config.default')]) diff --git a/Resources/config/serializer.php b/Resources/config/serializer.php index 5655c05a2..c960f12d3 100644 --- a/Resources/config/serializer.php +++ b/Resources/config/serializer.php @@ -98,7 +98,7 @@ ->set('serializer.normalizer.json_serializable', JsonSerializableNormalizer::class) ->args([null, null]) - ->tag('serializer.normalizer', ['priority' => -900]) + ->tag('serializer.normalizer', ['priority' => -950]) ->set('serializer.normalizer.problem', ProblemNormalizer::class) ->args([param('kernel.debug')]) diff --git a/Tests/DependencyInjection/Fixtures/php/html_sanitizer.php b/Tests/DependencyInjection/Fixtures/php/html_sanitizer.php index 2c8e2eb16..2d117e838 100644 --- a/Tests/DependencyInjection/Fixtures/php/html_sanitizer.php +++ b/Tests/DependencyInjection/Fixtures/php/html_sanitizer.php @@ -4,7 +4,7 @@ 'http_method_override' => false, 'html_sanitizer' => [ 'sanitizers' => [ - 'default' => [ + 'custom' => [ 'allow_safe_elements' => true, 'allow_static_elements' => true, 'allow_elements' => [ diff --git a/Tests/DependencyInjection/Fixtures/php/html_sanitizer_default_config.php b/Tests/DependencyInjection/Fixtures/php/html_sanitizer_default_config.php new file mode 100644 index 000000000..ae973a2db --- /dev/null +++ b/Tests/DependencyInjection/Fixtures/php/html_sanitizer_default_config.php @@ -0,0 +1,5 @@ +loadFromExtension('framework', [ + 'http_method_override' => false, + 'html_sanitizer' => null]); diff --git a/Tests/DependencyInjection/Fixtures/xml/html_sanitizer.xml b/Tests/DependencyInjection/Fixtures/xml/html_sanitizer.xml index a974ec6ca..771652c8d 100644 --- a/Tests/DependencyInjection/Fixtures/xml/html_sanitizer.xml +++ b/Tests/DependencyInjection/Fixtures/xml/html_sanitizer.xml @@ -7,7 +7,7 @@ - + + + + + + + diff --git a/Tests/DependencyInjection/Fixtures/yml/html_sanitizer.yml b/Tests/DependencyInjection/Fixtures/yml/html_sanitizer.yml index 414fcfffc..007f4875b 100644 --- a/Tests/DependencyInjection/Fixtures/yml/html_sanitizer.yml +++ b/Tests/DependencyInjection/Fixtures/yml/html_sanitizer.yml @@ -2,7 +2,7 @@ framework: http_method_override: false html_sanitizer: sanitizers: - default: + custom: allow_safe_elements: true allow_static_elements: true allow_elements: diff --git a/Tests/DependencyInjection/Fixtures/yml/html_sanitizer_default_config.yml b/Tests/DependencyInjection/Fixtures/yml/html_sanitizer_default_config.yml new file mode 100644 index 000000000..94fff31d6 --- /dev/null +++ b/Tests/DependencyInjection/Fixtures/yml/html_sanitizer_default_config.yml @@ -0,0 +1,3 @@ +framework: + http_method_override: false + html_sanitizer: ~ diff --git a/Tests/DependencyInjection/FrameworkExtensionTest.php b/Tests/DependencyInjection/FrameworkExtensionTest.php index c932298ce..3347a1687 100644 --- a/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -1438,7 +1438,7 @@ public function testJsonSerializableNormalizerRegistered() $tag = $definition->getTag('serializer.normalizer'); $this->assertEquals(JsonSerializableNormalizer::class, $definition->getClass()); - $this->assertEquals(-900, $tag[0]['priority']); + $this->assertEquals(-950, $tag[0]['priority']); } public function testObjectNormalizerRegistered() @@ -2050,16 +2050,14 @@ public function testHtmlSanitizer() $container = $this->createContainerFromFile('html_sanitizer'); // html_sanitizer service - $this->assertTrue($container->hasAlias('html_sanitizer'), '->registerHtmlSanitizerConfiguration() loads html_sanitizer.php'); - $this->assertSame('html_sanitizer.sanitizer.default', (string) $container->getAlias('html_sanitizer')); - $this->assertSame(HtmlSanitizer::class, $container->getDefinition('html_sanitizer.sanitizer.default')->getClass()); - $this->assertCount(1, $args = $container->getDefinition('html_sanitizer.sanitizer.default')->getArguments()); - $this->assertSame('html_sanitizer.config.default', (string) $args[0]); + $this->assertSame(HtmlSanitizer::class, $container->getDefinition('html_sanitizer.sanitizer.custom')->getClass()); + $this->assertCount(1, $args = $container->getDefinition('html_sanitizer.sanitizer.custom')->getArguments()); + $this->assertSame('html_sanitizer.config.custom', (string) $args[0]); // config - $this->assertTrue($container->hasDefinition('html_sanitizer.config.default'), '->registerHtmlSanitizerConfiguration() loads custom sanitizer'); - $this->assertSame(HtmlSanitizerConfig::class, $container->getDefinition('html_sanitizer.config.default')->getClass()); - $this->assertCount(23, $calls = $container->getDefinition('html_sanitizer.config.default')->getMethodCalls()); + $this->assertTrue($container->hasDefinition('html_sanitizer.config.custom'), '->registerHtmlSanitizerConfiguration() loads custom sanitizer'); + $this->assertSame(HtmlSanitizerConfig::class, $container->getDefinition('html_sanitizer.config.custom')->getClass()); + $this->assertCount(23, $calls = $container->getDefinition('html_sanitizer.config.custom')->getMethodCalls()); $this->assertSame( [ ['allowSafeElements', [], true], @@ -2103,6 +2101,30 @@ static function ($call) { // Named alias $this->assertSame('html_sanitizer.sanitizer.all.sanitizer', (string) $container->getAlias(HtmlSanitizerInterface::class.' $allSanitizer')); $this->assertFalse($container->hasAlias(HtmlSanitizerInterface::class.' $default')); + } + + public function testHtmlSanitizerDefaultConfig() + { + $container = $this->createContainerFromFile('html_sanitizer_default_config'); + + // html_sanitizer service + $this->assertTrue($container->hasAlias('html_sanitizer'), '->registerHtmlSanitizerConfiguration() loads default_config'); + $this->assertSame('html_sanitizer.sanitizer.default', (string) $container->getAlias('html_sanitizer')); + $this->assertSame(HtmlSanitizer::class, $container->getDefinition('html_sanitizer.sanitizer.default')->getClass()); + $this->assertCount(1, $args = $container->getDefinition('html_sanitizer.sanitizer.default')->getArguments()); + $this->assertSame('html_sanitizer.config.default', (string) $args[0]); + + // config + $this->assertTrue($container->hasDefinition('html_sanitizer.config.default'), '->registerHtmlSanitizerConfiguration() loads custom sanitizer'); + $this->assertSame(HtmlSanitizerConfig::class, $container->getDefinition('html_sanitizer.config.default')->getClass()); + $this->assertCount(1, $calls = $container->getDefinition('html_sanitizer.config.default')->getMethodCalls()); + $this->assertSame( + ['allowSafeElements', [], true], + $calls[0] + ); + + // Named alias + $this->assertFalse($container->hasAlias(HtmlSanitizerInterface::class.' $default')); // Default alias $this->assertSame('html_sanitizer', (string) $container->getAlias(HtmlSanitizerInterface::class)); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy