mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2025-08-03 20:58:11 +02:00
Make name="" and id="" play nicely together.
Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
This commit is contained in:
40
tests/HTMLPurifier/AttrTransform/NameSyncTest.php
Normal file
40
tests/HTMLPurifier/AttrTransform/NameSyncTest.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
class HTMLPurifier_AttrTransform_NameSyncTest extends HTMLPurifier_AttrTransformHarness
|
||||
{
|
||||
|
||||
function setUp() {
|
||||
parent::setUp();
|
||||
$this->obj = new HTMLPurifier_AttrTransform_NameSync();
|
||||
$this->accumulator = new HTMLPurifier_IDAccumulator();
|
||||
$this->context->register('IDAccumulator', $this->accumulator);
|
||||
$this->config->set('Attr', 'EnableID', true);
|
||||
}
|
||||
|
||||
function testEmpty() {
|
||||
$this->assertResult( array() );
|
||||
}
|
||||
|
||||
function testAllowSame() {
|
||||
$this->assertResult(
|
||||
array('name' => 'free', 'id' => 'free')
|
||||
);
|
||||
}
|
||||
|
||||
function testAllowDifferent() {
|
||||
$this->assertResult(
|
||||
array('name' => 'tryit', 'id' => 'thisgood')
|
||||
);
|
||||
}
|
||||
|
||||
function testCheckName() {
|
||||
$this->accumulator->add('notok');
|
||||
$this->assertResult(
|
||||
array('name' => 'notok', 'id' => 'ok'),
|
||||
array('id' => 'ok')
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// vim: et sw=4 sts=4
|
@@ -81,7 +81,7 @@ class HTMLPurifier_ComplexHarness extends HTMLPurifier_Harness
|
||||
$this->assertIdentical($expect, $result);
|
||||
|
||||
if ($expect !== $result) {
|
||||
echo '<pre>' . htmlspecialchars($result) . '</pre>';
|
||||
echo '<pre>' . var_dump($result) . '</pre>';
|
||||
}
|
||||
|
||||
}
|
||||
|
11
tests/HTMLPurifier/HTMLT/id-name-mix.htmlt
Normal file
11
tests/HTMLPurifier/HTMLT/id-name-mix.htmlt
Normal file
@@ -0,0 +1,11 @@
|
||||
--INI--
|
||||
Attr.EnableID = true
|
||||
--HTML--
|
||||
<a name="foo" id="foo">Test</a>
|
||||
<a name="foo">Test2</a>
|
||||
<a name="bar" id="baz">Test3</a>
|
||||
--EXPECT--
|
||||
<a name="foo" id="foo">Test</a>
|
||||
<a>Test2</a>
|
||||
<a name="bar" id="baz">Test3</a>
|
||||
--# vim: et sw=4 sts=4
|
Reference in New Issue
Block a user