]> granicus.if.org Git - php/commitdiff
Merged SplFileObject::fgetcsv tests from trunk
authorBen Longden <ben@php.net>
Tue, 15 Jun 2010 21:42:04 +0000 (21:42 +0000)
committerBen Longden <ben@php.net>
Tue, 15 Jun 2010 21:42:04 +0000 (21:42 +0000)
ext/spl/tests/SplFileObject_fgetcsv_basic.phpt [new file with mode: 0644]
ext/spl/tests/SplFileObject_fgetcsv_delimiter_basic.phpt [new file with mode: 0644]
ext/spl/tests/SplFileObject_fgetcsv_delimiter_error.phpt [new file with mode: 0644]
ext/spl/tests/SplFileObject_fgetcsv_enclosure_basic.phpt [new file with mode: 0644]
ext/spl/tests/SplFileObject_fgetcsv_enclosure_error.phpt [new file with mode: 0644]
ext/spl/tests/SplFileObject_fgetcsv_escape_basic.phpt [new file with mode: 0644]
ext/spl/tests/SplFileObject_fgetcsv_escape_error.phpt [new file with mode: 0644]

diff --git a/ext/spl/tests/SplFileObject_fgetcsv_basic.phpt b/ext/spl/tests/SplFileObject_fgetcsv_basic.phpt
new file mode 100644 (file)
index 0000000..ba53a18
--- /dev/null
@@ -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 (file)
index 0000000..38b32c2
--- /dev/null
@@ -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 (file)
index 0000000..42677cc
--- /dev/null
@@ -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 (file)
index 0000000..ab071ac
--- /dev/null
@@ -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 (file)
index 0000000..afc8ad3
--- /dev/null
@@ -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 (file)
index 0000000..1e2e273
--- /dev/null
@@ -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 (file)
index 0000000..8dcfc92
--- /dev/null
@@ -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)