--- /dev/null
+--TEST--
+SplFileObject::fflush function - basic test
+--FILE--
+<?php
+/*
+ * test a successful flush
+*/
+$obj = New SplFileObject(dirname(__FILE__).'/SplFileObject_testinput.csv');
+var_dump($obj->fflush());
+
+/*
+ * test a unsuccessful flush
+*/
+//create a basic stream class
+class VariableStream {
+ var $position;
+ var $varname;
+
+ function stream_open($path, $mode, $options, &$opened_path)
+ {
+ return true;
+ }
+}
+stream_wrapper_register("SPLtest", "VariableStream");
+$ftruncate_test = "";
+//end creating stream
+
+//open an SplFileObject using the above test stream
+$obj = New SplFileObject("SPLtest://ftruncate_test");
+var_dump($obj->fflush());
+
+?>
+--EXPECTF--
+bool(true)
+bool(false)
--- /dev/null
+--TEST--
+SplFileObject::fpassthru function - basic functionality test
+--FILE--
+<?php
+$obj = New SplFileObject(dirname(__FILE__).'/SplFileObject_testinput.csv');
+$obj->fpassthru();
+?>
+--EXPECT--
+first,second,third
+1,2,3
+4,5,6
+7,8,9
+0,0,0
--- /dev/null
+--TEST--
+SplFileObject::fscanf function - basic functionality test
+--FILE--
+<?php
+$obj = New SplFileObject(dirname(__FILE__).'/SplFileObject_testinput.csv');
+var_dump($obj->fscanf('%s'));
+?>
+--EXPECT--
+array(1) {
+ [0]=>
+ string(18) "first,second,third"
+}
--- /dev/null
+--TEST--
+SplFileObject::fseek function - parameters test
+--FILE--
+<?php
+$obj = New SplFileObject(__FILE__);
+$obj->fseek(1,2,3);
+$obj->fseek();
+?>
+--EXPECTF--
+Warning: SplFileObject::fseek() expects at most 2 parameters, 3 given %s
+
+Warning: SplFileObject::fseek() expects at least 1 parameter, 0 given %s
--- /dev/null
+--TEST--
+SplFileObject::ftruncate function - truncating with stream that does not support truncation
+--FILE--
+<?php
+
+//create a basic stream class
+class VariableStream {
+ var $position;
+ var $varname;
+
+ function stream_open($path, $mode, $options, &$opened_path)
+ {
+ return true;
+ }
+}
+stream_wrapper_register("SPLtest", "VariableStream");
+$ftruncate_test = "";
+//end creating stream
+
+//open an SplFileObject using the above test stream
+$obj = New SplFileObject("SPLtest://ftruncate_test");
+try {
+ $obj->ftruncate(1);
+} catch (LogicException $e) {
+ echo($e->getMessage());
+}
+?>
+--EXPECTF--
+Can't truncate file %s
--- /dev/null
+--TEST--
+SplFileObject::fpassthru function - parameters test
+--FILE--
+<?php
+$obj = New SplFileObject(dirname(__FILE__).'/SplFileObject_testinput.csv');
+$obj->fwrite();
+$obj->fwrite('6,6,6',25,null);
+?>
+--EXPECTF--
+Warning: SplFileObject::fwrite() expects at least 1 parameter, 0 given in %s
+
+Warning: SplFileObject::fwrite() expects at most 2 parameters, 3 given in %s
--- /dev/null
+--TEST--
+SplFileObject::fwrite function - writing with two parameters length < input string length
+--FILE--
+<?php
+$file = dirname(__FILE__).'/SplFileObject_fwrite_variation_001.txt';
+if(file_exists($file)) {
+ unlink($file);
+}
+$obj = New SplFileObject($file,'w');
+$obj->fwrite('test_write',4);
+var_dump(file_get_contents($file));
+if(file_exists($file)) {
+ unlink($file);
+}
+?>
+--EXPECT--
+string(4) "test"
--- /dev/null
+--TEST--
+SplFileObject::fwrite function - writing with two parameters, length > input string length
+--FILE--
+<?php
+$file = dirname(__FILE__).'/SplFileObject_fwrite_variation_002.txt';
+if(file_exists($file)) {
+ unlink($file);
+}
+$obj = New SplFileObject($file,'w');
+$obj->fwrite('test_write',12);
+var_dump(file_get_contents($file));
+if(file_exists($file)) {
+ unlink($file);
+}
+?>
+--EXPECT--
+string(10) "test_write"
--- /dev/null
+--TEST--
+SplFileObject::fwrite function - writing with magic_quotes_runtime ini set
+--FILE--
+<?php
+ini_set('magic_quotes_runtime',true);
+$file = dirname(__FILE__).'/SplFileObject_fwrite_variation_002.txt';
+if(file_exists($file)) {
+ unlink($file);
+}
+$obj = New SplFileObject($file,'w');
+$obj->fwrite('"test" \'write\'');
+var_dump(file_get_contents($file));
+if(file_exists($file)) {
+ unlink($file);
+}
+?>
+--EXPECT--
+string(18) "\"test\" \'write\'"
--- /dev/null
+--TEST--
+SplFileObject::getCsvControl function - basic test
+--FILE--
+<?php
+$obj = New SplFileObject(dirname(__FILE__).'/SplFileObject_testinput.csv');
+var_dump($obj->getCsvControl());
+
+?>
+--EXPECTF--
+array(2) {
+ [0]=>
+ %unicode|string%(1) ","
+ [1]=>
+ %unicode|string%(1) """
+}
--- /dev/null
+--TEST--
+SplFileObject::seek function - test parameters
+--FILE--
+<?php
+$obj = New SplFileObject(__FILE__);
+$obj->seek(1,2);
+$obj->seek();
+try {
+ $obj->seek(-1);
+} catch (LogicException $e) {
+ echo($e->getMessage());
+}
+?>
+--EXPECTF--
+
+Warning: SplFileObject::seek() expects exactly 1 parameter, 2 given in %s
+
+Warning: SplFileObject::seek() expects exactly 1 parameter, 0 given in %s
+Can't seek file %s to negative line %s
--- /dev/null
+first,second,third
+1,2,3
+4,5,6
+7,8,9
+0,0,0