Return to filter_errors_user.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / filters |
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