From 07a0ce6656e6de53a529018fe7a1421be838d2ad Mon Sep 17 00:00:00 2001 From: Albert Prat Date: Tue, 14 Jun 2022 14:07:47 +0200 Subject: [PATCH 1/2] [FrameworkBundle] Lower JsonSerializableNormalizer priority --- Resources/config/serializer.xml | 2 +- Tests/DependencyInjection/FrameworkExtensionTest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/config/serializer.xml b/Resources/config/serializer.xml index c3eea28b8..19defd885 100644 --- a/Resources/config/serializer.xml +++ b/Resources/config/serializer.xml @@ -60,7 +60,7 @@ - + diff --git a/Tests/DependencyInjection/FrameworkExtensionTest.php b/Tests/DependencyInjection/FrameworkExtensionTest.php index c2c7bc6b8..e86e22a20 100644 --- a/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -1297,7 +1297,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() From 2a5c75abda7887b030fdcc7ce441d9b4a5bf1744 Mon Sep 17 00:00:00 2001 From: plfort Date: Thu, 23 Jun 2022 22:03:41 +0200 Subject: [PATCH 2/2] [HtmlSanitizer] Fix default configuration --- Resources/config/html_sanitizer.php | 2 +- .../Fixtures/php/html_sanitizer.php | 2 +- .../php/html_sanitizer_default_config.php | 5 +++ .../Fixtures/xml/html_sanitizer.xml | 2 +- .../xml/html_sanitizer_default_config.xml | 11 ++++++ .../Fixtures/yml/html_sanitizer.yml | 2 +- .../yml/html_sanitizer_default_config.yml | 3 ++ .../FrameworkExtensionTest.php | 38 +++++++++++++++---- 8 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 Tests/DependencyInjection/Fixtures/php/html_sanitizer_default_config.php create mode 100644 Tests/DependencyInjection/Fixtures/xml/html_sanitizer_default_config.xml create mode 100644 Tests/DependencyInjection/Fixtures/yml/html_sanitizer_default_config.yml 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/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 1ee7b3622..3347a1687 100644 --- a/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -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