From 7bb052ee3e93790f4d9654958ab11d90f6e4734d Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 16 Jun 2013 16:34:34 -0700 Subject: [PATCH] add more tests for bug #64166 --- ext/standard/tests/streams/bug64166_2.phpt | 50 ++++++++++++++++++++++ ext/standard/tests/streams/bug64166_3.phpt | 48 +++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 ext/standard/tests/streams/bug64166_2.phpt create mode 100644 ext/standard/tests/streams/bug64166_3.phpt 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-- + "\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-- + "\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" -- 2.40.0