1
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2025-08-06 22:26:31 +02:00

Add AttrDef_Id, as well as amend the accumulator by adding a load.

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@131 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
Edward Z. Yang
2006-07-30 16:35:05 +00:00
parent bba0d0b77a
commit bb0435bdd4
5 changed files with 91 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
<?php
require_once 'HTMLPurifier/AttrDef/ID.php';
require_once 'HTMLPurifier/IDAccumulator.php';
class HTMLPurifier_AttrDef_IDTest extends UnitTestCase
{
function test() {
$acc = new HTMLPurifier_IDAccumulator();
$def = new HTMLPurifier_AttrDef_ID();
// valid ID names
$this->assertTrue($def->validate('alpha', $acc));
$this->assertTrue($def->validate('al_ha', $acc));
$this->assertTrue($def->validate('a0-:.', $acc));
$this->assertTrue($def->validate('a' , $acc));
// invalid ID names
$this->assertFalse($def->validate('<asa', $acc));
$this->assertFalse($def->validate('0123', $acc));
$this->assertFalse($def->validate('.asa', $acc));
// test duplicate detection
$this->assertFalse($def->validate('a' , $acc));
}
}
?>

View File

@@ -14,6 +14,20 @@ class HTMLPurifier_IDAccumulatorTest extends UnitTestCase
$this->assertTrue( $accumulator->add('id2'));
$this->assertFalse($accumulator->add('id1')); // repeated id
// you can also access the properties (they're public)
$this->assertTrue( isset($accumulator->ids['id2']) );
}
function testLoad() {
$accumulator = new HTMLPurifier_IDAccumulator();
$accumulator->load(array('id1', 'id2', 'id3'));
$this->assertFalse($accumulator->add('id1')); // repeated id
$this->assertTrue($accumulator->add('id4'));
}
}