From 25c8fe4eeb1e9c1a3055bb27984f1274f99fc1d7 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Wed, 17 Jun 2015 08:03:13 -0400 Subject: [PATCH] Fix handling of non-break spaces in html to text conversion (#1490436) --- tests/Framework/Html2text.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/tests/Framework/Html2text.php b/tests/Framework/Html2text.php index 2c7759f..be14882 100644 --- a/tests/Framework/Html2text.php +++ b/tests/Framework/Html2text.php @@ -41,6 +41,21 @@ 'in' => '<b><strong>ś</strong></b>', 'out' => 'Ś', ), + 6 => array( + 'title' => 'Don\'t remove non-printable chars', + 'in' => chr(0x002).chr(0x003), + 'out' => chr(0x002).chr(0x003), + ), + 7 => array( + 'title' => 'Remove spaces after <br>', + 'in' => 'test<br> test', + 'out' => "test\ntest", + ), + 8 => array( + 'title' => ' handling test', + 'in' => '<div>eye: test<br /> tes: test</div>', + 'out' => "eye: test\ntes: test", + ), ); } @@ -103,4 +118,29 @@ $this->assertContains('QUOTED TEXT INNER 1 INNER 2 NO END', $res, 'No quoating on invalid html'); } + + function test_links() + { + $html = '<a href="http://test.com">content</a>'; + $expected = 'content [1] + +Links: +------ +[1] http://test.com +'; + + $ht = new rcube_html2text($html, false, true); + $res = $ht->get_text(); + + $this->assertSame($expected, $res, 'Links list'); + + // href == content (#1490434) + $html = '<a href="http://test.com">http://test.com</a>'; + $expected = 'http://test.com'; + + $ht = new rcube_html2text($html, false, true); + $res = $ht->get_text(); + + $this->assertSame($expected, $res, 'Skip link with href == content'); + } } -- Gitblit v1.9.1