public function testReadSymlinks() { $this->createContainers(); $ringDir = ONPHP_TEMP_PATH . 'tests/main/data/ring'; $converter = DirectoryToObjectBinder::create(Singleton::getInstance('EntityProtoDirectoryItem')); $result = $converter->make($ringDir); $this->assertNotNull($result); $this->assertNotNull($result->getInner()); $this->assertEquals(421, $result->getInner()->getId()); $this->assertEquals(422, $result->getInner()->getInner()->getId()); $this->assertNotNull($result->getInner()->getInner()); $newHead = DirectoryItem::create()->setId('newHead')->setInner($result->getInner()); $newItemTmpDir = ONPHP_TEMP_PATH . 'tests/main/data/ring.tmp'; $saver = $converter->makeReverseBuilder()->setDirectory($newItemTmpDir); $saver->makeList(array($newHead)); $result->setInner($newHead); $saver->setDirectory($ringDir)->make($result); $this->assertEquals(readlink($ringDir . '/inner'), $newItemTmpDir . '/newHead'); }
/** * @return PrototypedBuilder **/ public function makeReverseBuilder() { return DirectoryToObjectBinder::create($this->proto)->setIdentityMap($this->identityMap); }