aboutsummaryrefslogtreecommitdiffstats
path: root/lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php')
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/Injector/RemoveEmptyTest.php80
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>&nbsp;</b>', '');
+ }
+
+ function testRemoveNbspMix() {
+ $this->config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true);
+ $this->assertResult('<b>&nbsp; &nbsp;</b>', '');
+ }
+
+ function testDontRemoveNbsp() {
+ $this->config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true);
+ $this->assertResult('<td>&nbsp;</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>&nbsp;</b>', "<b>\xC2\xA0</b>");
+ }
+
+}
+
+// vim: et sw=4 sts=4