]> granicus.if.org Git - php/commitdiff
fstat tests. tested on windows, linux and linux 64 bit
authorDave Kelsey <dkelsey@php.net>
Thu, 22 Jan 2009 20:49:50 +0000 (20:49 +0000)
committerDave Kelsey <dkelsey@php.net>
Thu, 22 Jan 2009 20:49:50 +0000 (20:49 +0000)
ext/standard/tests/file/directory_wrapper_fstat_basic.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_basic.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_error.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation1.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation2.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation3.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation4.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation5.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation6.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation7.phpt [new file with mode: 0644]
ext/standard/tests/file/fstat_variation8.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/file/directory_wrapper_fstat_basic.phpt b/ext/standard/tests/file/directory_wrapper_fstat_basic.phpt
new file mode 100644 (file)
index 0000000..87f8523
--- /dev/null
@@ -0,0 +1,13 @@
+--TEST--
+Test function fstat() on directory wrapper 
+--FILE--
+<?php
+$d = dirname(__FILE__);
+$h = opendir($d);
+var_dump(fstat($h));
+closedir($h);
+?>
+===DONE===
+--EXPECT--
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_basic.phpt b/ext/standard/tests/file/fstat_basic.phpt
new file mode 100644 (file)
index 0000000..a404929
--- /dev/null
@@ -0,0 +1,65 @@
+--TEST--
+Test function fstat() by calling it with its expected arguments
+--FILE--
+<?php
+$fp = fopen (__FILE__, 'r');
+var_dump(fstat( $fp ) );
+fclose($fp);
+?>
+===DONE===
+--EXPECTF--
+array(26) {
+  [0]=>
+  int(%i)
+  [1]=>
+  int(%i)
+  [2]=>
+  int(%i)
+  [3]=>
+  int(%i)
+  [4]=>
+  int(%i)
+  [5]=>
+  int(%i)
+  [6]=>
+  int(%i)
+  [7]=>
+  int(%i)
+  [8]=>
+  int(%i)
+  [9]=>
+  int(%i)
+  [10]=>
+  int(%i)
+  [11]=>
+  int(%i)
+  [12]=>
+  int(%i)
+  ["dev"]=>
+  int(%i)
+  ["ino"]=>
+  int(%i)
+  ["mode"]=>
+  int(%i)
+  ["nlink"]=>
+  int(%i)
+  ["uid"]=>
+  int(%i)
+  ["gid"]=>
+  int(%i)
+  ["rdev"]=>
+  int(%i)
+  ["size"]=>
+  int(%i)
+  ["atime"]=>
+  int(%i)
+  ["mtime"]=>
+  int(%i)
+  ["ctime"]=>
+  int(%i)
+  ["blksize"]=>
+  int(%i)
+  ["blocks"]=>
+  int(%i)
+}
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_error.phpt b/ext/standard/tests/file/fstat_error.phpt
new file mode 100644 (file)
index 0000000..69a7f0b
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+Test function fstat() by calling it more than or less than its expected arguments
+--FILE--
+<?php
+$fp = fopen (__FILE__, 'r');
+$extra_arg = 'nothing'; 
+
+var_dump(fstat( $fp, $extra_arg ) );
+var_dump(fstat());
+
+fclose($fp);
+
+?>
+===DONE===
+--EXPECTF--
+
+Warning: Wrong parameter count for fstat() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for fstat() in %s on line %d
+NULL
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation1.phpt b/ext/standard/tests/file/fstat_variation1.phpt
new file mode 100644 (file)
index 0000000..4607323
--- /dev/null
@@ -0,0 +1,34 @@
+--TEST--
+Test function fstat() by substituting agument 1 with array values.
+--FILE--
+<?php
+$index_array = array(1, 2, 3);
+$assoc_array = array(1 => 'one', 2 => 'two');
+
+$variation_array = array(
+  'empty array' => array(),
+  'int indexed array' => $index_array,
+  'associative array' => $assoc_array,
+  'nested arrays' => array('foo', $index_array, $assoc_array),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(fstat( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation2.phpt b/ext/standard/tests/file/fstat_variation2.phpt
new file mode 100644 (file)
index 0000000..6f59efc
--- /dev/null
@@ -0,0 +1,31 @@
+--TEST--
+Test function fstat() by substituting agument 1 with boolean values.
+--FILE--
+<?php
+$variation_array = array(
+  'lowercase true' => true,
+  'lowercase false' =>false,
+  'uppercase TRUE' =>TRUE,
+  'uppercase FALSE' =>FALSE,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(fstat( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation3.phpt b/ext/standard/tests/file/fstat_variation3.phpt
new file mode 100644 (file)
index 0000000..32dadd8
--- /dev/null
@@ -0,0 +1,42 @@
+--TEST--
+Test function fstat() by substituting agument 1 with emptyUnsetUndefNull values.
+--FILE--
+<?php
+$unset_var = 10;
+unset($unset_var);
+
+$variation_array = array(
+  'unset var' => @$unset_var,
+  'undefined var' => @$undefined_var,
+  'empty string DQ' => "",
+  'empty string SQ' => '',
+  'uppercase NULL' => NULL,
+  'lowercase null' => null,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(fstat( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation4.phpt b/ext/standard/tests/file/fstat_variation4.phpt
new file mode 100644 (file)
index 0000000..cabd83d
--- /dev/null
@@ -0,0 +1,35 @@
+--TEST--
+Test function fstat() by substituting agument 1 with float values.
+--FILE--
+<?php
+$variation_array = array(
+  'float 10.5' => 10.5,
+  'float -10.5' => -10.5,
+  'float 12.3456789000e10' => 12.3456789000e10,
+  'float -12.3456789000e10' => -12.3456789000e10,
+  'float .5' => .5,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(fstat( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation5.phpt b/ext/standard/tests/file/fstat_variation5.phpt
new file mode 100644 (file)
index 0000000..59fbb37
--- /dev/null
@@ -0,0 +1,31 @@
+--TEST--
+Test function fstat() by substituting agument 1 with int values.
+--FILE--
+<?php
+$variation_array = array (
+    'int 0' => 0,
+    'int 1' => 1,
+    'int 12345' => 12345,
+    'int -12345' => -2345,
+    );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(fstat( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation6.phpt b/ext/standard/tests/file/fstat_variation6.phpt
new file mode 100644 (file)
index 0000000..1221627
--- /dev/null
@@ -0,0 +1,46 @@
+--TEST--
+Test function fstat() by substituting agument 1 with object values.
+--FILE--
+<?php
+
+
+
+
+function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
+        if (error_reporting() != 0) {
+                // report non-silenced errors
+                echo "Error: $err_no - $err_msg, $filename($linenum)\n";
+        }
+}
+set_error_handler('test_error_handler');
+
+
+
+class classWithToString
+{
+        public function __toString() {
+                return "Class A object";
+        }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+  'instance of classWithToString' => new classWithToString(),
+  'instance of classWithoutToString' => new classWithoutToString(),
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(fstat( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+Error: 2 - fstat(): supplied argument is not a valid stream resource, %s(%d)
+bool(false)
+Error: 2 - fstat(): supplied argument is not a valid stream resource, %s(%d)
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation7.phpt b/ext/standard/tests/file/fstat_variation7.phpt
new file mode 100644 (file)
index 0000000..a00d248
--- /dev/null
@@ -0,0 +1,35 @@
+--TEST--
+Test function fstat() by substituting agument 1 with string values.
+--FILE--
+<?php
+$heredoc = <<<EOT
+hello world
+EOT;
+
+$variation_array = array(
+  'string DQ' => "string",
+  'string SQ' => 'string',
+  'mixed case string' => "sTrInG",
+  'heredoc' => $heredoc,
+  );
+
+
+foreach ( $variation_array as $var ) {
+  var_dump(fstat( $var  ) );
+}
+?>
+===DONE===
+--EXPECTF--
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+
+Warning: fstat(): supplied argument is not a valid stream resource in %s on line %d
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/ext/standard/tests/file/fstat_variation8.phpt b/ext/standard/tests/file/fstat_variation8.phpt
new file mode 100644 (file)
index 0000000..b493d4e
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+Test function fstat() by calling it with its expected arguments
+--FILE--
+<?php
+$stat_result = stat(__FILE__);
+clearstatcache();
+$fp = fopen (__FILE__, 'r');
+$fstat_result = fstat($fp);
+fclose($fp);
+
+$isWin = (substr(PHP_OS, 0, 3) == 'WIN');
+$failed = false;
+foreach($stat_result as $key =>$value) {
+   if ($isWin && ($key === 0 || $key === 6 || $key === 'dev' || $key === 'rdev')) {
+      // windows, dev and rdev will not match this is expected
+   }
+   else {
+          if ($fstat_result[$key] != $value) {
+             echo "FAIL: stat differs at '$key'. $fstat_result[$key] -- $value\n";
+             $failed = true;
+          }
+   }
+}
+if ($failed !== true) {
+   echo "PASSED: all elements are the same\n";
+}
+
+
+?>
+===DONE===
+--EXPECT--
+PASSED: all elements are the same
+===DONE===
\ No newline at end of file