mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-23 17:01:51 +00:00
bf0d659c47
- DirectLex now honors comments with greater than or less than signs in them - Comments are transformed into script elements, ending comments are scrapped - Buggy generator code rewritten to be more error-proof - AttrValidator checks if token has attributes before processing - Remove invalid documentation from Scripting - "Commenting" of script elements switched to the more advanced version git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@1189 48356398-32a2-884e-a903-53898d9a118a
60 lines
1.6 KiB
PHP
60 lines
1.6 KiB
PHP
<?php
|
|
|
|
require_once 'HTMLPurifier/HTMLModuleHarness.php';
|
|
|
|
class HTMLPurifier_HTMLModule_ScriptingTest extends HTMLPurifier_HTMLModuleHarness
|
|
{
|
|
|
|
function test() {
|
|
|
|
// default (remove everything)
|
|
$this->assertResult(
|
|
'<script type="text/javascript">foo();</script>', ''
|
|
);
|
|
|
|
// enabled
|
|
$this->assertResult(
|
|
'<script type="text/javascript">foo();</script>', true,
|
|
array('HTML.Trusted' => true)
|
|
);
|
|
|
|
// CDATA
|
|
$this->assertResult(
|
|
'//<![CDATA[
|
|
alert("<This is compatible with XHTML>");
|
|
//]]> ', true,
|
|
array('HTML.Trusted' => true)
|
|
);
|
|
|
|
// max
|
|
$this->assertResult(
|
|
'<script
|
|
defer="defer"
|
|
src="test.js"
|
|
type="text/javascript"
|
|
>PCDATA</script>', true,
|
|
array('HTML.Trusted' => true, 'Core.CommentScriptContents' => false)
|
|
);
|
|
|
|
// unsupported
|
|
$this->assertResult(
|
|
'<script
|
|
type="text/javascript"
|
|
charset="utf-8"
|
|
>PCDATA</script>',
|
|
'<script type="text/javascript">PCDATA</script>',
|
|
array('HTML.Trusted' => true, 'Core.CommentScriptContents' => false)
|
|
);
|
|
|
|
// invalid children
|
|
$this->assertResult(
|
|
'<script type="text/javascript">PCDATA<span</script>',
|
|
'<script type="text/javascript">PCDATA</script>',
|
|
array('HTML.Trusted' => true, 'Core.CommentScriptContents' => false)
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|