diff options
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php')
-rw-r--r-- | lib/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php | 55 |
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 |