1 mail.test | BackdropHtmlToTextTestCase::testBackdropHtmlToTextBlockTagToNewline() |
Test that text separated by block-level tags in HTML get separated by (at least) a newline in the plaintext version.
File
- core/
modules/ simpletest/ tests/ mail.test, line 301 - Test the Backdrop mailing system.
Class
- BackdropHtmlToTextTestCase
- Unit tests for backdrop_html_to_text().
Code
function testBackdropHtmlToTextBlockTagToNewline() {
$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 = backdrop_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 = backdrop_strtoupper($output);
$upper_input = backdrop_strtoupper($input);
$upper_output = backdrop_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
);
}
}