diff options
author | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2014-04-28 09:45:02 +0200 |
---|---|---|
committer | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2014-04-28 09:45:02 +0200 |
commit | 70f6ac514b7536162fab2d7dc1b74bb4d978a545 (patch) | |
tree | ce0e80783892f1fdefd245708a87bcfa6034b253 /test | |
parent | 43068c2e3eb30eece64e08e45ced0007aab563f8 (diff) | |
download | csv-70f6ac514b7536162fab2d7dc1b74bb4d978a545.zip csv-70f6ac514b7536162fab2d7dc1b74bb4d978a545.tar.gz csv-70f6ac514b7536162fab2d7dc1b74bb4d978a545.tar.bz2 |
adding stream filter support to php://filter meta wrapper
Diffstat (limited to 'test')
-rw-r--r-- | test/CsvTest.php | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/test/CsvTest.php b/test/CsvTest.php index 7ab576e..65cbbd4 100644 --- a/test/CsvTest.php +++ b/test/CsvTest.php @@ -258,18 +258,39 @@ EOF; return [[file_get_contents(__DIR__.'/data/prenoms.csv')]]; } + public function testInitStreamFilter() + { + $filter = 'php://filter/write=string.rot13/resource='.__DIR__.'/foo.csv'; + $csv = new Reader(new SplFileInfo($filter)); + $this->assertTrue($csv->hasStreamFilter('string.rot13')); + $this->assertSame(STREAM_FILTER_WRITE, $csv->getStreamFilterMode()); + + $filter = 'php://filter/read=string.toupper/resource='.__DIR__.'/foo.csv'; + $csv = new Reader(new SplFileInfo($filter)); + $this->assertTrue($csv->hasStreamFilter('string.toupper')); + $this->assertSame(STREAM_FILTER_READ, $csv->getStreamFilterMode()); + } + /** * @expectedException InvalidArgumentException */ - public function testaddStreamFilter() + public function testappendStreamFilter() { $path = __DIR__.'/foo.csv'; $csv = new Reader(new SplFileInfo($path)); - $csv->addStreamFilter('string.toupper'); + $csv->appendStreamFilter('string.toupper'); foreach ($csv->getIterator() as $row) { $this->assertSame($row, ['JOHN', 'DOE', 'JOHN.DOE@EXAMPLE.COM']); } - $csv->addStreamFilter(new DateTime); + $csv->appendStreamFilter(new DateTime); + } + + /** + * @expectedException RuntimeException + */ + public function testprependStreamFilter() + { + (new Reader(new SplTempFileObject))->prependStreamFilter('string.toupper'); } /** @@ -280,9 +301,9 @@ EOF; $path = __DIR__.'/foo.csv'; $csv = new Reader(new SplFileInfo($path)); $csv->setFlags(SplFileObject::READ_AHEAD|SplFileObject::SKIP_EMPTY); - $csv->addStreamFilter('string.tolower'); - $csv->addStreamFilter('string.rot13'); - $csv->addStreamFilter('string.toupper'); + $csv->appendStreamFilter('string.tolower'); + $csv->prependStreamFilter('string.rot13'); + $csv->appendStreamFilter('string.toupper'); $this->assertTrue($csv->hasStreamFilter('string.tolower')); $csv->removeStreamFilter('string.tolower'); $this->assertFalse($csv->hasStreamFilter('string.tolower')); @@ -293,7 +314,7 @@ EOF; $csv->clearStreamFilter(); $this->assertFalse($csv->hasStreamFilter('string.rot13')); - $csv->addStreamFilter('string.toupper'); + $csv->appendStreamFilter('string.toupper'); $this->assertSame(STREAM_FILTER_READ, $csv->getStreamFilterMode()); $csv->setStreamFilterMode(STREAM_FILTER_WRITE); $this->assertSame(STREAM_FILTER_WRITE, $csv->getStreamFilterMode()); @@ -310,10 +331,10 @@ EOF; { $path = __DIR__.'/foo.csv'; $csv = new Writer(new SplFileInfo($path)); - $csv->addStreamFilter('string.rot13'); - $csv->addStreamFilter('string.toupper'); + $csv->appendStreamFilter('string.rot13'); + $csv->appendStreamFilter('string.toupper'); $this->assertFalse($csv->getIterator()->getRealPath()); - (new Reader(new SplTempFileObject))->addStreamFilter('string.rot13'); + (new Reader(new SplTempFileObject))->appendStreamFilter('string.rot13'); } } |