Example #1
0
 /**
  * @dataProvider getIteratorTestData
  */
 public function testIterator($content, array $tokens)
 {
     $reader = new Reader();
     $reader->open(fopen('data://text/plain;base64,' . base64_encode($content), 'r'));
     $iterator = new TokenIterator(new Tokenizer(',', new Enclosure('~', '|')), $reader);
     $index = -1;
     foreach ($iterator as $index => $token) {
         $this->assertTrue($token->is($tokens[$index][0]));
         $this->assertEquals($tokens[$index][1], $token->getContent());
     }
     $this->assertEquals(count($tokens), $index + 1);
 }
Example #2
0
 /**
  * @dataProvider getReadLineData
  */
 public function testReadLine($content, array $lines)
 {
     $resource = fopen('data://text/plain;base64,' . base64_encode($content), 'r');
     $reader = new Reader(1);
     $reader->open($resource);
     foreach ($lines as $line) {
         $this->assertEquals($line, $reader->readLine(true));
     }
     try {
         $reader->readLine();
         $this->assertTrue(false);
     } catch (ReadingFinishedException $e) {
         $this->assertTrue(true);
     }
 }
Example #3
0
 /**
  * @dataProvider getParseTestData
  */
 public function testParse($content, array $result)
 {
     $reader = new Reader();
     $reader->open(fopen('data://text/plain;base64,' . base64_encode($content), 'r'));
     $parser = new Parser(new TokenIterator(new Tokenizer(',', new Enclosure('|')), $reader));
     $rowIndex = -1;
     foreach ($result as $rowIndex => $values) {
         $found = $parser->parse(new State());
         foreach ($values as $cellIndex => $value) {
             $this->assertEquals($value, $found[$cellIndex]);
         }
         $this->assertEquals(count($values), count($found));
     }
     $this->assertEquals(count($result), $rowIndex + 1);
 }