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:
33
tests/HTMLPurifier/AttrDef/IDTest.php
Normal file
33
tests/HTMLPurifier/AttrDef/IDTest.php
Normal 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));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
@@ -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'));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user