[Д] [StringExtension::Replace] Функция заменяет все вхождения строки поиска на строку замены в заданной строке (аналог mb_str_replace). [Д] [StringExtension::ReplaceAll] Функция заменяет все вхождения строк поиск на соответствующие строки замены в заданной строке.
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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 друга искали тебя!"));
 | ||
|     }
 | ||
| } |