StringHelperTest.php 2.05 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
<?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', '_'));
	}
}