Fix format=flowed unfolding on quoted lines; added tests for rcube_mime::format_flowed() and rcube_mime::unfold_flowed()
2 files added
2 files modified
| | |
| | | $q = strlen(str_replace(' ', '', $regs[0])); |
| | | $line = substr($line, strlen($regs[0])); |
| | | |
| | | if ($q == $q_level && $line |
| | | if ($q == $q_level |
| | | && strlen($line[$last]) > 1 // don't hit if line only consist of one single white space |
| | | && isset($text[$last]) |
| | | && $text[$last][strlen($text[$last])-1] == ' ' |
| | | ) { |
| | |
| | | $this->assertEquals($item['out'], $res, "Header decoding for: " . $idx); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Test format=flowed unfolding |
| | | */ |
| | | function test_format_flowed() |
| | | { |
| | | $raw = file_get_contents(TESTS_DIR . 'src/format-flowed-unfolded.txt'); |
| | | $flowed = file_get_contents(TESTS_DIR . 'src/format-flowed.txt'); |
| | | |
| | | $this->assertEquals($flowed, rcube_mime::format_flowed($raw, 80), "Test correct folding and space-stuffing"); |
| | | } |
| | | |
| | | /** |
| | | * Test format=flowed unfolding |
| | | */ |
| | | function test_unfold_flowed() |
| | | { |
| | | $flowed = file_get_contents(TESTS_DIR . 'src/format-flowed.txt'); |
| | | $unfolded = file_get_contents(TESTS_DIR . 'src/format-flowed-unfolded.txt'); |
| | | |
| | | $this->assertEquals($unfolded, rcube_mime::unfold_flowed($flowed), "Test correct unfolding of quoted lines"); |
| | | } |
| | | } |
New file |
| | |
| | | I'm replying on this with a very long line which is then wrapped and space-stuffed because the draft is saved as format=flowed.
|
| | | From what's specified in RFC 2646 some lines need to be space-stuffed to avoid muning during transport.
|
| | |
|
| | | X
|
| | |
|
| | | On XX.YY.YYYY Y:YY, Somebody wrote:
|
| | | > This part is a reply wihtout any flowing lines. rcube_mime::unfold_flowed()
|
| | | > has to be careful with empty quoted lines because they might end with a
|
| | | > space but still shouldn't be considered as flowed!
|
| | | > |
| | | > The above empty line should persist after unfolding.
|
| | | > xxxxxxxxxx. xxxx xxxxx xxxxx xxxx xx xx.xx. xxxxxx xxxxxxxxxxxx, xxxx xx
|
| | | > |
| | | > ... and this one as well.
|
New file |
| | |
| | | I'm replying on this with a very long line which is then wrapped and |
| | | space-stuffed because the draft is saved as format=flowed.
|
| | | From what's specified in RFC 2646 some lines need to be space-stuffed to |
| | | avoid muning during transport.
|
| | |
|
| | | X
|
| | |
|
| | | On XX.YY.YYYY Y:YY, Somebody wrote:
|
| | | > This part is a reply wihtout any flowing lines. rcube_mime::unfold_flowed()
|
| | | > has to be careful with empty quoted lines because they might end with a
|
| | | > space but still shouldn't be considered as flowed!
|
| | | > |
| | | > The above empty line should persist after unfolding.
|
| | | > xxxxxxxxxx. xxxx xxxxx xxxxx xxxx xx xx.xx. xxxxxx xxxxxxxxxxxx, xxxx xx
|
| | | > |
| | | > ... and this one as well.
|