* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Tests\Components\CssSelector\Node; use Symfony\Components\CssSelector\Node\CombinedSelectorNode; use Symfony\Components\CssSelector\Node\ElementNode; class CombinedSelectorNodeTest extends \PHPUnit_Framework_TestCase { public function testToXpath() { $combinators = array( ' ' => "h1/descendant::p", '>' => "h1/p", '+' => "h1/following-sibling::*[name() = 'p' and (position() = 1)]", '~' => "h1/following-sibling::p", ); // h1 ?? p $element1 = new ElementNode('*', 'h1'); $element2 = new ElementNode('*', 'p'); foreach ($combinators as $combinator => $xpath) { $combinator = new CombinedSelectorNode($element1, $combinator, $element2); $this->assertEquals($xpath, (string) $combinator->toXpath(), '->toXpath() returns the xpath representation of the node'); } } }