assertSelectEquals("#binder .name", "Chuck", true, $xml); // any? assertSelectEquals("#binder .name", "Chuck", false, $xml); // none?
@since Method available since Release 3.3.0 @author Mike Naberezny <mike@maintainable.com> @author Derek DeVries <derek@maintainable.com>
array $selector:
string $content:
integer $count:
mixed $actual:
string $message:
boolean $isHtml:
public static function assertSelectEquals($selector, $content, $count, $actual, $message = '', $isHtml = TRUE) {
$tags = PHPUnit_Util_XML::cssSelect($selector, $content, $actual, $isHtml);
// assert specific number of elements
if (is_numeric($count)) {
$counted = $tags ? count($tags) : 0;
self::assertEquals($count, $counted, $message);
}
else {
if (is_bool($count)) {
$any = count($tags) > 0 && $tags[0] instanceof DOMNode;
if ($count) {
self::assertTrue($any, $message);
}
else {
self::assertFalse($any, $message);
}
}
else {
if (is_array($count) && (isset($count['>']) || isset($count['<']) || isset($count['>=']) || isset($count['<=']))) {
$counted = $tags ? count($tags) : 0;
if (isset($count['>'])) {
self::assertTrue($counted > $count['>'], $message);
}
if (isset($count['>='])) {
self::assertTrue($counted >= $count['>='], $message);
}
if (isset($count['<'])) {
self::assertTrue($counted < $count['<'], $message);
}
if (isset($count['<='])) {
self::assertTrue($counted <= $count['<='], $message);
}
}
else {
throw new PHPUnit_Framework_Exception();
}
}
}
}