aboutsummaryrefslogtreecommitdiffstats
path: root/lib/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-05-12 17:57:41 -0700
committerfriendica <info@friendica.com>2012-07-18 20:40:31 +1000
commit7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a (patch)
treea9c3d91209cff770bb4b613b1b95e61a7bbc5a2b /lib/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php
parentcd727cb26b78a1dade09d510b071446898477356 (diff)
downloadvolse-hubzilla-7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a.tar.gz
volse-hubzilla-7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a.tar.bz2
volse-hubzilla-7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a.zip
some important stuff we'll need
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php')
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php b/lib/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php
new file mode 100644
index 000000000..8bb4f45ee
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/ChildDef/RequiredTest.php
@@ -0,0 +1,73 @@
+<?php
+
+class HTMLPurifier_ChildDef_RequiredTest extends HTMLPurifier_ChildDefHarness
+{
+
+ function testPrepareString() {
+ $def = new HTMLPurifier_ChildDef_Required('foobar | bang |gizmo');
+ $this->assertIdentical($def->elements,
+ array(
+ 'foobar' => true
+ ,'bang' => true
+ ,'gizmo' => true
+ ));
+ }
+
+ function testPrepareArray() {
+ $def = new HTMLPurifier_ChildDef_Required(array('href', 'src'));
+ $this->assertIdentical($def->elements,
+ array(
+ 'href' => true
+ ,'src' => true
+ ));
+ }
+
+ function setUp() {
+ parent::setUp();
+ $this->obj = new HTMLPurifier_ChildDef_Required('dt | dd');
+ }
+
+ function testEmptyInput() {
+ $this->assertResult('', false);
+ }
+
+ function testRemoveIllegalTagsAndElements() {
+ $this->assertResult(
+ '<dt>Term</dt>Text in an illegal location'.
+ '<dd>Definition</dd><b>Illegal tag</b>',
+ '<dt>Term</dt><dd>Definition</dd>');
+ $this->assertResult('How do you do!', false);
+ }
+
+ function testIgnoreWhitespace() {
+ // whitespace shouldn't trigger it
+ $this->assertResult("\n<dd>Definition</dd> ");
+ }
+
+ function testPreserveWhitespaceAfterRemoval() {
+ $this->assertResult(
+ '<dd>Definition</dd> <b></b> ',
+ '<dd>Definition</dd> '
+ );
+ }
+
+ function testDeleteNodeIfOnlyWhitespace() {
+ $this->assertResult("\t ", false);
+ }
+
+ function testPCDATAAllowed() {
+ $this->obj = new HTMLPurifier_ChildDef_Required('#PCDATA | b');
+ $this->assertResult('Out <b>Bold text</b><img />', 'Out <b>Bold text</b>');
+ }
+
+ function testPCDATAAllowedWithEscaping() {
+ $this->obj = new HTMLPurifier_ChildDef_Required('#PCDATA | b');
+ $this->config->set('Core.EscapeInvalidChildren', true);
+ $this->assertResult(
+ 'Out <b>Bold text</b><img />',
+ 'Out <b>Bold text</b>&lt;img /&gt;'
+ );
+ }
+}
+
+// vim: et sw=4 sts=4