summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMatt Beale <matt@heyratfans.co.uk>2015-10-12 09:29:56 +0100
committervagrant <vagrant@homestead>2015-10-13 07:19:31 +0000
commitbfdc19f44a9fcbbd439ac937dc61b41f30e0e892 (patch)
tree1d49e6ba0f2e565c9c0a9a12cb63bb731fa18b64 /test
parent1336fd426f5822f9b703fcc68fe24273a726f40c (diff)
downloadcsv-bfdc19f44a9fcbbd439ac937dc61b41f30e0e892.zip
csv-bfdc19f44a9fcbbd439ac937dc61b41f30e0e892.tar.gz
csv-bfdc19f44a9fcbbd439ac937dc61b41f30e0e892.tar.bz2
Don't trim $filter_name in sanitizeStreamFilter - Fixes filters which pass newline character as an argument.
Diffstat (limited to 'test')
-rw-r--r--test/StreamFilterTest.php11
-rw-r--r--test/newline.csv2
2 files changed, 12 insertions, 1 deletions
diff --git a/test/StreamFilterTest.php b/test/StreamFilterTest.php
index 647e7ae..7af1c54 100644
--- a/test/StreamFilterTest.php
+++ b/test/StreamFilterTest.php
@@ -4,6 +4,7 @@ namespace League\Csv\test;
use League\Csv\Reader;
use League\Csv\Writer;
+use lib\FilterReplace;
use PHPUnit_Framework_TestCase;
use SplFileObject;
use SplTempFileObject;
@@ -113,11 +114,19 @@ class StreamFilterTest extends PHPUnit_Framework_TestCase
$this->assertFalse($csv->getIterator()->getRealPath());
}
-
public function testGetFilterPathWithAllStream()
{
$filter = 'php://filter/string.toupper/resource='.__DIR__.'/foo.csv';
$csv = Reader::createFromPath($filter);
$this->assertFalse($csv->getIterator()->getRealPath());
}
+
+ public function testSetStreamFilterWriterNewLine()
+ {
+ stream_filter_register(FilterReplace::FILTER_NAME.'*', '\lib\FilterReplace');
+ $csv = Writer::createFromPath(__DIR__.'/newline.csv');
+ $csv->appendStreamFilter(FilterReplace::FILTER_NAME."\r\n:\n");
+ $this->assertTrue($csv->hasStreamFilter(FilterReplace::FILTER_NAME."\r\n:\n"));
+ $csv->insertOne([1, 'two', 3, "new\r\nline"]);
+ }
}
diff --git a/test/newline.csv b/test/newline.csv
new file mode 100644
index 0000000..a9da13c
--- /dev/null
+++ b/test/newline.csv
@@ -0,0 +1,2 @@
+1,two,3,"new
+line"