php_components_pack/tests/extensions/StringExtensionTest.php
babaev-an 8da3c1df38 20250224
[Д] [StringExtension::Replace] Функция заменяет все вхождения строки поиска на строку замены в заданной строке (аналог mb_str_replace).

[Д] [StringExtension::ReplaceAll] Функция заменяет все вхождения строк поиск на соответствующие строки замены в заданной строке.
2025-02-24 23:44:57 +03:00

82 lines
2.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace goodboyalex\php_components_pack\tests\extensions;
use goodboyalex\php_components_pack\extensions\StringExtension;
use PHPUnit\Framework\TestCase;
class StringExtensionTest extends TestCase
{
public function testIsNullOrWhitespace ()
{
$this->PrepareForTest();
$this->assertTrue(StringExtension::isNullOrWhitespace(''));
$this->assertTrue(StringExtension::isNullOrWhitespace(' '));
$this->assertTrue(StringExtension::isNullOrWhitespace(null));
$this->assertFalse(StringExtension::isNullOrWhitespace('TEST'));
}
private function PrepareForTest (): void
{
require_once __DIR__ . '/../../sources/extensions/StringExtension.php';
}
public function testConvertToLatin ()
{
$this->PrepareForTest();
$this->assertEquals('test', StringExtension::ConvertToLatin('тест'));
$this->assertEquals('test', StringExtension::ConvertToLatin('test'));
}
public function testIsNullOrEmpty ()
{
$this->PrepareForTest();
$this->assertTrue(StringExtension::isNullOrEmpty(''));
$this->assertTrue(StringExtension::isNullOrEmpty(null));
$this->assertFalse(StringExtension::isNullOrEmpty('TEST'));
}
public function testCompare ()
{
$this->PrepareForTest();
$this->assertEquals(0, StringExtension::Compare('test', 'test'));
$this->assertEquals(-1, StringExtension::Compare('test', 'test1'));
$this->assertEquals(1, StringExtension::Compare('test2', 'test'));
}
public function testGetShortText ()
{
$this->PrepareForTest();
$this->assertEquals('test', StringExtension::GetShortText('test', 4));
$this->assertEquals('test', StringExtension::GetShortText('test', 10));
$this->assertEquals('test', StringExtension::GetShortText('test of this', 4));
$this->assertEquals('t', StringExtension::GetShortText('test', 1));
$this->assertEquals('', StringExtension::GetShortText('test', 0));
}
public function testReplace ()
{
$this->PrepareForTest();
$this->assertEquals('Все 2 ночи и 2 дня 2 друга искали тебя!',
StringExtension::Replace("4", "2", "Все 4 ночи и 4 дня 2 друга искали тебя!"));
}
public function testReplaceAll ()
{
$this->PrepareForTest();
$this->assertEquals('Все 5 ночи и 5 дня 2 друга искали тебя!',
StringExtension::ReplaceAll(["4" => "5", "3" => "2"], "Все 4 ночи и 4 дня 3 друга искали тебя!"));
}
}