eZ\Publish\Core\MVC\Symfony\SiteAccess\Tests\Compound\CompoundOrTest::testReverseMatch1 PHP Метод

testReverseMatch1() публичный Метод

public testReverseMatch1 ( )
    public function testReverseMatch1()
    {
        $request = $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\Routing\\SimplifiedRequest');
        $siteAccessName = 'fr_eng';
        $mapUriConfig = array('eng' => true);
        $mapHostConfig = array('fr.ezpublish.dev' => true);
        $compoundMatcher = new LogicalOr(array(array('matchers' => array('Map\\URI' => $mapUriConfig, 'Map\\Host' => $mapHostConfig), 'match' => $siteAccessName)));
        $compoundMatcher->setRequest($request);
        $matcher1 = $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\VersatileMatcher');
        $matcher2 = $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\VersatileMatcher');
        $this->matcherBuilder->expects($this->exactly(2))->method('buildMatcher')->will($this->returnValueMap(array(array('Map\\URI', $mapUriConfig, $request, $matcher1), array('Map\\Host', $mapHostConfig, $request, $matcher2))));
        $reverseMatchedMatcher1 = $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\VersatileMatcher');
        $matcher1->expects($this->once())->method('reverseMatch')->with($siteAccessName)->will($this->returnValue($reverseMatchedMatcher1));
        $matcher2->expects($this->never())->method('reverseMatch');
        $compoundMatcher->setMatcherBuilder($this->matcherBuilder);
        $result = $compoundMatcher->reverseMatch($siteAccessName);
        $this->assertInstanceOf('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\Matcher\\Compound\\LogicalOr', $result);
        foreach ($result->getSubMatchers() as $subMatcher) {
            $this->assertInstanceOf('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\VersatileMatcher', $subMatcher);
        }
    }