Skip to content

Commit 4539d79

Browse files
donnutsmalyshev
authored andcommitted
addition SplFileObject tests
1 parent 2cb7a67 commit 4539d79

16 files changed

+323
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
SPL: SplFileObject::getchildren basic
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
var_dump($s->getChildren());
11+
12+
?>
13+
--EXPECT--
14+
NULL
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
SPL: SplFileObject::getchildren error 001
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
$s->getChildren('string');
11+
12+
?>
13+
--EXPECTF--
14+
Warning: SplFileObject::getChildren() expects exactly 0 parameters, 1 given in %s on line %d
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--TEST--
2+
SPL: SplFileObject::getFlags error 001
3+
--CREDITS--
4+
Erwin Poeze <[email protected]>
5+
--FILE--
6+
<?php
7+
8+
file_put_contents('testdata.csv', 'eerste;tweede;derde');
9+
10+
$fo = new SplFileObject('testdata.csv');
11+
$fo->setFlags(SplFileObject::READ_CSV);
12+
13+
$fo->getFlags('fake');
14+
15+
?>
16+
--CLEAN--
17+
<?php
18+
unlink('testdata.csv');
19+
?>
20+
--EXPECTF--
21+
Warning: SplFileObject::getFlags() expects exactly 0 parameters, 1 given in %s on line %d
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
SPL: SplFileObject::haschildren basic
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
var_dump($s->hasChildren());
11+
12+
?>
13+
--EXPECT--
14+
bool(false)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
SPL: SplFileObject::haschildren error 001
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
$s->hasChildren('string');
11+
12+
?>
13+
--EXPECTF--
14+
Warning: SplFileObject::hasChildren() expects exactly 0 parameters, 1 given in %s on line %d
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
--TEST--
2+
SPL: SplFileObject::key error
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze AT gmail.com>
5+
--FILE--
6+
<?php
7+
//line 2
8+
//line 3
9+
//line 4
10+
//line 5
11+
$s = new SplFileObject(__FILE__);
12+
$s->key(3);
13+
?>
14+
--EXPECTF--
15+
Warning: SplFileObject::key() expects exactly 0 parameters, 1 given in %s on line %d
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
--TEST--
2+
SPL: SplFileObject::next variation 002, read ahead
3+
--CREDITS--
4+
Ricardo Oedietram <[email protected]>
5+
Erwin Poeze <[email protected]>
6+
#PFZ June PHP TestFest 2012
7+
--FILE--
8+
<?php
9+
//line 2
10+
//line 3
11+
//line 4
12+
//line 5
13+
$s = new SplFileObject(__FILE__);
14+
$s->seek(2);
15+
echo $s->current();
16+
$s->next();
17+
echo $s->current();
18+
19+
$s->setFlags(SplFileObject::READ_AHEAD);
20+
21+
$s->seek(2);
22+
echo $s->current();
23+
$s->next();
24+
echo $s->current();
25+
?>
26+
--EXPECT--
27+
//line 3
28+
//line 4
29+
//line 3
30+
//line 4
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
--TEST--
2+
SPL: SplFileObject::setCsvControl basic
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--FILE--
6+
<?php
7+
file_put_contents('csv_control_data.csv',
8+
<<<CDATA
9+
'groene appelen'|10
10+
'gele bananen'|20
11+
'rode kersen'|30
12+
CDATA
13+
);
14+
$s = new SplFileObject('csv_control_data.csv');
15+
$s->setFlags(SplFileObject::READ_CSV);
16+
$s->setCsvControl('|', '\'', '/');
17+
foreach ($s as $row) {
18+
list($fruit, $quantity) = $row;
19+
echo "$fruit : $quantity\n";
20+
}
21+
?>
22+
--CLEAN--
23+
<?php
24+
unlink('csv_control_data.csv');
25+
?>
26+
--EXPECT--
27+
groene appelen : 10
28+
gele bananen : 20
29+
rode kersen : 30
30+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
--TEST--
2+
SPL: SplFileObject::setCsvControl error 001
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
file_put_contents('csv_control_data.csv',
10+
<<<CDATA
11+
'groene appelen'|10
12+
'gele bananen'|20
13+
'rode kersen'|30
14+
CDATA
15+
);
16+
$s = new SplFileObject('csv_control_data.csv');
17+
$s->setFlags(SplFileObject::READ_CSV);
18+
$s->setCsvControl('||');
19+
?>
20+
--CLEAN--
21+
<?php
22+
unlink('csv_control_data.csv');
23+
?>
24+
--EXPECTF--
25+
Warning: SplFileObject::setCsvControl(): delimiter must be a character in %s on line %d
26+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
--TEST--
2+
SPL: SplFileObject::setCsvControl error 002
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
file_put_contents('csv_control_data.csv',
10+
<<<CDATA
11+
'groene appelen'|10
12+
'gele bananen'|20
13+
'rode kersen'|30
14+
CDATA
15+
);
16+
$s = new SplFileObject('csv_control_data.csv');
17+
$s->setFlags(SplFileObject::READ_CSV);
18+
$s->setCsvControl('|', 'two');
19+
?>
20+
--CLEAN--
21+
<?php
22+
unlink('csv_control_data.csv');
23+
?>
24+
--EXPECTF--
25+
Warning: SplFileObject::setCsvControl(): enclosure must be a character in %s on line %d
26+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
--TEST--
2+
SPL: SplFileObject::setCsvControl error 003
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
file_put_contents('csv_control_data.csv',
10+
<<<CDATA
11+
'groene appelen'|10
12+
'gele bananen'|20
13+
'rode kersen'|30
14+
CDATA
15+
);
16+
$s = new SplFileObject('csv_control_data.csv');
17+
$s->setFlags(SplFileObject::READ_CSV);
18+
$s->setCsvControl('|', '\'', 'three');
19+
?>
20+
--CLEAN--
21+
<?php
22+
unlink('csv_control_data.csv');
23+
?>
24+
--EXPECTF--
25+
Warning: SplFileObject::setCsvControl(): escape must be a character in %s on line %d
26+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
--TEST--
2+
SPL: SplFileObject::setCsvControl variation 001
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
file_put_contents('csv_control_data.csv',
10+
<<<CDATA
11+
"groene appelen",10
12+
"gele bananen",20
13+
"rode kersen",30
14+
CDATA
15+
);
16+
$s = new SplFileObject('csv_control_data.csv');
17+
$s->setFlags(SplFileObject::READ_CSV);
18+
$s->setCsvControl();
19+
foreach ($s as $row) {
20+
list($fruit, $quantity) = $row;
21+
echo "$fruit : $quantity\n";
22+
}
23+
?>
24+
--CLEAN--
25+
<?php
26+
unlink('csv_control_data.csv');
27+
?>
28+
--EXPECT--
29+
groene appelen : 10
30+
gele bananen : 20
31+
rode kersen : 30
32+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
SPL: SplFileObject::getMaxLineLen error 001
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
$s->getMaxLineLen('string');
11+
12+
?>
13+
--EXPECTF--
14+
Warning: SplFileObject::getMaxLineLen() expects exactly 0 parameters, 1 given in %s on line %d
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
--TEST--
2+
SPL: SplFileObject::setMaxLineLen error 001()
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
try {
11+
$s->setMaxLineLen(-1);
12+
}
13+
catch (DomainException $e) {
14+
echo 'DomainException thrown';
15+
}
16+
17+
?>
18+
--EXPECT--
19+
DomainException thrown
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
SPL: SplFileObject::setMaxLineLen error 002
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
$s->setMaxLineLen();
11+
12+
?>
13+
--EXPECTF--
14+
Warning: SplFileObject::setMaxLineLen() expects exactly 1 parameter, 0 given in %s on line %d
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--TEST--
2+
SPL: SplFileObject::setMaxLineLen error 003
3+
--CREDITS--
4+
Erwin Poeze <erwin.poeze at gmail.com>
5+
--INI--
6+
include_path=.
7+
--FILE--
8+
<?php
9+
$s = new SplFileObject( __FILE__ );
10+
$s->setMaxLineLen('string');
11+
12+
?>
13+
--EXPECTF--
14+
Warning: SplFileObject::setMaxLineLen() expects parameter 1 to be long, string given in %s on line %d

0 commit comments

Comments
 (0)