eZ\Publish\Core\Limitation\Tests\SectionLimitationTypeTest::providerForTestEvaluate PHP Method

providerForTestEvaluate() public method

public providerForTestEvaluate ( ) : array
return array
    public function providerForTestEvaluate()
    {
        // Mocks for testing Content & VersionInfo objects, should only be used once because of expect rules.
        $contentMock = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\Content\\Content', array(), array(), '', false);
        $versionInfoMock = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\Content\\VersionInfo', array(), array(), '', false);
        $contentMock->expects($this->once())->method('getVersionInfo')->will($this->returnValue($versionInfoMock));
        $versionInfoMock->expects($this->once())->method('getContentInfo')->will($this->returnValue(new ContentInfo(array('sectionId' => 2))));
        $versionInfoMock2 = $this->getMock('eZ\\Publish\\API\\Repository\\Values\\Content\\VersionInfo', array(), array(), '', false);
        $versionInfoMock2->expects($this->once())->method('getContentInfo')->will($this->returnValue(new ContentInfo(array('sectionId' => 2))));
        return array(array('limitation' => new SectionLimitation(), 'object' => new ContentInfo(array('sectionId' => 55)), 'targets' => array(new Location()), 'expected' => LimitationType::ACCESS_DENIED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2'))), 'object' => new ContentInfo(array('sectionId' => 55)), 'targets' => array(new Location(array('pathString' => '/1/55'))), 'expected' => LimitationType::ACCESS_DENIED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2'))), 'object' => new ContentInfo(array('sectionId' => 2)), 'targets' => array(new Location(array('pathString' => '/1/2/'))), 'expected' => LimitationType::ACCESS_GRANTED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2'))), 'object' => new ContentInfo(array('sectionId' => 2)), 'targets' => null, 'expected' => LimitationType::ACCESS_GRANTED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2', '43'))), 'object' => new ContentInfo(array('sectionId' => 55)), 'targets' => null, 'expected' => LimitationType::ACCESS_DENIED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2'))), 'object' => new ContentInfo(array('published' => false, 'sectionId' => 2)), 'targets' => null, 'expected' => LimitationType::ACCESS_GRANTED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2', '43'))), 'object' => new ContentInfo(array('published' => false, 'sectionId' => 55)), 'targets' => null, 'expected' => LimitationType::ACCESS_DENIED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2'))), 'object' => $contentMock, 'targets' => array(new Location(array('pathString' => '/1/2/'))), 'expected' => LimitationType::ACCESS_GRANTED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2'))), 'object' => $versionInfoMock2, 'targets' => array(new Location(array('pathString' => '/1/2/'))), 'expected' => LimitationType::ACCESS_GRANTED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2'))), 'object' => new ContentCreateStruct(), 'targets' => array(), 'expected' => LimitationType::ACCESS_DENIED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2', '43'))), 'object' => new ContentCreateStruct(array('sectionId' => 55)), 'targets' => array(new LocationCreateStruct(array('parentLocationId' => 55))), 'expected' => LimitationType::ACCESS_DENIED), array('limitation' => new SectionLimitation(array('limitationValues' => array('2', '43'))), 'object' => new ContentCreateStruct(array('sectionId' => 43)), 'targets' => array(new LocationCreateStruct(array('parentLocationId' => 55))), 'expected' => LimitationType::ACCESS_GRANTED), array('limitation' => new SectionLimitation(), 'object' => new ObjectStateLimitation(), 'targets' => array(new LocationCreateStruct(array('parentLocationId' => 43))), 'expected' => LimitationType::ACCESS_ABSTAIN), array('limitation' => new SectionLimitation(), 'object' => new ContentInfo(array('published' => true)), 'targets' => array(new ObjectStateLimitation()), 'expected' => LimitationType::ACCESS_ABSTAIN));
    }