From ef1892019342f43b9fc4e69787533f7722f85ca7 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 26 Aug 2026 20:54:38 +0700 Subject: [PATCH] [Naming] Skip valid singular name with "ous" suffix on RenameForeachValueVariableToMatchExprVariableRector --- .../rename_to_singular_anonymous.php.inc | 31 +++++++++++++++++++ .../skip_valid_singular_anonymous.php.inc | 13 ++++++++ .../InflectorSingularResolver.php | 12 +++++-- .../InflectorSingularResolverTest.php | 5 +++ 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/rename_to_singular_anonymous.php.inc create mode 100644 rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/skip_valid_singular_anonymous.php.inc diff --git a/rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/rename_to_singular_anonymous.php.inc b/rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/rename_to_singular_anonymous.php.inc new file mode 100644 index 00000000000..a412e0c2712 --- /dev/null +++ b/rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/rename_to_singular_anonymous.php.inc @@ -0,0 +1,31 @@ + +----- + diff --git a/rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/skip_valid_singular_anonymous.php.inc b/rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/skip_valid_singular_anonymous.php.inc new file mode 100644 index 00000000000..1518a1f5f19 --- /dev/null +++ b/rules-tests/Naming/Rector/Foreach_/RenameForeachValueVariableToMatchExprVariableRector/Fixture/skip_valid_singular_anonymous.php.inc @@ -0,0 +1,13 @@ +inflector->singularize((string) $camelCase[self::CAMELCASE]); + $value = $this->inflector->singularize($camelCaseValue); } $resolvedName .= $value; diff --git a/tests/Naming/ExpectedNameResolver/InflectorSingularResolverTest.php b/tests/Naming/ExpectedNameResolver/InflectorSingularResolverTest.php index b3410dff31e..6f995c3f958 100644 --- a/tests/Naming/ExpectedNameResolver/InflectorSingularResolverTest.php +++ b/tests/Naming/ExpectedNameResolver/InflectorSingularResolverTest.php @@ -42,5 +42,10 @@ public static function provideData(): Iterator yield ['staticCallsToNews', 'staticCallToNew']; yield ['newsToMethodCalls', 'newToMethodCall']; yield ['hasFilters', 'hasFilter']; + + // "ous" adjectives must be kept as is + yield ['anonymousClassNodes', 'anonymousClassNode']; + yield ['previousItems', 'previousItem']; + yield ['anonymous', 'anonymous']; } }