Annotation of embedaddon/php/ext/standard/tests/file/fseek_variation3.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test fseek() function : variation functionality beyond file boundaries
! 3: --CREDITS--
! 4: Dave Kelsey <d_kelsey@uk.ibm.com>
! 5: --FILE--
! 6: <?php
! 7: /* Prototype : proto int fseek(resource fp, int offset [, int whence])
! 8: * Description: Seek on a file pointer
! 9: * Source code: ext/standard/file.c
! 10: * Alias to functions: gzseek
! 11: */
! 12:
! 13: echo "*** Testing fseek() : variation - beyond file boundaries ***\n";
! 14:
! 15: $outputfile = __FILE__.".tmp";
! 16:
! 17: $h = fopen($outputfile, "wb+");
! 18: for ($i = 1; $i < 10; $i++) {
! 19: fwrite($h, chr(0x30 + $i));
! 20: }
! 21:
! 22: echo "--- fseek beyond start of file ---\n";
! 23: var_dump(fseek($h, -4, SEEK_SET));
! 24: echo "after -4 seek: ".bin2hex(fread($h,1))."\n";
! 25: var_dump(fseek($h, -1, SEEK_CUR));
! 26: echo "after seek back 1: ".bin2hex(fread($h,1))."\n";
! 27: var_dump(fseek($h, -20, SEEK_CUR));
! 28: echo "after seek back 20: ".bin2hex(fread($h,1))."\n";
! 29:
! 30: echo "--- fseek beyond end of file ---\n";
! 31: var_dump(fseek($h, 16, SEEK_SET));
! 32: fwrite($h, b"end");
! 33: fseek($h ,0, SEEK_SET);
! 34: $data = fread($h, 4096);
! 35: echo bin2hex($data)."\n";
! 36:
! 37: fclose($h);
! 38: unlink($outputfile);
! 39:
! 40: echo "Done";
! 41: ?>
! 42: --EXPECTF--
! 43: *** Testing fseek() : variation - beyond file boundaries ***
! 44: --- fseek beyond start of file ---
! 45: int(-1)
! 46: after -4 seek:
! 47: int(0)
! 48: after seek back 1: 39
! 49: int(-1)
! 50: after seek back 20:
! 51: --- fseek beyond end of file ---
! 52: int(0)
! 53: 31323334353637383900000000000000656e64
! 54: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>