mirror of
https://github.com/silverstripe/doc.silverstripe.org
synced 2024-10-22 17:05:50 +02:00
7ecbf49ac9
git-svn-id: http://svn.silverstripe.com/projects/ss2doc/branches/v2@117896 467b73ca-7a2a-4603-9d3b-597d59a354a9
46 lines
1.4 KiB
PHP
46 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* @package sapphire
|
|
* @subpackage tests
|
|
*/
|
|
class CSSContentParserTest extends SapphireTest {
|
|
function testSelector2xpath() {
|
|
$parser = new CSSContentParser("<html><head><title>test</title></head><body><p>test</p></body></html>");
|
|
|
|
$this->assertEquals("//div[@id='UserProfile']//label", $parser->selector2xpath("div#UserProfile label"));
|
|
$this->assertEquals("//div", $parser->selector2xpath("div"));
|
|
$this->assertEquals("//div[contains(@class,'test')]", $parser->selector2xpath("div.test"));
|
|
$this->assertEquals("//*[@id='UserProfile']//div[contains(@class,'test')]//*[contains(@class,'other')]//div[@id='Item']",
|
|
$parser->selector2xpath("#UserProfile div.test .other div#Item"));
|
|
}
|
|
|
|
function testGetBySelector() {
|
|
$parser = new CSSContentParser(<<<HTML
|
|
<html>
|
|
<head>
|
|
<title>test</title>
|
|
</head>
|
|
<body>
|
|
<div id="A" class="one two three">
|
|
<p class="other">result</p>
|
|
</div>
|
|
<p>test</p>
|
|
</body>
|
|
</html>
|
|
HTML
|
|
);
|
|
|
|
$result = $parser->getBySelector('div.one');
|
|
$this->assertEquals("A", $result[0]['id'].'');
|
|
$result = $parser->getBySelector('div.two');
|
|
$this->assertEquals("A", $result[0]['id'].'');
|
|
$result = $parser->getBySelector('div.three');
|
|
$this->assertEquals("A", $result[0]['id'].'');
|
|
|
|
$result = $parser->getBySelector('div#A p.other');
|
|
$this->assertEquals("result", $result[0] . '');
|
|
$result = $parser->getBySelector('#A .other');
|
|
$this->assertEquals("result", $result[0] . '');
|
|
}
|
|
}
|