diff options
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php')
-rw-r--r-- | lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php b/lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php new file mode 100644 index 000000000..34dbc9515 --- /dev/null +++ b/lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php @@ -0,0 +1,80 @@ +<?php + +class HTMLPurifier_Injector_RemoveEmptyTest extends HTMLPurifier_InjectorHarness +{ + + public function setup() { + parent::setup(); + $this->config->set('AutoFormat.RemoveEmpty', true); + } + + function testPreserve() { + $this->assertResult('<b>asdf</b>'); + } + + function testRemove() { + $this->assertResult('<b></b>', ''); + } + + function testRemoveWithSpace() { + $this->assertResult('<b> </b>', ''); + } + + function testRemoveWithAttr() { + $this->assertResult('<b class="asdf"></b>', ''); + } + + function testRemoveIdAndName() { + $this->assertResult('<a id="asdf" name="asdf"></a>', ''); + } + + function testPreserveColgroup() { + $this->assertResult('<colgroup></colgroup>'); + } + + function testPreserveId() { + $this->config->set('Attr.EnableID', true); + $this->assertResult('<a id="asdf"></a>'); + } + + function testPreserveName() { + $this->config->set('Attr.EnableID', true); + $this->assertResult('<a name="asdf"></a>'); + } + + function testRemoveNested() { + $this->assertResult('<b><i></i></b>', ''); + } + + function testRemoveNested2() { + $this->assertResult('<b><i><u></u></i></b>', ''); + } + + function testRemoveNested3() { + $this->assertResult('<b> <i> <u> </u> </i> </b>', ''); + } + + function testRemoveNbsp() { + $this->config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true); + $this->assertResult('<b> </b>', ''); + } + + function testRemoveNbspMix() { + $this->config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true); + $this->assertResult('<b> </b>', ''); + } + + function testDontRemoveNbsp() { + $this->config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true); + $this->assertResult('<td> </b>', "<td>\xC2\xA0</td>"); + } + + function testRemoveNbspExceptionsSpecial() { + $this->config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true); + $this->config->set('AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions', 'b'); + $this->assertResult('<b> </b>', "<b>\xC2\xA0</b>"); + } + +} + +// vim: et sw=4 sts=4 |