| | |
| | | '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), |
| | | ), |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | $this->assertEquals($out, $res, $title); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | function test_multiple_blockquotes() |
| | | { |
| | | $html = <<<EOF |
| | | <br>Begin<br><blockquote>OUTER BEGIN<blockquote>INNER 1<br></blockquote><div><br></div><div>Par 1</div> |
| | | <blockquote>INNER 2</blockquote><div><br></div><div>Par 2</div> |
| | | <div><br></div><div>Par 3</div><div><br></div> |
| | | <blockquote>INNER 3</blockquote>OUTER END</blockquote> |
| | | EOF; |
| | | $ht = new rcube_html2text($html, false, false); |
| | | $res = $ht->get_text(); |
| | | |
| | | $this->assertContains('>> INNER 1', $res, 'Quote inner'); |
| | | $this->assertContains('>> INNER 3', $res, 'Quote inner'); |
| | | $this->assertContains('> OUTER END', $res, 'Quote outer'); |
| | | } |
| | | |
| | | function test_broken_blockquotes() |
| | | { |
| | | // no end tag |
| | | $html = <<<EOF |
| | | Begin<br> |
| | | <blockquote>QUOTED TEXT |
| | | <blockquote> |
| | | NO END TAG FOUND |
| | | EOF; |
| | | $ht = new rcube_html2text($html, false, false); |
| | | $res = $ht->get_text(); |
| | | |
| | | $this->assertContains('QUOTED TEXT NO END TAG FOUND', $res, 'No quoating on invalid html'); |
| | | |
| | | // with some (nested) end tags |
| | | $html = <<<EOF |
| | | Begin<br> |
| | | <blockquote>QUOTED TEXT |
| | | <blockquote>INNER 1</blockquote> |
| | | <blockquote>INNER 2</blockquote> |
| | | NO END TAG FOUND |
| | | EOF; |
| | | $ht = new rcube_html2text($html, false, false); |
| | | $res = $ht->get_text(); |
| | | |
| | | $this->assertContains('QUOTED TEXT INNER 1 INNER 2 NO END', $res, 'No quoating on invalid html'); |
| | | } |
| | | } |