diff options
author | Stanislav Malyshev <stas@php.net> | 2013-06-16 16:34:34 -0700 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2013-06-16 16:34:34 -0700 |
commit | 7bb052ee3e93790f4d9654958ab11d90f6e4734d (patch) | |
tree | d766dab77f0bd2d562385886fc937d47b91380c2 | |
parent | 0dc98208ee0c7b372c8c81e5d2d833974e001f83 (diff) | |
download | php-git-7bb052ee3e93790f4d9654958ab11d90f6e4734d.tar.gz |
add more tests for bug #64166
-rw-r--r-- | ext/standard/tests/streams/bug64166_2.phpt | 50 | ||||
-rw-r--r-- | ext/standard/tests/streams/bug64166_3.phpt | 48 |
2 files changed, 98 insertions, 0 deletions
diff --git a/ext/standard/tests/streams/bug64166_2.phpt b/ext/standard/tests/streams/bug64166_2.phpt new file mode 100644 index 0000000000..9d6655d5c1 --- /dev/null +++ b/ext/standard/tests/streams/bug64166_2.phpt @@ -0,0 +1,50 @@ +--TEST-- +Bug #64166: quoted-printable-encode stream filter incorrectly discarding whitespace - split reads +--FILE-- +<?php + +function test_64166($data) { + $fd = fopen('php://temp', 'w+'); + fwrite($fd, $data); + rewind($fd); + + $res = stream_filter_append($fd, 'convert.quoted-printable-encode', STREAM_FILTER_READ, array( + 'line-break-chars' => "\n", + 'line-length' => 74 + )); + $str = ""; + while(($c = fread($fd, 1))!= "") $str .= $c; + var_dump($str); + + stream_filter_remove($res); + + rewind($fd); + stream_filter_append($fd, 'convert.quoted-printable-encode', STREAM_FILTER_READ, array( + 'line-break-chars' => "\n", + 'line-length' => 6 + )); + $str = ""; + while(($c = fread($fd, 1))!= "") $str .= $c; + var_dump($str); + + fclose($fd); +} + +test_64166("FIRST \nSECOND"); +test_64166("FIRST \nSECOND"); + +?> +--EXPECT-- +string(15) "FIRST=20 +SECOND" +string(19) "FIRST= +=20 +SECON= +D" +string(18) "FIRST=20=20 +SECOND" +string(24) "FIRST= +=20= +=20 +SECON= +D" diff --git a/ext/standard/tests/streams/bug64166_3.phpt b/ext/standard/tests/streams/bug64166_3.phpt new file mode 100644 index 0000000000..d896ba800c --- /dev/null +++ b/ext/standard/tests/streams/bug64166_3.phpt @@ -0,0 +1,48 @@ +--TEST-- +Bug #64166: quoted-printable-encode stream filter incorrectly discarding whitespace - writes +--FILE-- +<?php + +function test_64166($data) { + $fd = fopen('php://temp', 'w+'); + $res = stream_filter_append($fd, 'convert.quoted-printable-encode', STREAM_FILTER_WRITE, array( + 'line-break-chars' => "\n", + 'line-length' => 74 + )); + fwrite($fd, $data); + rewind($fd); + + var_dump(stream_get_contents($fd, -1, 0)); + + stream_filter_remove($res); + + rewind($fd); + stream_filter_append($fd, 'convert.quoted-printable-encode', STREAM_FILTER_WRITE, array( + 'line-break-chars' => "\n", + 'line-length' => 6 + )); + fwrite($fd, $data); + rewind($fd); + var_dump(stream_get_contents($fd, -1, 0)); + + fclose($fd); +} + +test_64166("FIRST \nSECOND"); +test_64166("FIRST \nSECOND"); + +?> +--EXPECT-- +string(15) "FIRST=20 +SECOND" +string(19) "FIRST= +=20 +SECON= +D" +string(18) "FIRST=20=20 +SECOND" +string(24) "FIRST= +=20= +=20 +SECON= +D" |