Added unit tests for Str::limit and limit_words. Also fixed bug in limit with multibyte characters.
This commit is contained in:
@@ -118,7 +118,7 @@ class Str {
|
||||
|
||||
if (function_exists('mb_substr'))
|
||||
{
|
||||
return mb_substr($value, 0, $length).$end;
|
||||
return mb_substr($value, 0, $length, Config::get('application.encoding')).$end;
|
||||
}
|
||||
|
||||
return substr($value, 0, $length).$end;
|
||||
|
||||
@@ -35,4 +35,17 @@ class StrTest extends PHPUnit_Framework_TestCase {
|
||||
{
|
||||
$this->assertEquals(5, strlen(Laravel\Str::random(5)));
|
||||
}
|
||||
|
||||
public function test_limit()
|
||||
{
|
||||
$this->assertEquals('Thi...', Laravel\Str::limit('This is a string of text', 3, '...'));
|
||||
$this->assertEquals('This is ', Laravel\Str::limit('This is a string of text', 7, ' '));
|
||||
$this->assertEquals('τάχ', Laravel\Str::limit('τάχιστη', 3, ''));
|
||||
}
|
||||
|
||||
public function test_limit_words()
|
||||
{
|
||||
$this->assertEquals('This is a...', Laravel\Str::limit_words('This is a string of text', 3, '...'));
|
||||
$this->assertEquals('This is a string ', Laravel\Str::limit_words('This is a string of text', 4, ' '));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user