diff options
author | Ben Longden <ben@php.net> | 2010-06-15 21:25:47 +0000 |
---|---|---|
committer | Ben Longden <ben@php.net> | 2010-06-15 21:25:47 +0000 |
commit | 45bd9b385ee2251f271ab85a7d1fc26eca4254ee (patch) | |
tree | 0c59ebf1fbab0bc30a092a3935c1109ed5f959e2 | |
parent | 79baca329bc47b7ffeea9ac3d1838f2e387ec0ae (diff) | |
download | php-git-45bd9b385ee2251f271ab85a7d1fc26eca4254ee.tar.gz |
Added tests for SplFileObject::fgetcsv
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) |