Return to userstreams_003.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: User-space streams: stream_set_option() 3: --FILE-- 4: <?php 5: class test_wrapper_base { 6: public $return_value; 7: public $expected_option; 8: public $expected_value; 9: function stream_open($path, $mode, $openedpath) { 10: return true; 11: } 12: function stream_eof() { 13: return false; 14: } 15: } 16: class test_wrapper extends test_wrapper_base { 17: function stream_set_option($option, $value, $ptrparam) { 18: echo "value:\n"; 19: var_dump($value); 20: echo "ptrparam:\n"; 21: var_dump($ptrparam); 22: echo "\$option === $option === " . $this->expected_option . ":\n";; 23: var_dump($option === $this->expected_option); 24: echo "\$value === $value === " . $this->expected_value. ":\n";; 25: var_dump($value === $this->expected_value); 26: return $this->return_value; 27: } 28: } 29: 30: function test($name, $fd, $return_value, $func, $args, $expected_option, $expected_value) { 31: echo "\n------ $name: -------\n"; 32: $data = stream_get_meta_data($fd); 33: $data['wrapper_data']->return_value = $return_value; 34: $data['wrapper_data']->expected_option = $expected_option; 35: $data['wrapper_data']->expected_value = $expected_value; 36: var_dump(call_user_func_array($func, $args)); 37: } 38: 39: var_dump(stream_wrapper_register('test', 'test_wrapper')); 40: var_dump(stream_wrapper_register('test2', 'test_wrapper_base')); 41: 42: $fd = fopen("test://foo","r"); 43: $fd2 = fopen("test2://foo","r"); 44: 45: test("stream_set_blocking - 1", $fd, true, "stream_set_blocking", array($fd,0), STREAM_OPTION_BLOCKING, 0); 46: test("stream_set_blocking - 2", $fd, false, "stream_set_blocking", array($fd,1), STREAM_OPTION_BLOCKING, 1); 47: test("stream_set_blocking - 3", $fd, "foo", "stream_set_blocking", array($fd,0), STREAM_OPTION_BLOCKING, 0); 48: test("stream_set_blocking - 4", $fd2, true, "stream_set_blocking", array($fd2,1), STREAM_OPTION_BLOCKING, 1); 49: 50: test("stream_set_write_buffer - 1", $fd, true, "stream_set_write_buffer", array($fd,0), STREAM_OPTION_WRITE_BUFFER, STREAM_BUFFER_NONE); 51: test("stream_set_write_buffer - 2", $fd, true, "stream_set_write_buffer", array($fd,4096), STREAM_OPTION_WRITE_BUFFER, STREAM_BUFFER_FULL); 52: test("stream_set_write_buffer - 3", $fd, false, "stream_set_write_buffer", array($fd,8192), STREAM_OPTION_WRITE_BUFFER, STREAM_BUFFER_FULL); 53: 54: test("stream_set_timeout - 1", $fd, true, "stream_set_timeout", array($fd,10,11), STREAM_OPTION_READ_TIMEOUT, 10); 55: test("stream_set_timeout - 2", $fd, false, "stream_set_timeout", array($fd,11,12), STREAM_OPTION_READ_TIMEOUT, 11); 56: 57: ?> 58: --EXPECTF-- 59: bool(true) 60: bool(true) 61: 62: ------ stream_set_blocking - 1: ------- 63: value: 64: int(0) 65: ptrparam: 66: NULL 67: $option === 1 === 1: 68: bool(true) 69: $value === 0 === 0: 70: bool(true) 71: bool(true) 72: 73: ------ stream_set_blocking - 2: ------- 74: value: 75: int(1) 76: ptrparam: 77: NULL 78: $option === 1 === 1: 79: bool(true) 80: $value === 1 === 1: 81: bool(true) 82: bool(false) 83: 84: ------ stream_set_blocking - 3: ------- 85: value: 86: int(0) 87: ptrparam: 88: NULL 89: $option === 1 === 1: 90: bool(true) 91: $value === 0 === 0: 92: bool(true) 93: bool(true) 94: 95: ------ stream_set_blocking - 4: ------- 96: 97: Warning: stream_set_blocking(): test_wrapper_base::stream_set_option is not implemented! in %s 98: bool(false) 99: 100: ------ stream_set_write_buffer - 1: ------- 101: value: 102: int(0) 103: ptrparam: 104: int(%d) 105: $option === 3 === 3: 106: bool(true) 107: $value === 0 === 0: 108: bool(true) 109: int(0) 110: 111: ------ stream_set_write_buffer - 2: ------- 112: value: 113: int(2) 114: ptrparam: 115: int(4096) 116: $option === 3 === 3: 117: bool(true) 118: $value === 2 === 2: 119: bool(true) 120: int(0) 121: 122: ------ stream_set_write_buffer - 3: ------- 123: value: 124: int(2) 125: ptrparam: 126: int(8192) 127: $option === 3 === 3: 128: bool(true) 129: $value === 2 === 2: 130: bool(true) 131: int(-1) 132: 133: ------ stream_set_timeout - 1: ------- 134: value: 135: int(10) 136: ptrparam: 137: int(11) 138: $option === 4 === 4: 139: bool(true) 140: $value === 10 === 10: 141: bool(true) 142: bool(true) 143: 144: ------ stream_set_timeout - 2: ------- 145: value: 146: int(11) 147: ptrparam: 148: int(12) 149: $option === 4 === 4: 150: bool(true) 151: $value === 11 === 11: 152: bool(true) 153: bool(false)