eZ\Publish\Core\MVC\Symfony\Matcher\ContentBased\Id\ParentContentType::matchLocation PHP Method

matchLocation() public method

Checks if a Location object matches.
public matchLocation ( eZ\Publish\API\Repository\Values\Content\Location $location ) : boolean
$location eZ\Publish\API\Repository\Values\Content\Location
return boolean
    public function matchLocation(APILocation $location)
    {
        $parent = $this->repository->sudo(function (Repository $repository) use($location) {
            return $repository->getLocationService()->loadLocation($location->parentLocationId);
        });
        return isset($this->values[$parent->getContentInfo()->contentTypeId]);
    }

Usage Example

 /**
  * @dataProvider matchLocationProvider
  * @covers \eZ\Publish\Core\MVC\Symfony\Matcher\ContentBased\Id\ParentContentType::matchLocation
  * @covers \eZ\Publish\Core\MVC\Symfony\Matcher\ContentBased\MultipleValued::setMatchingConfig
  * @covers \eZ\Publish\Core\MVC\RepositoryAware::setRepository
  *
  * @param int|int[] $matchingConfig
  * @param \eZ\Publish\API\Repository\Repository $repository
  * @param bool $expectedResult
  */
 public function testMatchLocation($matchingConfig, Repository $repository, $expectedResult)
 {
     $this->matcher->setRepository($repository);
     $this->matcher->setMatchingConfig($matchingConfig);
     $this->assertSame($expectedResult, $this->matcher->matchLocation($this->getLocationMock()));
 }