summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Longden <ben@php.net>2010-06-15 21:25:47 +0000
committerBen Longden <ben@php.net>2010-06-15 21:25:47 +0000
commit45bd9b385ee2251f271ab85a7d1fc26eca4254ee (patch)
tree0c59ebf1fbab0bc30a092a3935c1109ed5f959e2
parent79baca329bc47b7ffeea9ac3d1838f2e387ec0ae (diff)
downloadphp-git-45bd9b385ee2251f271ab85a7d1fc26eca4254ee.tar.gz
Added tests for SplFileObject::fgetcsv
-rw-r--r--ext/spl/tests/SplFileObject_fgetcsv_basic.phpt31
-rw-r--r--ext/spl/tests/SplFileObject_fgetcsv_delimiter_basic.phpt31
-rw-r--r--ext/spl/tests/SplFileObject_fgetcsv_delimiter_error.phpt23
-rw-r--r--ext/spl/tests/SplFileObject_fgetcsv_enclosure_basic.phpt31
-rw-r--r--ext/spl/tests/SplFileObject_fgetcsv_enclosure_error.phpt23
-rw-r--r--ext/spl/tests/SplFileObject_fgetcsv_escape_basic.phpt24
-rw-r--r--ext/spl/tests/SplFileObject_fgetcsv_escape_error.phpt18
7 files changed, 181 insertions, 0 deletions
diff --git a/ext/spl/tests/SplFileObject_fgetcsv_basic.phpt b/ext/spl/tests/SplFileObject_fgetcsv_basic.phpt
new file mode 100644
index 0000000000..ba53a18916
--- /dev/null
+++ b/ext/spl/tests/SplFileObject_fgetcsv_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+SplFileObject::fgetcsv default path
+--FILE--
+<?php
+$fp = fopen('SplFileObject::fgetcsv.csv', 'w+');
+fputcsv($fp, array(
+ 'field1',
+ 'field2',
+ 'field3',
+ 5
+));
+fclose($fp);
+
+$fo = new SplFileObject('SplFileObject::fgetcsv.csv');
+var_dump($fo->fgetcsv());
+?>
+--CLEAN--
+<?php
+unlink('SplFileObject::fgetcsv.csv');
+?>
+--EXPECTF--
+array(4) {
+ [0]=>
+ string(6) "field1"
+ [1]=>
+ string(6) "field2"
+ [2]=>
+ string(6) "field3"
+ [3]=>
+ string(1) "5"
+}
diff --git a/ext/spl/tests/SplFileObject_fgetcsv_delimiter_basic.phpt b/ext/spl/tests/SplFileObject_fgetcsv_delimiter_basic.phpt
new file mode 100644
index 0000000000..38b32c234a
--- /dev/null
+++ b/ext/spl/tests/SplFileObject_fgetcsv_delimiter_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+SplFileObject::fgetcsv with alternative delimeter
+--FILE--
+<?php
+$fp = fopen('SplFileObject::fgetcsv.csv', 'w+');
+fputcsv($fp, array(
+ 'field1',
+ 'field2',
+ 'field3',
+ 5
+), '|');
+fclose($fp);
+
+$fo = new SplFileObject('SplFileObject::fgetcsv.csv');
+var_dump($fo->fgetcsv('|'));
+?>
+--CLEAN--
+<?php
+unlink('SplFileObject::fgetcsv.csv');
+?>
+--EXPECTF--
+array(4) {
+ [0]=>
+ string(6) "field1"
+ [1]=>
+ string(6) "field2"
+ [2]=>
+ string(6) "field3"
+ [3]=>
+ string(1) "5"
+}
diff --git a/ext/spl/tests/SplFileObject_fgetcsv_delimiter_error.phpt b/ext/spl/tests/SplFileObject_fgetcsv_delimiter_error.phpt
new file mode 100644
index 0000000000..42677cca4f
--- /dev/null
+++ b/ext/spl/tests/SplFileObject_fgetcsv_delimiter_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+SplFileObject::fgetcsv with alternative delimeter
+--FILE--
+<?php
+$fp = fopen('SplFileObject::fgetcsv.csv', 'w+');
+fputcsv($fp, array(
+ 'field1',
+ 'field2',
+ 'field3',
+ 5
+), '|');
+fclose($fp);
+
+$fo = new SplFileObject('SplFileObject::fgetcsv.csv');
+var_dump($fo->fgetcsv('invalid'));
+?>
+--CLEAN--
+<?php
+unlink('SplFileObject::fgetcsv.csv');
+?>
+--EXPECTF--
+Warning: SplFileObject::fgetcsv(): delimiter must be a character in %s on line %d
+bool(false)
diff --git a/ext/spl/tests/SplFileObject_fgetcsv_enclosure_basic.phpt b/ext/spl/tests/SplFileObject_fgetcsv_enclosure_basic.phpt
new file mode 100644
index 0000000000..ab071acac1
--- /dev/null
+++ b/ext/spl/tests/SplFileObject_fgetcsv_enclosure_basic.phpt
@@ -0,0 +1,31 @@
+--TEST--
+SplFileObject::fgetcsv with alternative delimeter
+--FILE--
+<?php
+$fp = fopen('SplFileObject::fgetcsv.csv', 'w+');
+fputcsv($fp, array(
+ 'field1',
+ 'field2',
+ 'field3',
+ 5
+), ',', '"');
+fclose($fp);
+
+$fo = new SplFileObject('SplFileObject::fgetcsv.csv');
+var_dump($fo->fgetcsv(',', '"'));
+?>
+--CLEAN--
+<?php
+unlink('SplFileObject::fgetcsv.csv');
+?>
+--EXPECTF--
+array(4) {
+ [0]=>
+ string(6) "field1"
+ [1]=>
+ string(6) "field2"
+ [2]=>
+ string(6) "field3"
+ [3]=>
+ string(1) "5"
+}
diff --git a/ext/spl/tests/SplFileObject_fgetcsv_enclosure_error.phpt b/ext/spl/tests/SplFileObject_fgetcsv_enclosure_error.phpt
new file mode 100644
index 0000000000..afc8ad3f05
--- /dev/null
+++ b/ext/spl/tests/SplFileObject_fgetcsv_enclosure_error.phpt
@@ -0,0 +1,23 @@
+--TEST--
+SplFileObject::fgetcsv with alternative delimeter
+--FILE--
+<?php
+$fp = fopen('SplFileObject::fgetcsv.csv', 'w+');
+fputcsv($fp, array(
+ 'field1',
+ 'field2',
+ 'field3',
+ 5
+), ',', '"');
+fclose($fp);
+
+$fo = new SplFileObject('SplFileObject::fgetcsv.csv');
+var_dump($fo->fgetcsv(',', 'invalid'));
+?>
+--CLEAN--
+<?php
+unlink('SplFileObject::fgetcsv.csv');
+?>
+--EXPECTF--
+Warning: SplFileObject::fgetcsv(): enclosure must be a character in %s on line %d
+bool(false)
diff --git a/ext/spl/tests/SplFileObject_fgetcsv_escape_basic.phpt b/ext/spl/tests/SplFileObject_fgetcsv_escape_basic.phpt
new file mode 100644
index 0000000000..1e2e273ae6
--- /dev/null
+++ b/ext/spl/tests/SplFileObject_fgetcsv_escape_basic.phpt
@@ -0,0 +1,24 @@
+--TEST--
+SplFileObject::fgetcsv with alternative delimeter
+--FILE--
+<?php
+$fp = fopen('SplFileObject::fgetcsv.csv', 'w+');
+fwrite($fp, '"aaa","b""bb","ccc"');
+fclose($fp);
+
+$fo = new SplFileObject('SplFileObject::fgetcsv.csv');
+var_dump($fo->fgetcsv(',', '"', '"'));
+?>
+--CLEAN--
+<?php
+unlink('SplFileObject::fgetcsv.csv');
+?>
+--EXPECTF--
+array(3) {
+ [0]=>
+ string(3) "aaa"
+ [1]=>
+ string(4) "b"bb"
+ [2]=>
+ string(3) "ccc"
+}
diff --git a/ext/spl/tests/SplFileObject_fgetcsv_escape_error.phpt b/ext/spl/tests/SplFileObject_fgetcsv_escape_error.phpt
new file mode 100644
index 0000000000..8dcfc92207
--- /dev/null
+++ b/ext/spl/tests/SplFileObject_fgetcsv_escape_error.phpt
@@ -0,0 +1,18 @@
+--TEST--
+SplFileObject::fgetcsv with alternative delimeter
+--FILE--
+<?php
+$fp = fopen('SplFileObject::fgetcsv.csv', 'w+');
+fwrite($fp, '"aaa","b""bb","ccc"');
+fclose($fp);
+
+$fo = new SplFileObject('SplFileObject::fgetcsv.csv');
+var_dump($fo->fgetcsv(',', '"', 'invalid'));
+?>
+--CLEAN--
+<?php
+unlink('SplFileObject::fgetcsv.csv');
+?>
+--EXPECTF--
+Warning: SplFileObject::fgetcsv(): escape must be a character in %s on line %d
+bool(false)