summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/is_dir_variation2.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/file/is_dir_variation2.phpt')
-rw-r--r--ext/standard/tests/file/is_dir_variation2.phpt96
1 files changed, 96 insertions, 0 deletions
diff --git a/ext/standard/tests/file/is_dir_variation2.phpt b/ext/standard/tests/file/is_dir_variation2.phpt
new file mode 100644
index 0000000..65efeab
--- /dev/null
+++ b/ext/standard/tests/file/is_dir_variation2.phpt
@@ -0,0 +1,96 @@
+--TEST--
+Test is_dir() function: usage variations - links
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ die('skip Do not run on Windows');
+}
+--FILE--
+<?php
+/* Prototype: bool is_dir ( string $dirname );
+ Description: Tells whether the dirname is a directory
+ Returns TRUE if the dirname exists and is a directory, FALSE otherwise.
+*/
+
+/* Testing is_dir() with dir, soft & hard link to dir,
+ and with file, soft & hard link to file */
+
+$file_path = dirname(__FILE__);
+
+echo "*** Testing is_dir() with dir and links to dir ***\n";
+echo "-- With dir --\n";
+$dirname = $file_path."/is_dir_variation2";
+mkdir($dirname);
+var_dump( is_dir($dirname) );
+clearstatcache();
+
+echo "-- With symlink --\n";
+symlink($file_path."/is_dir_variation2", $file_path."/is_dir_variation2_symlink");
+var_dump( is_dir($file_path."/is_dir_variation2_symlink") ); //is_dir() resolves symlinks
+clearstatcache();
+
+echo "-- With hardlink --";
+link($file_path."/is_dir_variation2", $file_path."/is_dir_variation2_link"); //Not permitted to create hard-link to a dir
+var_dump( is_dir($file_path."/is_dir_variation2_link") );
+clearstatcache();
+
+echo "\n*** Testing is_dir() with file and links to a file ***\n";
+echo "-- With file --\n";
+$filename = $file_path."/is_dir_variation2.tmp";
+fclose( fopen($filename, "w") );
+var_dump( is_dir($filename) );
+clearstatcache();
+
+echo "-- With symlink --\n";
+symlink($file_path."/is_dir_variation2.tmp", $file_path."/is_dir_variation2_symlink.tmp");
+var_dump( is_dir($file_path."/is_dir_variation2_symlink.tmp") );
+clearstatcache();
+
+echo "-- With hardlink --\n";
+link($file_path."/is_dir_variation2.tmp", $file_path."/is_dir_variation2_link.tmp");
+var_dump( is_dir($file_path."/is_dir_variation2_link.tmp") );
+clearstatcache();
+
+echo "\n*** Done ***";
+?>
+--CLEAN--
+<?php
+$file_path = dirname(__FILE__);
+if(file_exists($file_path."/is_dir_variation2_symlink")) {
+ unlink($file_path."/is_dir_variation2_symlink");
+}
+if(file_exists($file_path."/is_dir_variation2_symlink")) {
+ unlink($file_path."/is_dir_variation2_symlink");
+}
+if(file_exists($file_path."/is_dir_variation2_symlink.tmp")) {
+ unlink($file_path."/is_dir_variation2_symlink.tmp");
+}
+if(file_exists($file_path."/is_dir_variation2_link.tmp")) {
+ unlink($file_path."/is_dir_variation2_link.tmp");
+}
+if(file_exists($file_path."/is_dir_variation2.tmp")) {
+ unlink($file_path."/is_dir_variation2.tmp");
+}
+if(file_exists($file_path."/is_dir_variation2")) {
+ rmdir($file_path."/is_dir_variation2");
+}
+?>
+--EXPECTF--
+*** Testing is_dir() with dir and links to dir ***
+-- With dir --
+bool(true)
+-- With symlink --
+bool(true)
+-- With hardlink --
+Warning: link(): %s in %s on line %d
+bool(false)
+
+*** Testing is_dir() with file and links to a file ***
+-- With file --
+bool(false)
+-- With symlink --
+bool(false)
+-- With hardlink --
+bool(false)
+
+*** Done ***