summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgnace Nyamagana Butera <nyamsprod@gmail.com>2014-08-08 11:33:39 +0200
committerIgnace Nyamagana Butera <nyamsprod@gmail.com>2014-08-08 11:33:39 +0200
commit4a8fa16d7949ae4a31164d03890fb7d68974c6dd (patch)
tree101f6b43cce2133a28199a981e342909f2f2d8a9
parent0eea804cb1e7271b1449febd4f2a8e7cb2bba703 (diff)
downloadcsv-4a8fa16d7949ae4a31164d03890fb7d68974c6dd.zip
csv-4a8fa16d7949ae4a31164d03890fb7d68974c6dd.tar.gz
csv-4a8fa16d7949ae4a31164d03890fb7d68974c6dd.tar.bz2
improve AbstractCsv class constructor
-rw-r--r--src/AbstractCsv.php7
-rw-r--r--test/CsvTest.php27
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', '|']);
}