Skip to content

Commit

Permalink
refactor: Rework test TextHelper
Browse files Browse the repository at this point in the history
  • Loading branch information
neznaika0 committed Jan 6, 2025
1 parent 945e1bf commit cf5701a
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions tests/system/Helpers/TextHelperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
#[Group('Others')]
final class TextHelperTest extends CIUnitTestCase
{
private string $_long_string = 'Once upon a time, a framework had no tests. It sad. So some nice people began to write tests. The more time that went on, the happier it became. Everyone was happy.';
private string $longString = 'Once upon a time, a framework had no tests. It sad. So some nice people began to write tests. The more time that went on, the happier it became. Everyone was happy.';
private string $mbLongString = 'Давным-давно во фреймворке не было тестов. Это печально. И вот несколько хороших людей начали писать тесты. Чем больше времени проходило, тем счастливее становилось. Все были счастливы.';

protected function setUp(): void
{
Expand Down Expand Up @@ -165,19 +166,29 @@ public function testIncrementString(): void

public function testWordLimiter(): void
{
$this->assertSame('Once upon a time,…', word_limiter($this->_long_string, 4));
$this->assertSame('Once upon a time,…', word_limiter($this->_long_string, 4, '…'));
$this->assertSame('Once upon a time,…', word_limiter($this->longString, 4));
$this->assertSame('Once upon a time,…', word_limiter($this->longString, 4, '…'));
$this->assertSame('', word_limiter('', 4));
$this->assertSame('Once upon a…', word_limiter($this->_long_string, 3, '…'));
$this->assertSame('Once upon a…', word_limiter($this->longString, 3, '…'));
$this->assertSame('Once upon a time', word_limiter('Once upon a time', 4, '…'));

$this->assertSame('Давным-давно во фреймворке не было тестов.…', word_limiter($this->mbLongString, 6));
$this->assertSame('Давным-давно во фреймворке не было тестов.…', word_limiter($this->mbLongString, 6, '…'));
$this->assertSame('Давным-давно во фреймворке…', word_limiter($this->mbLongString, 3, '…'));
$this->assertSame('Давным-давно во фреймворке не было тестов.', word_limiter('Давным-давно во фреймворке не было тестов.', 6, '…'));
}

public function testCharacterLimiter(): void
{
$this->assertSame('Once upon a time, a…', character_limiter($this->_long_string, 20));
$this->assertSame('Once upon a time, a…', character_limiter($this->_long_string, 20, '…'));
$this->assertSame('Once upon a time, a…', character_limiter($this->longString, 20));
$this->assertSame('Once upon a time, a…', character_limiter($this->longString, 20, '…'));
$this->assertSame('Short', character_limiter('Short', 20));
$this->assertSame('Short', character_limiter('Short', 5));

$this->assertSame('Давным-давно во фреймворке не было тестов.…', character_limiter($this->mbLongString, 41));
$this->assertSame('Давным-давно во фреймворке не было тестов.…', character_limiter($this->mbLongString, 41, '…'));
$this->assertSame('Короткий', character_limiter('Короткий', 20));
$this->assertSame('Короткий', character_limiter('Короткий', 8));
}

public function testAsciiToEntities(): void
Expand Down Expand Up @@ -391,27 +402,25 @@ public function testDefaultWordWrapCharlim(): void

public function testExcerpt(): void
{
$string = $this->_long_string;
$string = $this->longString;
$result = ' Once upon a time, a framework had no tests. It sad So some nice people began to write tests. The more time that went on, the happier it became. ...';
$this->assertSame(excerpt($string), $result);
$this->assertSame($result, excerpt($string));

$multibyteString = 'Давным-давно во фреймворке не было тестов. Это печально. И вот несколько хороших людей начали писать тесты. Чем больше времени проходило, тем счастливее становилось. Все были счастливы.';
$multibyteResult = ' Давным-давно во фреймворке не было тестов. Это печ льно. И вот несколько хороших людей начали писать тесты. Чем больше времени проходило, тем ...';

$this->assertSame(excerpt($multibyteString), $multibyteResult);
$this->assertSame($multibyteResult, excerpt($this->mbLongString));
}

public function testExcerptRadius(): void
{
$string = $this->_long_string;
$string = $this->longString;
$phrase = 'began';
$result = '... people began to ...';
$this->assertSame(excerpt($string, $phrase, 10), $result);

$multibyteString = 'Давным-давно во фреймворке не было тестов. Это печально. И вот несколько хороших людей начали писать тесты. Чем больше времени проходило, тем счастливее становилось. Все были счастливы.';
$multibyteResult = '... Это печально . И вот ...';

$this->assertSame(excerpt($multibyteString, 'печально', 10), $multibyteResult);
$this->assertSame($multibyteResult, excerpt($this->mbLongString, 'печально', 10));
}

public function testAlternator(): void
Expand Down

0 comments on commit cf5701a

Please sign in to comment.