Annotation of embedaddon/php/ext/standard/tests/filters/filter_errors_user.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Filter errors: user filter
3: --FILE--
4: <?php
5: require 'filter_errors.inc';
6:
7: class test_filter0 extends php_user_filter {
8: function filter($in, $out, &$consumed, $closing) {
9: return PSFS_ERR_FATAL;
10: }
11: }
12: class test_filter1 extends php_user_filter {
13: function filter($in, $out, &$consumed, $closing) {
14: $bucket = stream_bucket_make_writeable($in);
15: return PSFS_ERR_FATAL;
16: }
17: }
18: class test_filter2 extends php_user_filter {
19: function filter($in, $out, &$consumed, $closing) {
20: while ($bucket = stream_bucket_make_writeable($in)) {
21: $consumed += $bucket->datalen;
22: stream_bucket_append($out, $bucket);
23: }
24: return PSFS_ERR_FATAL;
25: }
26: }
27: class test_filter3 extends php_user_filter {
28: function filter($in, $out, &$consumed, $closing) {
29: if (!$closing) {
30: $bucket = stream_bucket_new($this->stream, "42");
31: stream_bucket_append($out, $bucket);
32: }
33: return PSFS_ERR_FATAL;
34: }
35: }
36: class test_filter4 extends php_user_filter {
37: function filter($in, $out, &$consumed, $closing) {
38: if (!$closing) {
39: $bucket = stream_bucket_new($this->stream, "42");
40: }
41: return PSFS_ERR_FATAL;
42: }
43: }
44:
45: for($i = 0; $i < 5; ++$i) {
46: echo "test_filter$i\n";
47: var_dump(stream_filter_register("test_filter$i", "test_filter$i"));
48: filter_errors_test("test_filter$i", "42");
49: }
50:
51: echo "test append / read / remove\n";
52: for($i = 0; $i < 5; ++$i) {
53: echo "test_filter$i\n";
54: $stream = fopen('php://memory', 'wb+');
55: fwrite($stream, b"42");
56: fseek($stream, 0, SEEK_SET);
57: $f = stream_filter_append($stream, "test_filter$i");
58: stream_get_contents($stream);
59: stream_filter_remove($f);
60: }
61:
62: echo "test append all / read / remove all\n";
63: $stream = fopen('php://memory', 'wb+');
64: fwrite($stream, b"42");
65: fseek($stream, 0, SEEK_SET);
66: $filters = array();
67: for($i = 0; $i < 5; ++$i) {
68: echo "test_filter$i\n";
69: $filters[] = stream_filter_append($stream, "test_filter$i");
70: }
71: stream_get_contents($stream);
72: foreach($filters as $filter) {
73: stream_filter_remove($filter);
74: }
75:
76: echo "test append all / read / close\n";
77: $stream = fopen('php://memory', 'wb+');
78: fwrite($stream, b"42");
79: fseek($stream, 0, SEEK_SET);
80: $filters = array();
81: for($i = 0; $i < 5; ++$i) {
82: echo "test_filter$i\n";
83: $filters[] = stream_filter_append($stream, "test_filter$i");
84: }
85: stream_get_contents($stream);
86: fclose($stream);
87:
88: ?>
89: --EXPECTF--
90: test_filter0
91: bool(true)
92: test filtering of buffered data
93:
94: Warning: stream_filter_append(): Unprocessed filter buckets remaining on input brigade in %s
95:
96: Warning: stream_filter_append(): Filter failed to process pre-buffered data in %s
97: test filtering of non buffered data
98:
99: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
100: test_filter1
101: bool(true)
102: test filtering of buffered data
103:
104: Warning: stream_filter_append(): Filter failed to process pre-buffered data in %s
105: test filtering of non buffered data
106: test_filter2
107: bool(true)
108: test filtering of buffered data
109:
110: Warning: stream_filter_append(): Filter failed to process pre-buffered data in %s
111: test filtering of non buffered data
112: test_filter3
113: bool(true)
114: test filtering of buffered data
115:
116: Warning: stream_filter_append(): Unprocessed filter buckets remaining on input brigade in %s
117:
118: Warning: stream_filter_append(): Filter failed to process pre-buffered data in %s
119: test filtering of non buffered data
120:
121: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
122: test_filter4
123: bool(true)
124: test filtering of buffered data
125:
126: Warning: stream_filter_append(): Unprocessed filter buckets remaining on input brigade in %s
127:
128: Warning: stream_filter_append(): Filter failed to process pre-buffered data in %s
129: test filtering of non buffered data
130:
131: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
132: test append / read / remove
133: test_filter0
134:
135: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
136:
137: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
138: test_filter1
139:
140: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
141: test_filter2
142:
143: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
144: test_filter3
145:
146: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
147:
148: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
149: test_filter4
150:
151: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
152:
153: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
154: test append all / read / remove all
155: test_filter0
156: test_filter1
157: test_filter2
158: test_filter3
159: test_filter4
160:
161: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
162:
163: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
164:
165: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
166:
167: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
168:
169: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
170:
171: Warning: stream_filter_remove(): Unable to flush filter, not removing in %s
172: test append all / read / close
173: test_filter0
174: test_filter1
175: test_filter2
176: test_filter3
177: test_filter4
178:
179: Warning: stream_get_contents(): Unprocessed filter buckets remaining on input brigade in %s
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>