mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge pull request #4751 from dhensby/pulls/plural-fix
Fixing issue where words ending ay/ey/iy/oy/uy are not pluralised correctly
This commit is contained in:
commit
6d85d618b6
@ -781,7 +781,10 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
|
||||
return $name;
|
||||
} else {
|
||||
$name = $this->singular_name();
|
||||
if(substr($name,-1) == 'y') $name = substr($name,0,-1) . 'ie';
|
||||
//if the penultimate character is not a vowel, replace "y" with "ies"
|
||||
if (preg_match('/[^aeiou]y$/i', $name)) {
|
||||
$name = substr($name,0,-1) . 'ie';
|
||||
}
|
||||
return ucfirst($name . 's');
|
||||
}
|
||||
}
|
||||
|
@ -26,6 +26,9 @@ class DataObjectTest extends SapphireTest {
|
||||
'DataObjectTest_Staff',
|
||||
'DataObjectTest_CEO',
|
||||
'DataObjectTest_Fan',
|
||||
'DataObjectTest_Play',
|
||||
'DataObjectTest_Ploy',
|
||||
'DataObjectTest_Bogey',
|
||||
);
|
||||
|
||||
public function testDb() {
|
||||
@ -1341,7 +1344,10 @@ class DataObjectTest extends SapphireTest {
|
||||
$assertions = array(
|
||||
'DataObjectTest_Player' => 'Data Object Test Players',
|
||||
'DataObjectTest_Team' => 'Data Object Test Teams',
|
||||
'DataObjectTest_Fixture' => 'Data Object Test Fixtures'
|
||||
'DataObjectTest_Fixture' => 'Data Object Test Fixtures',
|
||||
'DataObjectTest_Play' => 'Data Object Test Plays',
|
||||
'DataObjectTest_Bogey' => 'Data Object Test Bogeys',
|
||||
'DataObjectTest_Ploy' => 'Data Object Test Ploys',
|
||||
);
|
||||
|
||||
foreach($assertions as $class => $expectedPluralName) {
|
||||
@ -1937,5 +1943,9 @@ class DataObjectTest_ExtendedTeamComment extends DataObjectTest_TeamComment {
|
||||
);
|
||||
}
|
||||
|
||||
class DataObjectTest_Play extends DataObject implements TestOnly {}
|
||||
class DataObjectTest_Ploy extends DataObject implements TestOnly {}
|
||||
class DataObjectTest_Bogey extends DataObject implements TestOnly {}
|
||||
|
||||
DataObjectTest_Team::add_extension('DataObjectTest_Team_Extension');
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user