/** * 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(); }