Add PhpOffice\PhpSpreadsheet\Cell\DataType::checkString unit test

This commit is contained in:
Rinat Gumirov 2019-10-03 23:09:08 +05:00 committed by Adrien Crivelli
parent f2bba73510
commit 73c79a90a8
1 changed files with 44 additions and 0 deletions

View File

@ -3,6 +3,7 @@
namespace PhpOffice\PhpSpreadsheetTests\Cell;
use PhpOffice\PhpSpreadsheet\Cell\DataType;
use PhpOffice\PhpSpreadsheet\RichText\RichText;
use PHPUnit\Framework\TestCase;
class DataTypeTest extends TestCase
@ -14,4 +15,47 @@ class DataTypeTest extends TestCase
self::assertGreaterThan(0, count($result));
self::assertArrayHasKey('#NULL!', $result);
}
public function testCheckString()
{
$richText = new RichText();
$result1 = DataType::checkString($richText);
self::assertSame($richText, $result1);
$stringLimit = 32767;
$randString = $this->randr($stringLimit + 10);
$result2 = DataType::checkString($randString);
self::assertSame($stringLimit, strlen($result2));
$dirtyString = "bla bla\r\n bla\r test\n";
$expected = "bla bla\n bla\n test\n";
$result3 = DataType::checkString($dirtyString);
self::assertSame($expected, $result3);
}
/**
* @param int $length
*
* @return string
*/
private function randr($length = 8)
{
$string = '';
for ($i = 0; $i < $length; ++$i) {
$x = mt_rand(0, 2);
switch ($x) {
case 0: $string .= chr(mt_rand(97, 122));
break;
case 1: $string .= chr(mt_rand(65, 90));
break;
case 2: $string .= chr(mt_rand(48, 57));
break;
}
}
return $string;
}
}