Neos\Neos\Eel\FlowQueryOperations\ParentsOperation::canEvaluate PHP Method

canEvaluate() public method

public canEvaluate ( $context ) : boolean
return boolean TRUE if the operation can be applied onto the $context, FALSE otherwise
    public function canEvaluate($context)
    {
        return count($context) === 0 || isset($context[0]) && $context[0] instanceof NodeInterface && $context[0]->getContext() instanceof ContentContext;
    }

Usage Example

 /**
  * @test
  */
 public function canEvaluateChecksForContentContext()
 {
     $operation = new ParentsOperation();
     $mockNode = $this->createMock(NodeInterface::class);
     $mockContext = $this->getMockBuilder(ContentContext::class)->disableOriginalConstructor()->getMock();
     $mockNode->expects($this->any())->method('getContext')->will($this->returnValue($mockContext));
     $context = array($mockNode);
     $this->assertTrue($operation->canEvaluate($context), 'Must accept ContentContext');
     $mockNode = $this->createMock(NodeInterface::class);
     $mockContext = $this->getMockBuilder(Context::class)->disableOriginalConstructor()->getMock();
     $mockNode->expects($this->any())->method('getContext')->will($this->returnValue($mockContext));
     $context = array($mockNode);
     $this->assertFalse($operation->canEvaluate($context), 'Must not accept Context');
 }
ParentsOperation