function DrupalHtmlToTextTestCase::testDrupalHtmlToTextBlockTagToNewline in Drupal 7
Test that text separated by block-level tags in HTML get separated by (at least) a newline in the plaintext version.
File
- modules/
simpletest/ tests/ mail.test, line 389 - Test the Drupal mailing system.
Class
- DrupalHtmlToTextTestCase
- Unit tests for drupal_html_to_text().
Code
function testDrupalHtmlToTextBlockTagToNewline() {
$input = '[text]' . '<blockquote>[blockquote]</blockquote>' . '<br />[br]' . '<dl><dt>[dl-dt]</dt>' . '<dt>[dt]</dt>' . '<dd>[dd]</dd>' . '<dd>[dd-dl]</dd></dl>' . '<h1>[h1]</h1>' . '<h2>[h2]</h2>' . '<h3>[h3]</h3>' . '<h4>[h4]</h4>' . '<h5>[h5]</h5>' . '<h6>[h6]</h6>' . '<hr />[hr]' . '<ol><li>[ol-li]</li>' . '<li>[li]</li>' . '<li>[li-ol]</li></ol>' . '<p>[p]</p>' . '<ul><li>[ul-li]</li>' . '<li>[li-ul]</li></ul>' . '[text]';
$output = drupal_html_to_text($input);
$pass = $this
->assertFalse(preg_match('/\\][^\\n]*\\[/s', $output), 'Block-level HTML tags should force newlines');
if (!$pass) {
$this
->verbose($this
->stringToHtml($output));
}
$output_upper = drupal_strtoupper($output);
$upper_input = drupal_strtoupper($input);
$upper_output = drupal_html_to_text($upper_input);
$pass = $this
->assertEqual($upper_output, $output_upper, 'Tag recognition should be case-insensitive');
if (!$pass) {
$this
->verbose($upper_output . '<br />should be equal to <br />' . $output_upper);
}
}