0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-11-08 14:58:42 +00:00

[1.7.0] Add some module unit tests for Edit, Hypertext, Image and Legacy (incomplete). Remove redundant img scaffolding.

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@1050 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
Edward Z. Yang 2007-05-13 20:43:38 +00:00
parent da92cb9ff4
commit 3b1c40b2fc
7 changed files with 214 additions and 2 deletions

View File

@ -14,8 +14,6 @@ class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule
{
var $name = 'Image';
var $elements = array('img');
var $content_sets = array('Inline' => 'img');
function HTMLPurifier_HTMLModule_Image() {
$img =& $this->addElement(

View File

@ -7,6 +7,7 @@ class HTMLPurifier_HTMLModule_BdoTest extends HTMLPurifier_HTMLModuleHarness
function test() {
// max
$this->assertResult(
'<span>
<bdo
@ -23,6 +24,23 @@ class HTMLPurifier_HTMLModule_BdoTest extends HTMLPurifier_HTMLModuleHarness
</span>', true, array('Attr.EnableID' => true)
);
// min
$this->assertResult(
'<bdo></bdo>', '<bdo dir="ltr"></bdo>'
);
// children
$this->assertResult(
'<bdo dir="rtl">Text<span></span><div></div></bdo>',
'<bdo dir="rtl">Text<span></span></bdo>'
);
// global attr
$this->assertResult(
'<br dir="ltr" /><span dir="ltr"></span>',
'<br /><span dir="ltr"></span>'
);
}
}

View File

@ -0,0 +1,58 @@
<?php
require_once 'HTMLPurifier/HTMLModuleHarness.php';
class HTMLPurifier_HTMLModule_EditTest extends HTMLPurifier_HTMLModuleHarness
{
function test() {
// max
$this->assertResult(
'<span>
<ins cite="http://www.example.com/">
#PCDATA <span></span>
</ins>
<del cite="http://www.example.com/">
#PCDATA <span></span>
</del>
</span>
<div>
<ins cite="http://www.example.com/">
#PCDATA <div></div> <span></span>
</ins>
<del cite="http://www.example.com/">
#PCDATA <div></div> <span></span>
</del>
</div>'
);
// inline removal
$this->assertResult(
'<span>
<ins><div></div></ins>
<del><div></div></del>
</span>',
'<span>
<ins></ins>
<del></del>
</span>'
);
// unsupported attributes
$this->assertResult(
'<ins
datetime="1994-11-05T13:15:30Z"
></ins>
<del
datetime="1994-11-05T13:15:30Z"
></del>',
'<ins></ins>
<del></del>'
);
}
}
?>

View File

@ -0,0 +1,52 @@
<?php
require_once 'HTMLPurifier/HTMLModuleHarness.php';
class HTMLPurifier_HTMLModule_HypertextTest extends HTMLPurifier_HTMLModuleHarness
{
function test() {
// max
$this->assertResult(
'<span>
<a
href="http://www.example.com/"
rel="nofollow"
rev="index"
>
#PCDATA <span>Inline</span>
</a>
</span>', true, array(
'Attr.AllowedRel' => 'nofollow',
'Attr.AllowedRev' => 'index'
)
);
// invalid children
$this->assertResult(
'<a>Text<span><a></a></span><div></div><a></a></a>',
'<a>Text<span></span></a>'
);
// unsupported attributes
$this->assertResult(
'<a
charset="utf-8"
type="text/html"
hreflang="en"
accesskey="f"
shape="rect"
coords="0,0,20,0"
tabindex="3"
onfocus="foo();"
onblur="bar();"
></a>',
'<a></a>'
);
}
}
?>

View File

@ -0,0 +1,50 @@
<?php
require_once 'HTMLPurifier/HTMLModuleHarness.php';
class HTMLPurifier_HTMLModule_ImageTest extends HTMLPurifier_HTMLModuleHarness
{
function test() {
// max
$this->assertResult(
'<span>
<img
src="example.png"
alt="Example image"
longdesc="example.description.txt"
height="42"
width="42"
/>
</span>'
);
// required attributes
$this->assertResult(
'<img src="foo.png" />',
'<img src="foo.png" alt="foo.png" />'
);
// empty
$this->assertResult(
'<img src="foo.png" alt="foo">',
'<img src="foo.png" alt="foo" />'
);
// unsupported attributes
$this->assertResult(
'<img
src="example.png"
alt="Example"
usemap="#foo"
ismap="ismap"
/>',
'<img src="example.png" alt="Example" />'
);
}
}
?>

View File

@ -0,0 +1,32 @@
<?php
require_once 'HTMLPurifier/HTMLModuleHarness.php';
class HTMLPurifier_HTMLModule_LegacyTest extends HTMLPurifier_HTMLModuleHarness
{
function test() {
// max
$this->assertResult(
'<span>
<u>Text<span></span></u>
<s>Text<span></span></s>
<strike>Text<span></span></strike>
</span>'
);
// redefinitions
/*$this->assertResult(
'<ol start="3">
<li value="2">Foo</li>
</ol>
<address>Text<span></span><p></p></address>
<blockquote>Text<span></span><div></div></blockquote>'
);*/
}
}
?>

View File

@ -63,6 +63,10 @@ $test_files[] = 'GeneratorTest.php';
$test_files[] = 'HTMLModuleManagerTest.php';
$test_files[] = 'HTMLModuleTest.php';
$test_files[] = 'HTMLModule/BdoTest.php';
$test_files[] = 'HTMLModule/EditTest.php';
$test_files[] = 'HTMLModule/HypertextTest.php';
$test_files[] = 'HTMLModule/ImageTest.php';
$test_files[] = 'HTMLModule/LegacyTest.php';
$test_files[] = 'IDAccumulatorTest.php';
$test_files[] = 'LanguageFactoryTest.php';
$test_files[] = 'LanguageTest.php';