当内容包含unicode时,PHPUnit assertTag失败

时间:2013-08-31 13:35:11

标签: phpunit

当$ content包含unicode字符时,以下断言无法正确断言该语句。

$matcher = array('tag' => 'div', 'content' => $value);
$this->assertTag($matcher, $content);

目前,我正在使用assertRegExp绕过它。

$this->assertRegExp('/<div>' . $value . '<\/div>/', $content);

但如果有人能说明如何使assertTag工作,我将不胜感激。谢谢!

P.S。我还应该指出,相同的代码适用于Linux环境,但不适用于Windows。

1 个答案:

答案 0 :(得分:0)

您应该可以使用html_entity_decode()或带有htmlentities()标志的反ENT_QUOTES

$matcher = array('tag' => 'div', 'content' => html_entity_decode($value, ENT_QUOTES));
$this->assertTag($matcher, $content);

$matcher = array('tag' => 'div', 'content' => $value, ENT_QUOTES));
$this->assertTag($matcher, htmlentities($content, ENT_QUOTES);