0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-12-22 08:21:52 +00:00

Handle case when IDNAs are supported.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
This commit is contained in:
Edward Z. Yang 2016-10-27 01:54:35 -07:00
parent 3ae21ce511
commit 8b28e571fe
2 changed files with 8 additions and 4 deletions

View File

@ -38,7 +38,7 @@ class HTMLPurifier_AttrDef_URI_HostTest extends HTMLPurifier_AttrDefHarness
$this->assertDef('f-.top', false); $this->assertDef('f-.top', false);
$this->assertDef('1a'); $this->assertDef('1a');
$this->assertDef("\xE4\xB8\xAD\xE6\x96\x87.com.cn", false); $this->assertDef("\xE4\xB8\xAD\xE6\x96\x87.com.cn", 'xn--fiq228c.com.cn', true);
} }

View File

@ -13,14 +13,18 @@ class HTMLPurifier_AttrDefHarness extends HTMLPurifier_Harness
} }
// cannot be used for accumulator // cannot be used for accumulator
public function assertDef($string, $expect = true) public function assertDef($string, $expect = true, $or_false = false)
{ {
// $expect can be a string or bool // $expect can be a string or bool
$result = $this->def->validate($string, $this->config, $this->context); $result = $this->def->validate($string, $this->config, $this->context);
if ($expect === true) { if ($expect === true) {
$this->assertIdentical($string, $result); if (!($or_false && $result === false)) {
$this->assertIdentical($string, $result);
}
} else { } else {
$this->assertIdentical($expect, $result); if (!($or_false && $result === false)) {
$this->assertIdentical($expect, $result);
}
} }
} }