diff options
Diffstat (limited to 'test/Plugin/SkipNullValuesFormatterTest.php')
-rw-r--r-- | test/Plugin/SkipNullValuesFormatterTest.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/Plugin/SkipNullValuesFormatterTest.php b/test/Plugin/SkipNullValuesFormatterTest.php new file mode 100644 index 0000000..97ac3be --- /dev/null +++ b/test/Plugin/SkipNullValuesFormatterTest.php @@ -0,0 +1,50 @@ +<?php + +namespace League\Csv\Test\Plugin; + +use League\Csv\Writer; +use League\Csv\Plugin\SkipNullValuesFormatter; +use LimitIterator; +use PHPUnit_Framework_TestCase; +use SplFileObject; +use SplTempFileObject; + +/** + * @group formatter + */ +class SkipNullValuesFormatterTest extends PHPUnit_Framework_TestCase +{ + private $csv; + + public function setUp() + { + $this->csv = Writer::createFromFileObject(new SplTempFileObject()); + } + + public function tearDown() + { + $csv = new SplFileObject(dirname(__DIR__).'/foo.csv', 'w'); + $csv->setCsvControl(); + $csv->fputcsv(["john", "doe", "john.doe@example.com"], ",", '"'); + $this->csv = null; + } + + + public function testInsertNullToSkipCell() + { + $expected = [ + ['john', 'doe', 'john.doe@example.com'], + 'john,doe,john.doe@example.com', + ['john', null, 'john.doe@example.com'], + ]; + $formatter = new SkipNullValuesFormatter(); + $this->csv->addFormatter($formatter); + foreach ($expected as $row) { + $this->csv->insertOne($row); + } + $iterator = new LimitIterator($this->csv->getIterator(), 2, 1); + $iterator->rewind(); + $res = $iterator->getInnerIterator()->current(); + $this->assertSame(['john', 'john.doe@example.com'], $res); + } +} |