bug #18909 Fixed singular of committee (peterrehm)

This PR was squashed before being merged into the 3.1 branch (closes #18909).

Discussion
----------

Fixed singular of committee

| Q             | A
| ------------- | ---
| Branch?       | 3.1?
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #18872, #18748
| License       | MIT
| Doc PR        | -

As in SF 3.1 the StringUtil has been moved to a new Component, I am proposing this for 3.1.
I can easily provide the same in an additional PR against the 2.3? branch.

Commits
-------

b5e1f24 Fixed singular of committee
This commit is contained in:
Fabien Potencier 2016-06-08 13:24:11 +02:00
commit c87c175ad5
2 changed files with 10 additions and 6 deletions

View File

@ -26,7 +26,6 @@ final class Inflector
* @var array
*
* @see http://english-zone.com/spelling/plurals.html
* @see http://www.scribd.com/doc/3271143/List-of-100-Irregular-Plural-Nouns-in-English
*/
private static $pluralMap = array(
// First entry: plural suffix, reversed
@ -71,6 +70,15 @@ final class Inflector
// movies (movie)
array('seivom', 6, true, true, 'movie'),
// feet (foot)
array('teef', 4, true, true, 'foot'),
// geese (goose)
array('eseeg', 5, true, true, 'goose'),
// teeth (tooth)
array('hteet', 5, true, true, 'tooth'),
// news (news)
array('swen', 4, true, true, 'news'),
@ -218,11 +226,6 @@ final class Inflector
}
}
// Convert teeth to tooth, feet to foot
if (false !== ($pos = strpos($plural, 'ee')) && strlen($plural) > 3 && 'feedback' !== $plural) {
return substr_replace($plural, 'oo', $pos, 2);
}
// Assume that plural and singular is identical
return $plural;
}

View File

@ -53,6 +53,7 @@ class InflectorTest extends \PHPUnit_Framework_TestCase
array('children', 'child'),
array('circuses', array('circus', 'circuse', 'circusis')),
array('cliffs', 'cliff'),
array('committee', 'committee'),
array('crises', array('cris', 'crise', 'crisis')),
array('criteria', array('criterion', 'criterium')),
array('cups', 'cup'),