0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-11-12 16:38:40 +00:00

Fix autoparagraph bug with non-inline elements.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
This commit is contained in:
Edward Z. Yang 2010-02-15 02:55:33 -05:00
parent bde4de3c78
commit 694583259c
3 changed files with 20 additions and 10 deletions

View File

@ -34,16 +34,21 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
// ---- // ----
// This is a degenerate case // This is a degenerate case
} else { } else {
// State 1.2: PAR1 if (!$token->is_whitespace || $this->_isInline($current)) {
// ---- // State 1.2: PAR1
// ----
// State 1.3: PAR1\n\nPAR2 // State 1.3: PAR1\n\nPAR2
// ------------ // ------------
// State 1.4: <div>PAR1\n\nPAR2 (see State 2) // State 1.4: <div>PAR1\n\nPAR2 (see State 2)
// ------------ // ------------
$token = array($this->_pStart()); $token = array($this->_pStart());
$this->_splitText($text, $token); $this->_splitText($text, $token);
} else {
// State 1.5: \n<hr />
// --
}
} }
} else { } else {
// State 2: <div>PAR1... (similar to 1.4) // State 2: <div>PAR1... (similar to 1.4)

View File

@ -497,6 +497,13 @@ Bar</div>",
); );
} }
function testAutoClose() {
$this->assertResult(
'<p></p>
<hr />'
);
}
function testErrorNeeded() { function testErrorNeeded() {
$this->config->set('HTML.Allowed', 'b'); $this->config->set('HTML.Allowed', 'b');
$this->expectError('Cannot enable AutoParagraph injector because p is not allowed'); $this->expectError('Cannot enable AutoParagraph injector because p is not allowed');

View File

@ -123,8 +123,6 @@ asdf<b></b></p>
<p>asdf</p> <p>asdf</p>
" "
); );
} }