/**
  * Test that children are retrieved in the parent locale
  */
 public function testFindTranslationWithUntranslatedChildren()
 {
     $this->dm->persist($this->doc);
     $this->dm->bindTranslation($this->doc, 'en');
     $this->doc->topic = 'Un autre sujet';
     $this->dm->bindTranslation($this->doc, 'fr');
     $this->dm->flush();
     $testNode = $this->node->getNode($this->testNodeName);
     $testNode->addNode('new-comment');
     $this->session->save();
     $this->dm->clear();
     $this->doc = $this->dm->findTranslation($this->class, '/functional/' . $this->testNodeName, 'fr');
     $this->assertEquals('fr', $this->doc->locale);
     $children = $this->doc->getChildren();
     $this->assertCount(1, $children);
     foreach ($children as $comment) {
         $this->assertInstanceOf('Doctrine\\ODM\\PHPCR\\Document\\Generic', $comment);
         $this->assertNull($this->dm->getUnitOfWork()->getCurrentLocale($comment));
     }
     $this->dm->clear();
     $this->doc = $this->dm->findTranslation($this->class, '/functional/' . $this->testNodeName, 'en');
     $children = $this->dm->getChildren($this->doc);
     $this->assertCount(1, $children);
     foreach ($children as $comment) {
         $this->assertInstanceOf('Doctrine\\ODM\\PHPCR\\Document\\Generic', $comment);
         $this->assertNull($this->dm->getUnitOfWork()->getCurrentLocale($comment));
     }
 }
 public function testChildrenCollection()
 {
     $this->createChildren();
     $parent = $this->dm->find($this->type, '/functional/parent');
     $col = $this->dm->getChildren($parent);
     $this->assertCount(4, $col);
     $childA = $col['Child A'];
     $this->assertEquals('Child A', $childA->name);
     $this->assertEquals('Child A', $col->key());
     $col = $this->dm->getChildren($parent, 'Child*');
     $this->assertCount(4, $col);
     $col = $this->dm->getChildren($parent, '*A');
     $this->assertCount(1, $col);
     $this->assertTrue($childA === $col->first());
     $this->dm->clear();
     $this->dm->find($this->type, '/functional/parent/Child D');
     $parent = $this->dm->find($this->type, '/functional/parent');
     $col = $this->dm->getChildren($parent);
     $this->assertEquals('Child A', $col->key());
     $this->dm->clear();
     $this->dm->find($this->type, '/functional/parent/Child D');
     $parent = $this->dm->find($this->type, '/functional/parent');
     $this->assertEquals('Child A', $parent->allChildren->key());
 }
 /**
  * @inheritdoc
  * @param ChannelRoute $content
  */
 public function getChildren($content)
 {
     $children = $this->manager->getChildren($content->getChildrenRoot());
     return $children->toArray();
 }