mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-16 15:21:13 +08:00
Adjusted phpdoc, tests and changelog for StringHelper::truncate and StringHelper::truncateWords
This commit is contained in:
@ -25,7 +25,7 @@ Yii Framework 2 Change Log
|
|||||||
- Enh #2264: `CookieCollection::has()` will return false for expired or removed cookies (qiangxue)
|
- Enh #2264: `CookieCollection::has()` will return false for expired or removed cookies (qiangxue)
|
||||||
- Enh #2837: Error page now shows arguments in stack trace method calls (samdark)
|
- Enh #2837: Error page now shows arguments in stack trace method calls (samdark)
|
||||||
- Enh #2906: Added support for using conditional comments for js and css files registered through asset bundles and Html helper (exromany, qiangxue)
|
- Enh #2906: Added support for using conditional comments for js and css files registered through asset bundles and Html helper (exromany, qiangxue)
|
||||||
- Enh #2942: Added truncate and truncateWord methods (Alex-Code)
|
- Enh #2942: Added truncate and truncateWord methods (Alex-Code, samdark)
|
||||||
- Enh #3008: Added `Html::errorSummary()` (qiangxue)
|
- Enh #3008: Added `Html::errorSummary()` (qiangxue)
|
||||||
- Enh #3088: The debug and gii modules will manage their own URL rules now (hiltonjanfield, qiangxue)
|
- Enh #3088: The debug and gii modules will manage their own URL rules now (hiltonjanfield, qiangxue)
|
||||||
- Enh #3103: debugger panel is now not displayed when printing a page (githubjeka)
|
- Enh #3103: debugger panel is now not displayed when printing a page (githubjeka)
|
||||||
|
@ -89,11 +89,12 @@ class BaseStringHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Truncates a string to the specified length.
|
* Truncates a string to the number of characters specified.
|
||||||
|
*
|
||||||
* @param string $string The string to truncate.
|
* @param string $string The string to truncate.
|
||||||
* @param integer $length The new length of the string.
|
* @param integer $length How many characters from original string to include into truncated string.
|
||||||
* @param string $suffix A value to affix to the end.
|
* @param string $suffix String to append to the end of truncated string.
|
||||||
* @param string $encoding The charset to use, defaults to application current.
|
* @param string $encoding The charset to use, defaults to charset currently used by application.
|
||||||
* @return string the truncated string.
|
* @return string the truncated string.
|
||||||
*/
|
*/
|
||||||
public static function truncate($string, $length, $suffix = '...', $encoding = null)
|
public static function truncate($string, $length, $suffix = '...', $encoding = null)
|
||||||
@ -106,10 +107,11 @@ class BaseStringHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Split a string into words preserving whitespace and return the specified amount of words.
|
* Truncates a string to the number of words specified.
|
||||||
|
*
|
||||||
* @param string $string The string to truncate.
|
* @param string $string The string to truncate.
|
||||||
* @param integer $count How many words to truncate to.
|
* @param integer $count How many words from original string to include into truncated string.
|
||||||
* @param string $suffix A value to affix to the end.
|
* @param string $suffix String to append to the end of truncated string.
|
||||||
* @return string the truncated string.
|
* @return string the truncated string.
|
||||||
*/
|
*/
|
||||||
public static function truncateWords($string, $count, $suffix = '...')
|
public static function truncateWords($string, $count, $suffix = '...')
|
||||||
|
@ -10,6 +10,12 @@ use yiiunit\TestCase;
|
|||||||
*/
|
*/
|
||||||
class StringHelperTest extends TestCase
|
class StringHelperTest extends TestCase
|
||||||
{
|
{
|
||||||
|
protected function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->mockApplication();
|
||||||
|
}
|
||||||
|
|
||||||
public function testStrlen()
|
public function testStrlen()
|
||||||
{
|
{
|
||||||
$this->assertEquals(4, StringHelper::byteLength('this'));
|
$this->assertEquals(4, StringHelper::byteLength('this'));
|
||||||
@ -68,16 +74,16 @@ class StringHelperTest extends TestCase
|
|||||||
|
|
||||||
public function testTruncate()
|
public function testTruncate()
|
||||||
{
|
{
|
||||||
$this->assertEquals('string test', StringHelper::truncate('string test', 20));
|
$this->assertEquals('привет, я multibyte...', StringHelper::truncate('привет, я multibyte строка!', 20));
|
||||||
$this->assertEquals('string...', StringHelper::truncate('string test', 6));
|
$this->assertEquals('Не трогаем строку', StringHelper::truncate('Не трогаем строку', 20));
|
||||||
$this->assertEquals('string!!!', StringHelper::truncate('string test', 6, '!!!'));
|
$this->assertEquals('исполь!!!', StringHelper::truncate('используем восклицательные знаки', 6, '!!!'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testTruncateWords()
|
public function testTruncateWords()
|
||||||
{
|
{
|
||||||
$this->assertEquals('this is a string test', StringHelper::truncateWords('this is a string test', 5));
|
$this->assertEquals('это тестовая multibyte строка', StringHelper::truncateWords('это тестовая multibyte строка', 5));
|
||||||
$this->assertEquals('this is a string...', StringHelper::truncateWords('this is a string test', 4));
|
$this->assertEquals('это тестовая multibyte...', StringHelper::truncateWords('это тестовая multibyte строка', 3));
|
||||||
$this->assertEquals('this is a string!!!', StringHelper::truncateWords('this is a string test', 4, '!!!'));
|
$this->assertEquals('это тестовая multibyte!!!', StringHelper::truncateWords('это тестовая multibyte строка', 3, '!!!'));
|
||||||
$this->assertEquals('this is a big space...', StringHelper::truncateWords('this is a big space string', 5));
|
$this->assertEquals('это строка с неожиданными...', StringHelper::truncateWords('это строка с неожиданными пробелами', 4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user