Esempio n. 1
0
 public function it_should_provide_a_method_to_determine_if_a_node_is_versionable(NodeInterface $nodeVersionable, NodeInterface $nodeNotVersionable, NodeTypeInterface $mixin1, NodeTypeInterface $mixin2)
 {
     $nodeVersionable->getMixinNodeTypes()->willReturn(array($mixin1, $mixin2));
     $nodeNotVersionable->getMixinNodeTypes()->willReturn(array($mixin2));
     $nodeNotVersionable->getPath()->willReturn('foobar');
     $mixin1->getName()->willReturn('mix:versionable');
     $this->assertNodeIsVersionable($nodeVersionable)->shouldReturn(null);
     try {
         $this->assertNodeIsVersionable($nodeNotVersionable);
     } catch (\OutOfBoundsException $e) {
     }
 }
Esempio n. 2
0
 /**
  * Process the given node and return eventual extra operations determined from the node.
  *
  * @param NodeInterface $node
  *
  * @return AddNodeOperation[] Additional operations that the client must execute for autocreated nodes.
  */
 public function process(NodeInterface $node)
 {
     $this->validateNamespace($node->getName());
     $nodeDef = $node->getPrimaryNodeType();
     $nodeTypes = $node->getMixinNodeTypes();
     array_unshift($nodeTypes, $nodeDef);
     $additionalOperations = array();
     foreach ($nodeTypes as $nodeType) {
         /* @var $nodeType NodeTypeDefinitionInterface */
         $additionalOperations = array_merge($additionalOperations, $this->processNodeWithType($node, $nodeType));
     }
     return $additionalOperations;
 }
Esempio n. 3
0
 /**
  * {@inheritdoc}
  */
 public function getMixinNodeTypes()
 {
     return $this->node->getMixinNodeTypes();
 }