/** * Test that pluralize() returns a plural form, respecting irregularities and other locale specific rules. */ public function testPluralize() { // irregular $this->assertEquals('opuses', Inflector::pluralize('opus')); $this->assertEquals('penises', Inflector::pluralize('penis')); $this->assertEquals('loaves', Inflector::pluralize('loaf')); $this->assertEquals('mythoi', Inflector::pluralize('mythos')); $this->assertEquals('men', Inflector::pluralize('man')); // uninflected $this->assertEquals('information', Inflector::pluralize('information')); $this->assertEquals('corps', Inflector::pluralize('corps')); $this->assertEquals('gallows', Inflector::pluralize('gallows')); $this->assertEquals('maltese', Inflector::pluralize('maltese')); $this->assertEquals('rice', Inflector::pluralize('rice')); // plural $this->assertEquals('matrices', Inflector::pluralize('matrix')); $this->assertEquals('buses', Inflector::pluralize('bus')); $this->assertEquals('perches', Inflector::pluralize('perch')); $this->assertEquals('people', Inflector::pluralize('person')); $this->assertEquals('bananas', Inflector::pluralize('banana')); // already plural $this->assertEquals('opuses', Inflector::pluralize('opuses')); $this->assertEquals('penises', Inflector::pluralize('penises')); $this->assertEquals('loaves', Inflector::pluralize('loaves')); $this->assertEquals('mythoi', Inflector::pluralize('mythoi')); $this->assertEquals('men', Inflector::pluralize('men')); }
/** * {@inheritdoc} */ public static function tableName($string) { return static::cache([__METHOD__, $string], function () use($string) { return lcfirst(Inflector::camelCase(Inflector::pluralize($string))); }); }