Commit: 7bb052ee3e93790f4d9654958ab11d90f6e4734d Author: Stanislav Malyshev <s...@php.net> Sun, 16 Jun 2013 16:34:34 -0700 Parents: 0dc98208ee0c7b372c8c81e5d2d833974e001f83 Branches: PHP-5.4 PHP-5.5 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7bb052ee3e93790f4d9654958ab11d90f6e4734d Log: add more tests for bug #64166 Bugs: https://bugs.php.net/64166 Changed paths: A ext/standard/tests/streams/bug64166_2.phpt A ext/standard/tests/streams/bug64166_3.phpt Diff: diff --git a/ext/standard/tests/streams/bug64166_2.phpt b/ext/standard/tests/streams/bug64166_2.phpt new file mode 100644 index 0000000..9d6655d --- /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 0000000..d896ba8 --- /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" -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php