'moves', 'foot' => 'feet', 'child' => 'children', 'human' => 'humans', 'man' => 'men', 'staff' => 'staff', 'tooth' => 'teeth', 'person' => 'people', 'mouse' => 'mice', 'touch' => 'touches', 'hash' => 'hashes', 'shelf' => 'shelves', 'potato' => 'potatoes', 'bus' => 'buses', 'test' => 'tests', 'car' => 'cars', ); foreach ($testData as $testIn => $testOut) { $this->assertEquals($testOut, Inflector::pluralize($testIn)); $this->assertEquals(ucfirst($testOut), ucfirst(Inflector::pluralize($testIn))); } } public function testSingularize() { $testData = array( 'moves' => 'move', 'feet' => 'foot', 'children' => 'child', 'humans' => 'human', 'men' => 'man', 'staff' => 'staff', 'teeth' => 'tooth', 'people' => 'person', 'mice' => 'mouse', 'touches' => 'touch', 'hashes' => 'hash', 'shelves' => 'shelf', 'potatoes' => 'potato', 'buses' => 'bus', 'tests' => 'test', 'cars' => 'car', ); foreach ($testData as $testIn => $testOut) { $this->assertEquals($testOut, Inflector::singularize($testIn)); $this->assertEquals(ucfirst($testOut), ucfirst(Inflector::singularize($testIn))); } } public function testTitleize() { $this->assertEquals("Me my self and i", Inflector::titleize('MeMySelfAndI')); $this->assertEquals("Me My Self And I", Inflector::titleize('MeMySelfAndI', true)); } public function testCamelize() { $this->assertEquals("MeMySelfAndI", Inflector::camelize('me my_self-andI')); } public function testUnderscore() { $this->assertEquals("me_my_self_and_i", Inflector::underscore('MeMySelfAndI')); } public function testCamel2words() { $this->assertEquals('Camel Case', Inflector::camel2words('camelCase')); $this->assertEquals('Lower Case', Inflector::camel2words('lower_case')); $this->assertEquals('Tricky Stuff It Is Testing', Inflector::camel2words(' tricky_stuff.it-is testing... ')); } public function testCamel2id() { $this->assertEquals('post-tag', Inflector::camel2id('PostTag')); $this->assertEquals('post_tag', Inflector::camel2id('PostTag', '_')); $this->assertEquals('post-tag', Inflector::camel2id('postTag')); $this->assertEquals('post_tag', Inflector::camel2id('postTag', '_')); } public function testId2camel() { $this->assertEquals('PostTag', Inflector::id2camel('post-tag')); $this->assertEquals('PostTag', Inflector::id2camel('post_tag', '_')); $this->assertEquals('PostTag', Inflector::id2camel('post-tag')); $this->assertEquals('PostTag', Inflector::id2camel('post_tag', '_')); } public function testHumanize() { $this->assertEquals("Me my self and i", Inflector::humanize('me_my_self_and_i')); $this->assertEquals("Me My Self And I", Inflector::humanize('me_my_self_and_i', true)); } public function testVariablize() { $this->assertEquals("customerTable", Inflector::variablize('customer_table')); } public function testTableize() { $this->assertEquals("customer_tables", Inflector::tableize('customerTable')); } public function testSlug() { $this->assertEquals("this-is-a-title", Inflector::slug('this is a title')); } public function testClassify() { $this->assertEquals("CustomerTable", Inflector::classify('customer_tables')); } public function testOrdinalize() { $this->assertEquals('21st', Inflector::ordinalize('21')); } public function testAscii() { $this->assertEquals("AAAAAAAECEEEEIIIIDNOOOOOUUUUYssaaaaaaaeceeeeiiiidnooooouuuuyy", Inflector::ascii('ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ')); $this->assertEquals("Messd up --text-- just to stress /test/ our little clean url function--", Inflector::ascii("Mess'd up --text-- just (to) stress /test/ ?our! `little` \\clean\\ url fun.ction!?-->")); $this->assertEquals("Perche l erba e verde", Inflector::ascii("Perché l'erba è verde?", "'")); $this->assertEquals("Peux-tu m aider s il te plait", Inflector::ascii("Peux-tu m'aider s'il te plaît?", "'")); $this->assertEquals("Tank-efter-nu-forrn-vi-foser-dig-bort", Inflector::slug(Inflector::ascii("Tänk efter nu – förr'n vi föser dig bort"))); $this->assertEquals("Custom delimiter example", Inflector::ascii("Custom`delimiter*example", array('*', '`'))); } }