diff options
author | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2014-08-08 11:33:39 +0200 |
---|---|---|
committer | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2014-08-08 11:33:39 +0200 |
commit | 4a8fa16d7949ae4a31164d03890fb7d68974c6dd (patch) | |
tree | 101f6b43cce2133a28199a981e342909f2f2d8a9 | |
parent | 0eea804cb1e7271b1449febd4f2a8e7cb2bba703 (diff) | |
download | csv-4a8fa16d7949ae4a31164d03890fb7d68974c6dd.zip csv-4a8fa16d7949ae4a31164d03890fb7d68974c6dd.tar.gz csv-4a8fa16d7949ae4a31164d03890fb7d68974c6dd.tar.bz2 |
improve AbstractCsv class constructor
-rw-r--r-- | src/AbstractCsv.php | 7 | ||||
-rw-r--r-- | test/CsvTest.php | 27 |
2 files changed, 14 insertions, 20 deletions
diff --git a/src/AbstractCsv.php b/src/AbstractCsv.php index 9c83b5a..545e411 100644 --- a/src/AbstractCsv.php +++ b/src/AbstractCsv.php @@ -66,9 +66,12 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate */ public function __construct($path, $open_mode = 'r+') { - if (! $path instanceof SplFileInfo && ! self::isValidString($path)) { - throw new InvalidArgumentException('path must be a valid string or a `SplFileInfo` object'); + if (! $path instanceof SplFileInfo) { + $path = (string) $path; + $path = trim($path); } + $this->path = $path; + ini_set("auto_detect_line_endings", '1'); //lazy loading $this->path = $path; diff --git a/test/CsvTest.php b/test/CsvTest.php index 3237029..eaeb4a8 100644 --- a/test/CsvTest.php +++ b/test/CsvTest.php @@ -74,14 +74,6 @@ class CsvTest extends PHPUnit_Framework_TestCase /** * @expectedException InvalidArgumentException */ - public function testConstructorWithNotStringableObject() - { - new Reader(new DateTime); - } - - /** - * @expectedException InvalidArgumentException - */ public function testCreateFromPathWithSplTempFileObject() { Reader::createFromPath(new SplTempFileObject); @@ -133,16 +125,15 @@ class CsvTest extends PHPUnit_Framework_TestCase */ public function testDetectDelimiterWithInconsistentCSV() { - $csv = Writer::createFromFileObject(new SplTempFileObject); - $csv->setDelimiter(';'); - $csv->insertOne(['toto', 'tata', 'tutu']); - $csv->setDelimiter('|'); - $csv->insertAll([ - ['toto', 'tata', 'tutu'], - ['toto', 'tata', 'tutu'], - ['toto', 'tata', 'tutu'] - ]); - + $data = new SplTempFileObject; + $data->setCsvControl(';'); + $data->fputcsv(['toto', 'tata', 'tutu']); + $data->setCsvControl('|'); + $data->fputcsv(['toto', 'tata', 'tutu']); + $data->fputcsv(['toto', 'tata', 'tutu']); + $data->fputcsv(['toto', 'tata', 'tutu']); + + $csv = Writer::createFromFileObject($data); $csv->detectDelimiter(5, ['toto', '|']); } |