summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIgnace Nyamagana Butera <nyamsprod@gmail.com>2014-08-07 14:41:34 +0200
committerIgnace Nyamagana Butera <nyamsprod@gmail.com>2014-08-07 14:41:34 +0200
commit82d6820a92b92f682fffbbcfcc0baf2c9de4cf49 (patch)
tree41747a2cf03d66573b2af4c42525bc4fcc8a86b1 /src
parent4ab385ed037458b4b24f61815bca3d22188c72b1 (diff)
downloadcsv-82d6820a92b92f682fffbbcfcc0baf2c9de4cf49.zip
csv-82d6820a92b92f682fffbbcfcc0baf2c9de4cf49.tar.gz
csv-82d6820a92b92f682fffbbcfcc0baf2c9de4cf49.tar.bz2
remove direct call to constructor in test
Diffstat (limited to 'src')
-rw-r--r--src/AbstractCsv.php25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/AbstractCsv.php b/src/AbstractCsv.php
index e384bd3..066f1a5 100644
--- a/src/AbstractCsv.php
+++ b/src/AbstractCsv.php
@@ -100,14 +100,15 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate
public static function createFromPath($path, $open_mode = 'r+')
{
if ($path instanceof SplTempFileObject) {
- throw new InvalidArgumentException(
- 'an `SplTempFileObject` object does not contain a valid path'
- );
+ throw new InvalidArgumentException('an `SplTempFileObject` object does not contain a valid path');
} elseif ($path instanceof SplFileInfo) {
$path = $path->getPath().'/'.$path->getBasename();
+ } elseif (! self::isValidString($path)) {
+ throw new InvalidArgumentException('path must be a valid string');
}
+ $path = (string) $path;
- return new static((string) $path, $open_mode);
+ return new static($path, $open_mode);
}
/**
@@ -133,15 +134,15 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate
*/
public static function createFromString($str)
{
- if (self::isValidString($str)) {
- $obj = new SplTempFileObject;
- $obj->fwrite((string) $str.PHP_EOL);
-
- return static::createFromFileObject($obj);
+ if (! self::isValidString($str)) {
+ throw new InvalidArgumentException(
+ 'the submitted data must be a string or an object implementing the `__toString` method'
+ );
}
- throw new InvalidArgumentException(
- 'the submitted data must be a string or an object implementing the `__toString` method'
- );
+ $obj = new SplTempFileObject;
+ $obj->fwrite((string) $str.PHP_EOL);
+
+ return static::createFromFileObject($obj);
}
/**