summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/fopen_variation11-win32.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/file/fopen_variation11-win32.phpt')
-rw-r--r--ext/standard/tests/file/fopen_variation11-win32.phpt147
1 files changed, 147 insertions, 0 deletions
diff --git a/ext/standard/tests/file/fopen_variation11-win32.phpt b/ext/standard/tests/file/fopen_variation11-win32.phpt
new file mode 100644
index 0000000000..23a557ab01
--- /dev/null
+++ b/ext/standard/tests/file/fopen_variation11-win32.phpt
@@ -0,0 +1,147 @@
+--TEST--
+Test fopen() function : variation: interesting paths, use include path = true
+--CREDITS--
+Dave Kelsey <d_kelsey@uk.ibm.com>
+--SKIPIF--
+<?php
+if(substr(PHP_OS, 0, 3) != "WIN")
+ die("skip Run only on Windows");
+?>
+--FILE--
+<?php
+/* Prototype : resource fopen(string filename, string mode [, bool use_include_path [, resource context]])
+ * Description: Open a file or a URL and return a file pointer
+ * Source code: ext/standard/file.c
+ * Alias to functions:
+ */
+
+echo "*** Testing fopen() : variation ***\n";
+
+// fopen with interesting windows paths.
+$testdir = dirname(__FILE__).'/fopen11.tmpDir';
+$rootdir = 'fopen11.tmpdirTwo';
+mkdir($testdir);
+mkdir('c:\\'.$rootdir);
+
+$unixifiedDir = '/'.substr(str_replace('\\','/',$testdir),3);
+
+$paths = array('c:\\',
+ 'c:',
+ 'c',
+ '\\',
+ '/',
+ 'c:'.$rootdir,
+ 'c:adir',
+ 'c:\\/',
+ 'c:\\'.$rootdir.'\\/',
+ 'c:\\'.$rootdir.'\\',
+ 'c:\\'.$rootdir.'/',
+ $unixifiedDir,
+ '/sortout');
+
+$file = "fopen_variation11.tmp";
+$firstfile = 'c:\\'.$rootdir.'\\'.$file;
+$secondfile = $testdir.'\\'.$file;
+$thirdfile = 'c:\\'.$file;
+
+$h = fopen($firstfile, 'w');
+fwrite($h, "file in $rootdir");
+fclose($h);
+
+$h = fopen($secondfile, 'w');
+fwrite($h, "file in fopen11.tmpDir");
+fclose($h);
+
+$h = fopen($thirdfile, 'w');
+fwrite($h, "file in root");
+fclose($h);
+
+foreach($paths as $path) {
+ echo "\n--$path--\n";
+ $toFind = $path.'\\'.$file;
+ $h = fopen($toFind, 'r', true);
+ if ($h === false) {
+ echo "file not opened for read\n";
+ }
+ else {
+ fpassthru($h);
+ echo "\n";
+ }
+ fclose($h);
+};
+
+unlink($firstfile);
+unlink($secondfile);
+unlink($thirdfile);
+rmdir($testdir);
+rmdir('c:\\'.$rootdir);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing fopen() : variation ***
+
+--c:\--
+file in root
+
+--c:--
+file in root
+
+--c--
+
+Warning: fopen(c\fopen_variation11.tmp): failed to open stream: No such file or directory in %s on line %d
+file not opened for read
+
+Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
+
+--\--
+
+Warning: fopen(\\FOPEN_VARIATION11.TMP): failed to open stream: Invalid argument in %s on line %d
+file not opened for read
+
+Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
+
+--/--
+
+Warning: fopen(\\FOPEN_VARIATION11.TMP): failed to open stream: Invalid argument in %s on line %d
+file not opened for read
+
+Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
+
+--c:fopen11.tmpdirTwo--
+
+Warning: fopen(c:fopen11.tmpdirTwo\fopen_variation11.tmp): failed to open stream: No such file or directory in %s on line %d
+file not opened for read
+
+Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
+
+--c:adir--
+
+Warning: fopen(c:adir\fopen_variation11.tmp): failed to open stream: No such file or directory in %s on line %d
+file not opened for read
+
+Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
+
+--c:\/--
+file in root
+
+--c:\fopen11.tmpdirTwo\/--
+file in fopen11.tmpdirTwo
+
+--c:\fopen11.tmpdirTwo\--
+file in fopen11.tmpdirTwo
+
+--c:\fopen11.tmpdirTwo/--
+file in fopen11.tmpdirTwo
+
+--%s/fopen11.tmpDir--
+file in fopen11.tmpDir
+
+--/sortout--
+
+Warning: fopen(/sortout\fopen_variation11.tmp): failed to open stream: No such file or directory in %s on line %d
+file not opened for read
+
+Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
+===DONE===
+