diff options
Diffstat (limited to 'library/ezyang/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php')
| -rw-r--r-- | library/ezyang/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/library/ezyang/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php b/library/ezyang/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php new file mode 100644 index 0000000000..184b57e096 --- /dev/null +++ b/library/ezyang/htmlpurifier/tests/HTMLPurifier/HTMLModule/ScriptingTest.php @@ -0,0 +1,61 @@ +<?php + +class HTMLPurifier_HTMLModule_ScriptingTest extends HTMLPurifier_HTMLModuleHarness +{ + + public function setUp() + { + parent::setUp(); + $this->config->set('HTML.Trusted', true); + $this->config->set('Output.CommentScriptContents', false); + } + + public function testDefaultRemoval() + { + $this->config->set('HTML.Trusted', false); + $this->assertResult( + '<script type="text/javascript">foo();</script>', '' + ); + } + + public function testPreserve() + { + $this->assertResult( + '<script type="text/javascript">foo();</script>' + ); + } + + public function testCDATAEnclosure() + { + $this->assertResult( +'<script type="text/javascript">//<![CDATA[ +alert("<This is compatible with XHTML>"); +//]]></script>' + ); + } + + public function testAllAttributes() + { + $this->assertResult( + '<script + defer="defer" + src="test.js" + type="text/javascript" + >PCDATA</script>' + ); + } + + public 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 |
