diff --git a/src/Russian/NounPluralization.php b/src/Russian/NounPluralization.php index 5c4012f..37cba02 100644 --- a/src/Russian/NounPluralization.php +++ b/src/Russian/NounPluralization.php @@ -208,7 +208,7 @@ protected static function declinateSubstative($word, $animateness) } else { $forms[Cases::RODIT] = $prefix; } - } elseif (S::slice($word, -2) == 'ка') { // words ending with -ка: чашка, вилка, ложка, тарелка, копейка, батарейка + } elseif (S::slice($word, -2) == 'ка' && S::slice($word, -3, -2) !== 'и') { // words ending with -ка: чашка, вилка, ложка, тарелка, копейка, батарейка if (S::slice($word, -3, -2) == 'л') { $forms[Cases::RODIT] = S::slice($word, 0, -2).'ок'; } elseif (S::slice($word, -3, -2) == 'й') { diff --git a/tests/Russian/NounDeclensionTest.php b/tests/Russian/NounDeclensionTest.php index 7fa2daf..35a1b57 100644 --- a/tests/Russian/NounDeclensionTest.php +++ b/tests/Russian/NounDeclensionTest.php @@ -42,6 +42,7 @@ public function wordsProvider() ['копейка', false, 1, ['копейка', 'копейки', 'копейке', 'копейку', 'копейкой', 'копейке']], ['батарейка', false, 1, ['батарейка', 'батарейки', 'батарейке', 'батарейку', 'батарейкой', 'батарейке']], ['гривна', false, 1, ['гривна', 'гривны', 'гривне', 'гривну', 'гривной', 'гривне']], + ['фабрика', false, 1, ['фабрика', 'фабрики', 'фабрике', 'фабрику', 'фабрикой', 'фабрике']], ['дом', false, 2, ['дом', 'дома', 'дому', 'дом', 'домом', 'доме']], ['поле', false, 2, ['поле', 'поля', 'полю', 'поле', 'полем', 'поле']], diff --git a/tests/Russian/NounPluralizationTest.php b/tests/Russian/NounPluralizationTest.php index e6299a7..7a3f495 100644 --- a/tests/Russian/NounPluralizationTest.php +++ b/tests/Russian/NounPluralizationTest.php @@ -85,6 +85,7 @@ public function pluralWordsProvider() ['халат', false, ['халаты', 'халатов', 'халатам', 'халаты', 'халатами', 'халатах']], ['прожектор', false, ['прожекторы', 'прожекторов', 'прожекторам', 'прожекторы', 'прожекторами', 'прожекторах']], ['пирсинг', false, ['пирсинги', 'пирсингов', 'пирсингам', 'пирсинги', 'пирсингами', 'пирсингах']], + ['фабрика', false, ['фабрики', 'фабрик', 'фабрикам', 'фабрики', 'фабриками', 'фабриках']], ['копейка', false, ['копейки', 'копеек', 'копейкам', 'копейки', 'копейками', 'копейках']], ['батарейка', false, ['батарейки', 'батареек', 'батарейкам', 'батарейки', 'батарейками', 'батарейках']],