Page MenuHomeWickedGov Phorge

ClassMatcher.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

ClassMatcher.php

<?php
namespace WMDE\HamcrestHtml;
use DOMElement;
use Hamcrest\Description;
use Hamcrest\Matcher;
use Hamcrest\Util;
class ClassMatcher extends TagMatcher {
/**
* @var Matcher
*/
private $classMatcher;
/**
* @param Matcher|string $class
*
* @return self
*/
public static function withClass( $class ) {
return new static( Util::wrapValueWithIsEqual( $class ) );
}
public function __construct( Matcher $class ) {
parent::__construct();
$this->classMatcher = $class;
}
public function describeTo( Description $description ) {
$description->appendText( 'with class ' )->appendDescriptionOf( $this->classMatcher );
}
/**
* @param DOMElement $item
* @param Description $mismatchDescription
*
* @return bool
*/
protected function matchesSafelyWithDiagnosticDescription(
$item, Description $mismatchDescription
) {
$classAttribute = $item->getAttribute( 'class' );
$classes = preg_split( '/\s+/u', $classAttribute );
foreach ( $classes as $class ) {
if ( $this->classMatcher->matches( $class ) ) {
return true;
}
}
return false;
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, Oct 3, 23:52 (2 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
6b/c9/33551312de0349c32df73e8ef879
Default Alt Text
ClassMatcher.php (1 KB)

Event Timeline