Annotation of embedaddon/php/ext/standard/tests/file/userwrapper.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Userstream unlink, rename, mkdir, rmdir, and url_stat.
! 3: --FILE--
! 4: <?php # vim:ft=php:
! 5: class test {
! 6: function unlink($file) {
! 7: print "Unlinking file: $file\n";
! 8: }
! 9:
! 10: function rename($from, $to) {
! 11: print "Renaming $from to $to\n";
! 12: }
! 13:
! 14: function mkdir($directory, $mode, $options) {
! 15: printf("Making directory: %s as %o%s\n", $directory, $mode, $options & STREAM_MKDIR_RECURSIVE ? " recursively" : "");
! 16: }
! 17:
! 18: function rmdir($directory, $options) {
! 19: print "Removing directory: $directory\n";
! 20: }
! 21:
! 22: function url_stat($path, $options) {
! 23: /* By printing out a notice that we are actively stating the file
! 24: then subsequently performing multiple stat operations on it
! 25: we effectively test the stat cache mechanism */
! 26: print "Stating file: $path\n";
! 27: return array('dev'=>1, 'ino'=>2, 'mode'=>0644, 'nlink'=>3,
! 28: 'uid'=>100, 'gid'=>1000, 'rdev'=>-1, 'size'=>31337,
! 29: 'atime'=>1234567890, 'mtime'=>1231231231, 'ctime'=>1234564564,
! 30: 'blksize'=>-1, 'blocks'=>-1);
! 31: }
! 32: }
! 33:
! 34: stream_wrapper_register('test', 'test');
! 35:
! 36: unlink('test://example.com/path/to/file');
! 37: rename('test://example.com/path/to/from', 'test://example.com/path/to/to');
! 38: /* We *want* this to fail and thus not output the watch statement */
! 39: @rename('test://example.com/path/to/from', 'http://example.com/path/to/to');
! 40: mkdir('test://example.com/path/to/directory', 0755);
! 41: rmdir('test://example.com/path/to/directory');
! 42: print_r(stat('test://example.com/path/to/file'));
! 43: echo "Filesize = " . filesize('test://example.com/path/to/file') . "\n";
! 44: echo "filemtime = " . filemtime('test://example.com/path/to/file') . "\n";
! 45: ?>
! 46: --EXPECT--
! 47: Unlinking file: test://example.com/path/to/file
! 48: Renaming test://example.com/path/to/from to test://example.com/path/to/to
! 49: Making directory: test://example.com/path/to/directory as 755
! 50: Removing directory: test://example.com/path/to/directory
! 51: Stating file: test://example.com/path/to/file
! 52: Array
! 53: (
! 54: [0] => 1
! 55: [1] => 2
! 56: [2] => 420
! 57: [3] => 3
! 58: [4] => 100
! 59: [5] => 1000
! 60: [6] => -1
! 61: [7] => 31337
! 62: [8] => 1234567890
! 63: [9] => 1231231231
! 64: [10] => 1234564564
! 65: [11] => -1
! 66: [12] => -1
! 67: [dev] => 1
! 68: [ino] => 2
! 69: [mode] => 420
! 70: [nlink] => 3
! 71: [uid] => 100
! 72: [gid] => 1000
! 73: [rdev] => -1
! 74: [size] => 31337
! 75: [atime] => 1234567890
! 76: [mtime] => 1231231231
! 77: [ctime] => 1234564564
! 78: [blksize] => -1
! 79: [blocks] => -1
! 80: )
! 81: Filesize = 31337
! 82: filemtime = 1231231231
! 83:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>