| 
<?php
 declare(strict_types=1);
 
 namespace voku\tests;
 
 use voku\helper\ASCII;
 
 /**
 * @internal
 */
 final class AsciiTest extends \PHPUnit\Framework\TestCase
 {
 public function testUtf8()
 {
 $str = 'testiñg';
 static::assertFalse(ASCII::is_ascii($str));
 }
 
 public function testAscii()
 {
 $str = 'testing';
 static::assertTrue(ASCII::is_ascii($str));
 }
 
 public function testInvalidChar()
 {
 $str = "tes\xe9ting";
 static::assertFalse(ASCII::is_ascii($str));
 }
 
 public function testEmptyStr()
 {
 $str = '';
 static::assertTrue(ASCII::is_ascii($str));
 }
 
 public function testNewLine()
 {
 $str = "a\nb\nc";
 static::assertTrue(ASCII::is_ascii($str));
 }
 
 public function testTab()
 {
 $str = "a\tb\tc";
 static::assertTrue(ASCII::is_ascii($str));
 }
 
 public function testUtf8ToAscii()
 {
 $str = 'testiñg';
 static::assertSame('testing', ASCII::to_ascii($str));
 }
 
 public function testAsciiToAscii()
 {
 $str = 'testing';
 static::assertSame('testing', ASCII::to_ascii($str));
 }
 
 public function testInvalidCharToAscii()
 {
 $str = "tes\xe9ting";
 static::assertSame('testing', ASCII::to_transliterate($str));
 
 // ---
 
 $str = "tes\xe9ting";
 static::assertSame('', ASCII::to_ascii($str));
 }
 
 public function testEmptyStrToAscii()
 {
 $str = '';
 static::assertSame('', ASCII::to_ascii($str));
 }
 
 public function testNulAndNon7Bit()
 {
 $str = "a\x00ñ\x00c";
 static::assertSame('anc', ASCII::to_ascii($str));
 }
 
 public function testNul()
 {
 $str = "a\x00b\x00c";
 static::assertSame('abc', ASCII::to_ascii($str));
 }
 
 public function testNewLineToAscii()
 {
 $str = "a\nb\nc";
 static::assertSame("a\nb\nc", ASCII::to_transliterate($str));
 
 // ---
 
 $str = "a\nb\nc";
 static::assertSame("a\nb\nc", ASCII::to_ascii($str, 'en', false));
 
 // ---
 
 $str = "a\nb\nc";
 static::assertSame('a b c', ASCII::to_ascii($str, 'en', true));
 }
 
 public function testTabToAscii()
 {
 $str = "a\tb\tc";
 static::assertSame("a\tb\tc", ASCII::to_transliterate($str));
 
 // ---
 
 $str = "a\tb\tc";
 static::assertSame("a\tb\tc", ASCII::to_ascii($str, 'en', false));
 
 // ---
 
 $str = "a\tb\tc";
 static::assertSame('a b c', ASCII::to_ascii($str, 'en', true));
 }
 }
 
 |