aboutsummaryrefslogtreecommitdiffstats
path: root/lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php')
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php b/lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php
new file mode 100644
index 000000000..c844a4776
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php
@@ -0,0 +1,55 @@
+<?php
+
+class HTMLPurifier_HTMLModule_ScriptingTest extends HTMLPurifier_HTMLModuleHarness
+{
+
+ function setUp() {
+ parent::setUp();
+ $this->config->set('HTML.Trusted', true);
+ $this->config->set('Output.CommentScriptContents', false);
+ }
+
+ function testDefaultRemoval() {
+ $this->config->set('HTML.Trusted', false);
+ $this->assertResult(
+ '<script type="text/javascript">foo();</script>', ''
+ );
+ }
+
+ function testPreserve() {
+ $this->assertResult(
+ '<script type="text/javascript">foo();</script>'
+ );
+ }
+
+ function testCDATAEnclosure() {
+ $this->assertResult(
+'<script type="text/javascript">//<![CDATA[
+alert("<This is compatible with XHTML>");
+//]]></script>'
+ );
+ }
+
+ function testAllAttributes() {
+ $this->assertResult(
+ '<script
+ defer="defer"
+ src="test.js"
+ type="text/javascript"
+ >PCDATA</script>'
+ );
+ }
+
+ function testUnsupportedAttributes() {
+ $this->assertResult(
+ '<script
+ type="text/javascript"
+ charset="utf-8"
+ >PCDATA</script>',
+ '<script type="text/javascript">PCDATA</script>'
+ );
+ }
+
+}
+
+// vim: et sw=4 sts=4