Annotation of embedaddon/php/ext/standard/tests/file/fopen_variation10-win32.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fopen() function : variation: interesting paths, no use include path
3: --CREDITS--
4: Dave Kelsey <d_kelsey@uk.ibm.com>
5: --SKIPIF--
6: <?php
7: if(substr(PHP_OS, 0, 3) != "WIN")
8: die("skip Run only on Windows");
9:
10: if (!is_writable('c:\\fopen_variation10.tmp')) {
11: die('skip. C:\\ not writable.');
12: }
13:
14: ?>
15: --FILE--
16: <?php
17: /* Prototype : resource fopen(string filename, string mode [, bool use_include_path [, resource context]])
18: * Description: Open a file or a URL and return a file pointer
19: * Source code: ext/standard/file.c
20: * Alias to functions:
21: */
22:
23: echo "*** Testing fopen() : variation ***\n";
24:
25: // fopen with interesting windows paths.
26: $testdir = dirname(__FILE__).'/fopen10.tmpDir';
27: $rootdir = 'fopen10.tmpdirTwo';
28: mkdir($testdir);
29: mkdir('c:\\'.$rootdir);
30:
31: $unixifiedDir = '/'.substr(str_replace('\\','/',$testdir),3);
32:
33: $paths = array('c:\\',
34: 'c:',
35: 'c',
36: '\\',
37: '/',
38: 'c:'.$rootdir,
39: 'c:adir',
40: 'c:\\/',
41: 'c:\\'.$rootdir.'\\/',
42: 'c:\\'.$rootdir.'\\',
43: 'c:\\'.$rootdir.'/',
44: $unixifiedDir,
45: '/sortout');
46:
47: $file = "fopen_variation10.tmp";
48: $firstfile = 'c:\\'.$rootdir.'\\'.$file;
49: $secondfile = $testdir.'\\'.$file;
50: $thirdfile = 'c:\\'.$file;
51:
52: $h = fopen($firstfile, 'w');
53: fwrite($h, "file in $rootdir");
54: fclose($h);
55:
56: $h = fopen($secondfile, 'w');
57: fwrite($h, "file in fopen10.tmpDir");
58: fclose($h);
59:
60: $h = fopen($thirdfile, 'w');
61: fwrite($h, "file in root");
62: fclose($h);
63:
64: foreach($paths as $path) {
65: echo "\n--$path--\n";
66: $toFind = $path.'\\'.$file;
67: $h = fopen($toFind, 'r');
68: if ($h === false) {
69: echo "file not opened for read\n";
70: }
71: else {
72: fpassthru($h);
73: echo "\n";
74: }
75: fclose($h);
76: };
77:
78: unlink($firstfile);
79: unlink($secondfile);
80: unlink($thirdfile);
81: rmdir($testdir);
82: rmdir('c:\\'.$rootdir);
83:
84:
85: ?>
86: ===DONE===
87: --EXPECTF--
88: *** Testing fopen() : variation ***
89:
90: --c:\--
91: file in root
92:
93: --c:--
94: file in root
95:
96: --c--
97:
98: Warning: fopen(c\fopen_variation10.tmp): failed to open stream: No such file or directory in %s on line %d
99: file not opened for read
100:
101: Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
102:
103: --\--
104:
105: Warning: fopen(\\fopen_variation10.tmp): failed to open stream: Invalid argument in %s on line %d
106: file not opened for read
107:
108: Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
109:
110: --/--
111:
112: Warning: fopen(/\fopen_variation10.tmp): failed to open stream: Invalid argument in %s on line %d
113: file not opened for read
114:
115: Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
116:
117: --c:fopen10.tmpdirTwo--
118: file in fopen10.tmpdirTwo
119:
120: --c:adir--
121:
122: Warning: fopen(c:adir\fopen_variation10.tmp): failed to open stream: No such file or directory in %s on line %d
123: file not opened for read
124:
125: Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
126:
127: --c:\/--
128: file in root
129:
130: --c:\fopen10.tmpdirTwo\/--
131: file in fopen10.tmpdirTwo
132:
133: --c:\fopen10.tmpdirTwo\--
134: file in fopen10.tmpdirTwo
135:
136: --c:\fopen10.tmpdirTwo/--
137: file in fopen10.tmpdirTwo
138:
139: --%s/fopen10.tmpDir--
140: file in fopen10.tmpDir
141:
142: --/sortout--
143:
144: Warning: fopen(/sortout\fopen_variation10.tmp): failed to open stream: No such file or directory in %s on line %d
145: file not opened for read
146:
147: Warning: fclose() expects parameter 1 to be resource, boolean given in %s on line %d
148: ===DONE===
149:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>