addition SplFileObject tests

This commit is contained in:
donnut 2012-06-24 10:41:29 +00:00 committed by Stanislav Malyshev
parent 2cb7a678a1
commit 4539d799bb
16 changed files with 323 additions and 0 deletions

View file

@ -0,0 +1,14 @@
--TEST--
SPL: SplFileObject::getchildren basic
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
var_dump($s->getChildren());
?>
--EXPECT--
NULL

View file

@ -0,0 +1,14 @@
--TEST--
SPL: SplFileObject::getchildren error 001
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
$s->getChildren('string');
?>
--EXPECTF--
Warning: SplFileObject::getChildren() expects exactly 0 parameters, 1 given in %s on line %d

View file

@ -0,0 +1,21 @@
--TEST--
SPL: SplFileObject::getFlags error 001
--CREDITS--
Erwin Poeze <erwin.poeze@gmail.com>
--FILE--
<?php
file_put_contents('testdata.csv', 'eerste;tweede;derde');
$fo = new SplFileObject('testdata.csv');
$fo->setFlags(SplFileObject::READ_CSV);
$fo->getFlags('fake');
?>
--CLEAN--
<?php
unlink('testdata.csv');
?>
--EXPECTF--
Warning: SplFileObject::getFlags() expects exactly 0 parameters, 1 given in %s on line %d

View file

@ -0,0 +1,14 @@
--TEST--
SPL: SplFileObject::haschildren basic
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
var_dump($s->hasChildren());
?>
--EXPECT--
bool(false)

View file

@ -0,0 +1,14 @@
--TEST--
SPL: SplFileObject::haschildren error 001
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
$s->hasChildren('string');
?>
--EXPECTF--
Warning: SplFileObject::hasChildren() expects exactly 0 parameters, 1 given in %s on line %d

View file

@ -0,0 +1,15 @@
--TEST--
SPL: SplFileObject::key error
--CREDITS--
Erwin Poeze <erwin.poeze AT gmail.com>
--FILE--
<?php
//line 2
//line 3
//line 4
//line 5
$s = new SplFileObject(__FILE__);
$s->key(3);
?>
--EXPECTF--
Warning: SplFileObject::key() expects exactly 0 parameters, 1 given in %s on line %d

View file

@ -0,0 +1,30 @@
--TEST--
SPL: SplFileObject::next variation 002, read ahead
--CREDITS--
Ricardo Oedietram <ricardo@odracir.nl>
Erwin Poeze <erwin.poeze@gmail.com>
#PFZ June PHP TestFest 2012
--FILE--
<?php
//line 2
//line 3
//line 4
//line 5
$s = new SplFileObject(__FILE__);
$s->seek(2);
echo $s->current();
$s->next();
echo $s->current();
$s->setFlags(SplFileObject::READ_AHEAD);
$s->seek(2);
echo $s->current();
$s->next();
echo $s->current();
?>
--EXPECT--
//line 3
//line 4
//line 3
//line 4

View file

@ -0,0 +1,30 @@
--TEST--
SPL: SplFileObject::setCsvControl basic
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--FILE--
<?php
file_put_contents('csv_control_data.csv',
<<<CDATA
'groene appelen'|10
'gele bananen'|20
'rode kersen'|30
CDATA
);
$s = new SplFileObject('csv_control_data.csv');
$s->setFlags(SplFileObject::READ_CSV);
$s->setCsvControl('|', '\'', '/');
foreach ($s as $row) {
list($fruit, $quantity) = $row;
echo "$fruit : $quantity\n";
}
?>
--CLEAN--
<?php
unlink('csv_control_data.csv');
?>
--EXPECT--
groene appelen : 10
gele bananen : 20
rode kersen : 30

View file

@ -0,0 +1,26 @@
--TEST--
SPL: SplFileObject::setCsvControl error 001
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
file_put_contents('csv_control_data.csv',
<<<CDATA
'groene appelen'|10
'gele bananen'|20
'rode kersen'|30
CDATA
);
$s = new SplFileObject('csv_control_data.csv');
$s->setFlags(SplFileObject::READ_CSV);
$s->setCsvControl('||');
?>
--CLEAN--
<?php
unlink('csv_control_data.csv');
?>
--EXPECTF--
Warning: SplFileObject::setCsvControl(): delimiter must be a character in %s on line %d

View file

@ -0,0 +1,26 @@
--TEST--
SPL: SplFileObject::setCsvControl error 002
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
file_put_contents('csv_control_data.csv',
<<<CDATA
'groene appelen'|10
'gele bananen'|20
'rode kersen'|30
CDATA
);
$s = new SplFileObject('csv_control_data.csv');
$s->setFlags(SplFileObject::READ_CSV);
$s->setCsvControl('|', 'two');
?>
--CLEAN--
<?php
unlink('csv_control_data.csv');
?>
--EXPECTF--
Warning: SplFileObject::setCsvControl(): enclosure must be a character in %s on line %d

View file

@ -0,0 +1,26 @@
--TEST--
SPL: SplFileObject::setCsvControl error 003
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
file_put_contents('csv_control_data.csv',
<<<CDATA
'groene appelen'|10
'gele bananen'|20
'rode kersen'|30
CDATA
);
$s = new SplFileObject('csv_control_data.csv');
$s->setFlags(SplFileObject::READ_CSV);
$s->setCsvControl('|', '\'', 'three');
?>
--CLEAN--
<?php
unlink('csv_control_data.csv');
?>
--EXPECTF--
Warning: SplFileObject::setCsvControl(): escape must be a character in %s on line %d

View file

@ -0,0 +1,32 @@
--TEST--
SPL: SplFileObject::setCsvControl variation 001
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
file_put_contents('csv_control_data.csv',
<<<CDATA
"groene appelen",10
"gele bananen",20
"rode kersen",30
CDATA
);
$s = new SplFileObject('csv_control_data.csv');
$s->setFlags(SplFileObject::READ_CSV);
$s->setCsvControl();
foreach ($s as $row) {
list($fruit, $quantity) = $row;
echo "$fruit : $quantity\n";
}
?>
--CLEAN--
<?php
unlink('csv_control_data.csv');
?>
--EXPECT--
groene appelen : 10
gele bananen : 20
rode kersen : 30

View file

@ -0,0 +1,14 @@
--TEST--
SPL: SplFileObject::getMaxLineLen error 001
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
$s->getMaxLineLen('string');
?>
--EXPECTF--
Warning: SplFileObject::getMaxLineLen() expects exactly 0 parameters, 1 given in %s on line %d

View file

@ -0,0 +1,19 @@
--TEST--
SPL: SplFileObject::setMaxLineLen error 001()
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
try {
$s->setMaxLineLen(-1);
}
catch (DomainException $e) {
echo 'DomainException thrown';
}
?>
--EXPECT--
DomainException thrown

View file

@ -0,0 +1,14 @@
--TEST--
SPL: SplFileObject::setMaxLineLen error 002
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
$s->setMaxLineLen();
?>
--EXPECTF--
Warning: SplFileObject::setMaxLineLen() expects exactly 1 parameter, 0 given in %s on line %d

View file

@ -0,0 +1,14 @@
--TEST--
SPL: SplFileObject::setMaxLineLen error 003
--CREDITS--
Erwin Poeze <erwin.poeze at gmail.com>
--INI--
include_path=.
--FILE--
<?php
$s = new SplFileObject( __FILE__ );
$s->setMaxLineLen('string');
?>
--EXPECTF--
Warning: SplFileObject::setMaxLineLen() expects parameter 1 to be long, string given in %s on line %d