由于某些原因完全逃脱了我,PHP DOMXPath已停止在我的机器上工作。正如下面的痛苦琐碎的例子所示,即使是明显的案例也没有返回预期的结果。如您所见,我已经删除了我编写的代码的所有依赖项。我几乎可以肯定它不是我写的东西。但我无法理解为什么即使这样的琐碎案例也无法正常工作。
这是一个主要问题,因为我有很多使用DOMXPath进行测试和验证的HTML生成代码。发生了什么事?
测试类(为简洁而简化):
class TempTest
{
public function test()
{
$document = new \DOMDocument();
if (!$document->loadHTML("<ul class=\"blah\"></ul>")) throw new \Exception (implode (",", libxml_get_errors()));
$xpath = new \DOMXPath($document);
$this->assertEquals(1, $xpath->query('/ul')->length);
}
}
输出:
There was 1 failure:
1) TempTest::test
Failed asserting that 0 matches expected 1.
/Users/mac/Projects/NetShapers/Gears/html/Html/Tests/Unit/Semantic/Exception/TempTest.php:11