summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/fileinode_variation.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/file/fileinode_variation.phpt')
-rw-r--r--ext/standard/tests/file/fileinode_variation.phpt112
1 files changed, 112 insertions, 0 deletions
diff --git a/ext/standard/tests/file/fileinode_variation.phpt b/ext/standard/tests/file/fileinode_variation.phpt
new file mode 100644
index 0000000..1fac953
--- /dev/null
+++ b/ext/standard/tests/file/fileinode_variation.phpt
@@ -0,0 +1,112 @@
+--TEST--
+Test fileinode() function: Variations
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ die('skip no link()/symlink() on Windows');
+}
+?>
+--FILE--
+<?php
+/*
+Prototype: int fileinode ( string $filename );
+Description: Returns the inode number of the file, or FALSE in case of an error.
+*/
+
+echo "*** Testing fileinode() with files, links and directories ***\n";
+$file_path = dirname(__FILE__);
+$file1 = $file_path."/fileinode1_variation.tmp";
+$file2 = $file_path."/fileinode2_variation.tmp";
+$link1 = $file_path."/fileinode1_variation_link.tmp";
+$link2 = $file_path."/fileinode2_variation_link.tmp";
+
+
+echo "-- Testing with files --\n";
+//creating the files
+fclose( fopen( $file1, "w" ) );
+fclose( fopen( $file2, "w" ) );
+
+print( fileinode( $file1) )."\n";
+print( fileinode( $file2) )."\n";
+clearstatcache();
+
+echo "-- Testing with links: hard link --\n";
+link( $file1, $link1); // Creating an hard link
+print( fileinode( $file1) )."\n";
+clearstatcache();
+print( fileinode( $link1) )."\n";
+clearstatcache();
+
+echo "-- Testing with links: soft link --\n";
+symlink( $file2, $link2); // Creating a soft link
+print( fileinode( $file2) )."\n";
+clearstatcache();
+print( fileinode( $link2) )."\n";
+
+unlink( $link1 );
+unlink( $link2 );
+
+echo "-- Testing after copying a file --\n";
+copy( $file1, $file_path."/fileinode1_variation_new.tmp");
+print( fileinode( $file1) )."\n";
+clearstatcache();
+print( fileinode( $file_path."/fileinode1_variation_new.tmp") )."\n";
+
+unlink( $file_path."/fileinode1_variation_new.tmp");
+unlink( $file1);
+unlink( $file2);
+
+
+echo "-- Testing after renaming the file --\n";
+fclose( fopen("$file_path/old.txt", "w") );
+print( fileinode("$file_path/old.txt") )."\n";
+clearstatcache();
+
+rename("$file_path/old.txt", "$file_path/new.txt");
+print( fileinode("$file_path/new.txt") )."\n";
+
+unlink("$file_path/new.txt");
+
+echo "-- Testing with directories --\n";
+mkdir("$file_path/dir");
+print( fileinode("$file_path/dir") )."\n";
+clearstatcache();
+
+mkdir("$file_path/dir/subdir");
+print( fileinode("$file_path/dir/subdir") )."\n";
+clearstatcache();
+
+echo "-- Testing with binary input --\n";
+print( fileinode(b"$file_path/dir") )."\n";
+clearstatcache();
+print( fileinode(b"$file_path/dir/subdir") );
+
+rmdir("$file_path/dir/subdir");
+rmdir("$file_path/dir");
+
+echo "\n*** Done ***";
+
+--EXPECTF--
+*** Testing fileinode() with files, links and directories ***
+-- Testing with files --
+%d
+%d
+-- Testing with links: hard link --
+%d
+%d
+-- Testing with links: soft link --
+%d
+%d
+-- Testing after copying a file --
+%d
+%d
+-- Testing after renaming the file --
+%d
+%d
+-- Testing with directories --
+%d
+%d
+-- Testing with binary input --
+%d
+%d
+*** Done ***