]> granicus.if.org Git - php/commitdiff
Test additional wrapper methods [unlink, rename, mkdir, rmdir, url_stat]
authorSara Golemon <pollita@php.net>
Sun, 28 Dec 2003 01:06:38 +0000 (01:06 +0000)
committerSara Golemon <pollita@php.net>
Sun, 28 Dec 2003 01:06:38 +0000 (01:06 +0000)
ext/standard/tests/file/userwrapper.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/file/userwrapper.phpt b/ext/standard/tests/file/userwrapper.phpt
new file mode 100644 (file)
index 0000000..2b1d9da
--- /dev/null
@@ -0,0 +1,83 @@
+--TEST--
+Userstream unlink, rename, mkdir, rmdir, and url_stat.
+--FILE--
+<?php # vim:ft=php:
+class test {
+    function unlink($file) {
+        print "Unlinking file: $file\n";
+    }
+
+    function rename($from, $to) {
+        print "Renaming $from to $to\n";
+    }
+
+    function mkdir($directory, $mode, $options) {
+        printf("Making directory: %s as %o%s\n", $directory, $mode, $options & STREAM_MKDIR_RECURSIVE ? " recursively" : "");
+    }
+
+    function rmdir($directory, $options) {
+        print "Removing directory: $directory\n";
+    }
+
+    function url_stat($path, $options) {
+               /* By printing out a notice that we are actively stating the file
+                  then subsequently performing multiple stat operations on it
+                  we effectively test the stat cache mechanism */
+        print "Stating file: $path\n";
+        return array('dev'=>1, 'ino'=>2, 'mode'=>0644, 'nlink'=>3,
+                     'uid'=>100, 'gid'=>1000, 'rdev'=>-1, 'size'=>31337,
+                     'atime'=>1234567890, 'mtime'=>1231231231, 'ctime'=>1234564564,
+                     'blksize'=>4096, 'blocks'=>8);
+    }
+}
+
+stream_wrapper_register('test', 'test');
+
+unlink('test://example.com/path/to/file');
+rename('test://example.com/path/to/from', 'test://example.com/path/to/to');
+/* We *want* this to fail and thus not output the watch statement */
+@rename('test://example.com/path/to/from', 'http://example.com/path/to/to');
+mkdir('test://example.com/path/to/directory', 0755);
+rmdir('test://example.com/path/to/directory');
+print_r(stat('test://example.com/path/to/file'));
+echo "Filesize = " . filesize('test://example.com/path/to/file') . "\n";
+echo "filemtime = " . filemtime('test://example.com/path/to/file') . "\n";
+?>
+--EXPECT--
+Unlinking file: test://example.com/path/to/file
+Renaming test://example.com/path/to/from to test://example.com/path/to/to
+Making directory: test://example.com/path/to/directory as 755
+Removing directory: test://example.com/path/to/directory
+Stating file: test://example.com/path/to/file
+Array
+(
+    [0] => 1
+    [1] => 2
+    [2] => 420
+    [3] => 3
+    [4] => 100
+    [5] => 1000
+    [6] => -1
+    [7] => 31337
+    [8] => 1234567890
+    [9] => 1231231231
+    [10] => 1234564564
+    [11] => -1
+    [12] => -1
+    [dev] => 1
+    [ino] => 2
+    [mode] => 420
+    [nlink] => 3
+    [uid] => 100
+    [gid] => 1000
+    [rdev] => -1
+    [size] => 31337
+    [atime] => 1234567890
+    [mtime] => 1231231231
+    [ctime] => 1234564564
+    [blksize] => -1
+    [blocks] => -1
+)
+Filesize = 31337
+filemtime = 1231231231
+