Added tests for SplFileObject::fgetcsv

This commit is contained in:
Ben Longden 2010-06-15 21:25:47 +00:00
parent 79baca329b
commit 45bd9b385e
7 changed files with 181 additions and 0 deletions

View File

@ -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"
}

View File

@ -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"
}

View File

@ -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)

View File

@ -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"
}

View File

@ -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)

View File

@ -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"
}

View File

@ -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)