You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					73 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					73 lines
				
				2.1 KiB
			| 
											13 years ago
										 | <?php
 | ||
|  | namespace yiiunit\framework\helpers;
 | ||
|  | use \yii\helpers\StringHelper as StringHelper;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * StringHelperTest
 | ||
|  |  */
 | ||
|  | class StringHelperTest extends \yii\test\TestCase
 | ||
|  | {
 | ||
|  | 	public function testStrlen()
 | ||
|  | 	{
 | ||
|  | 		$this->assertEquals(4, StringHelper::strlen('this'));
 | ||
|  | 		$this->assertEquals(6, StringHelper::strlen('это'));
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function testSubstr()
 | ||
|  | 	{
 | ||
|  | 		$this->assertEquals('th', StringHelper::substr('this', 0, 2));
 | ||
|  | 		$this->assertEquals('э', StringHelper::substr('это', 0, 2));
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function testPluralize()
 | ||
|  | 	{
 | ||
|  | 		$testData = array(
 | ||
|  | 			'move' => '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, StringHelper::pluralize($testIn));
 | ||
|  | 			$this->assertEquals(ucfirst($testOut), ucfirst(StringHelper::pluralize($testIn)));
 | ||
|  | 		}
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function testCamel2words()
 | ||
|  | 	{
 | ||
|  | 		$this->assertEquals('Camel Case', StringHelper::camel2words('camelCase'));
 | ||
|  | 		$this->assertEquals('Lower Case', StringHelper::camel2words('lower_case'));
 | ||
|  | 		$this->assertEquals('Tricky Stuff It Is Testing', StringHelper::camel2words(' tricky_stuff.it-is testing... '));
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function testCamel2id()
 | ||
|  | 	{
 | ||
|  | 		$this->assertEquals('post-tag', StringHelper::camel2id('PostTag'));
 | ||
|  | 		$this->assertEquals('post_tag', StringHelper::camel2id('PostTag', '_'));
 | ||
|  | 
 | ||
|  | 		$this->assertEquals('post-tag', StringHelper::camel2id('postTag'));
 | ||
|  | 		$this->assertEquals('post_tag', StringHelper::camel2id('postTag', '_'));
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function testId2camel()
 | ||
|  | 	{
 | ||
|  | 		$this->assertEquals('PostTag', StringHelper::id2camel('post-tag'));
 | ||
|  | 		$this->assertEquals('PostTag', StringHelper::id2camel('post_tag', '_'));
 | ||
|  | 
 | ||
|  | 		$this->assertEquals('PostTag', StringHelper::id2camel('post-tag'));
 | ||
|  | 		$this->assertEquals('PostTag', StringHelper::id2camel('post_tag', '_'));
 | ||
|  | 	}
 | ||
|  | }
 |