From 760bdc4f8d566be476bdb1a97c51ad452b973deb Mon Sep 17 00:00:00 2001 From: Thibaut Chieux Date: Tue, 6 May 2025 15:35:55 +0200 Subject: [PATCH 1/2] Add test for translatable BackedEnum with explicit match in trans method --- .../Visitor/TransMethodVisitorTest.php | 5 +++++ .../translatable-backed-enum.html.php | 22 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/Symfony/Component/Translation/Tests/Fixtures/extractor-php-ast/trans-method-visitor/translatable-backed-enum.html.php diff --git a/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php b/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php index 2b0ffda00f5c3..f3762f6a2212b 100644 --- a/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php +++ b/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php @@ -71,6 +71,9 @@ public function assertCatalogue(MessageCatalogue $catalogue): void 'translatable-short-fqn '.$expectedNowdoc => 'prefixtranslatable-short-fqn '.$expectedNowdoc, 'translatable-short-fqn concatenated message with heredoc and nowdoc' => 'prefixtranslatable-short-fqn concatenated message with heredoc and nowdoc', 'translatable-short-fqn default domain' => 'prefixtranslatable-short-fqn default domain', + 'text_align.left.label' => 'prefixtext_align.left.label', + 'text_align.center.label' => 'prefixtext_align.center.label', + 'text_align.right.label' => 'prefixtext_align.right.label', ], 'not_messages' => [ 'other-domain-test-no-params-short-array' => 'prefixother-domain-test-no-params-short-array', @@ -111,5 +114,7 @@ public function assertCatalogue(MessageCatalogue $catalogue): void $this->assertEquals(['sources' => [self::FIXTURES_FOLDER . 'translatable-short-fqn.html.php:2']], $catalogue->getMetadata('translatable-short-fqn single-quoted key')); $this->assertEquals(['sources' => [self::FIXTURES_FOLDER . 'translatable-short-fqn.html.php:37']], $catalogue->getMetadata('translatable-short-fqn other-domain-test-no-params-short-array', 'not_messages')); + + $this->assertEquals(['sources' => [self::FIXTURES_FOLDER . 'translatable-backed-enum.html.php:16']], $catalogue->getMetadata('text_align.left.label')); } } diff --git a/src/Symfony/Component/Translation/Tests/Fixtures/extractor-php-ast/trans-method-visitor/translatable-backed-enum.html.php b/src/Symfony/Component/Translation/Tests/Fixtures/extractor-php-ast/trans-method-visitor/translatable-backed-enum.html.php new file mode 100644 index 0000000000000..e3529bf56a34f --- /dev/null +++ b/src/Symfony/Component/Translation/Tests/Fixtures/extractor-php-ast/trans-method-visitor/translatable-backed-enum.html.php @@ -0,0 +1,22 @@ +This template is used for translation message extraction tests + $translator->trans('text_align.left.label', locale: $locale), + self::Center => $translator->trans('text_align.center.label', locale: $locale), + self::Right => $translator->trans('text_align.right.label', locale: $locale), + }; + } +} From 6e49ce3679483981e4ad9981227fc0c84438fae4 Mon Sep 17 00:00:00 2001 From: Mathieu Santostefano Date: Fri, 9 May 2025 14:40:28 +0200 Subject: [PATCH 2/2] Update src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php Co-authored-by: Hubert Lenoir --- .../Tests/Extractor/Visitor/TransMethodVisitorTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php b/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php index f3762f6a2212b..9340b23a18269 100644 --- a/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php +++ b/src/Symfony/Component/Translation/Tests/Extractor/Visitor/TransMethodVisitorTest.php @@ -115,6 +115,6 @@ public function assertCatalogue(MessageCatalogue $catalogue): void $this->assertEquals(['sources' => [self::FIXTURES_FOLDER . 'translatable-short-fqn.html.php:2']], $catalogue->getMetadata('translatable-short-fqn single-quoted key')); $this->assertEquals(['sources' => [self::FIXTURES_FOLDER . 'translatable-short-fqn.html.php:37']], $catalogue->getMetadata('translatable-short-fqn other-domain-test-no-params-short-array', 'not_messages')); - $this->assertEquals(['sources' => [self::FIXTURES_FOLDER . 'translatable-backed-enum.html.php:16']], $catalogue->getMetadata('text_align.left.label')); + $this->assertEquals(['sources' => [self::FIXTURES_FOLDER . 'translatable-backed-enum.html.php:17']], $catalogue->getMetadata('text_align.left.label')); } }