StringChunksTest.php 841 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. declare(strict_types=1);
  3. namespace JsonMachineTest;
  4. use JsonMachine\StringChunks;
  5. /**
  6. * @covers \JsonMachine\StringChunks
  7. */
  8. class StringChunksTest extends \PHPUnit_Framework_TestCase
  9. {
  10. /**
  11. * @dataProvider data_testGeneratorYieldsStringChunks
  12. */
  13. public function testGeneratorYieldsStringChunks($string, $chunkSize, array $expectedResult)
  14. {
  15. $stringBytes = new StringChunks($string, $chunkSize);
  16. $result = iterator_to_array($stringBytes);
  17. $this->assertSame($expectedResult, $result);
  18. }
  19. public function data_testGeneratorYieldsStringChunks()
  20. {
  21. return [
  22. // single-byte:
  23. ['onetwo', 6, ['onetwo']],
  24. ['onetwo', 7, ['onetwo']],
  25. ['onetwo', 3, ['one', 'two']],
  26. ['onetwo', 4, ['onet', 'wo']],
  27. ];
  28. }
  29. }