/** * @param Tx_Asdis_Domain_Model_Asset $asset */ public function append(Tx_Asdis_Domain_Model_Asset $asset) { $elementHash = $asset->getHash(); if (in_array($elementHash, $this->elementHashes)) { return; } $this->elementHashes[] = $elementHash; parent::append($asset); }
/** * @param Tx_Asdis_Domain_Model_Asset $asset * @return string */ private function getGroupCharacter(Tx_Asdis_Domain_Model_Asset $asset) { $hash = md5(sha1($asset->getNormalizedPath())); $character = $hash[strlen($hash) - 3]; if (FALSE === strpos($this->characters, $character)) { return self::UNKNOWN_GROUP_KEY; } return $character; }
/** * @param string $path * @return string */ public function getDistributedUrlForPath($path) { if (empty($path)) { return null; } $asset = new Tx_Asdis_Domain_Model_Asset(); $asset->setOriginalPath($path); $asset->setNormalizedPath($this->uriNormalizer->normalizePath($path)); $this->distributeAsset($asset); return $asset->getUri(); }
/** * @test */ public function getReplacementMap() { $collection = new Tx_Asdis_Domain_Model_Asset_Collection(); $asset1 = new Tx_Asdis_Domain_Model_Asset(); $asset2 = new Tx_Asdis_Domain_Model_Asset(); $path1 = 'typo3temp/pics/foo.gif'; $path2 = 'typo3temp/pics/bar.jpg'; $asset1->setOriginalPath($path1); $asset1->setNormalizedPath($path1); $asset2->setOriginalPath($path2); $asset2->setNormalizedPath($path2); $collection->append($asset1); $collection->append($asset2); $map = $collection->getReplacementMap(); $this->assertEquals(2, sizeof($map->getSources())); $this->assertEquals(2, sizeof($map->getTargets())); }
/** * @test */ public function getUri() { $baseUri = 'http://www.foo.com/'; $path = 'uploads/images/foo.jpg'; $server = $this->getMock('Tx_Asdis_Domain_Model_Server', array('getUri')); $server->expects($this->once())->method('getUri')->will($this->returnValue($baseUri)); $this->asset->setNormalizedPath($path); $this->asset->setServer($server); $this->assertEquals($baseUri . $path, $this->asset->getUri()); }
/** * @test */ public function distribute() { $assets = new Tx_Asdis_Domain_Model_Asset_Collection(); $asset1 = new Tx_Asdis_Domain_Model_Asset(); $asset2 = new Tx_Asdis_Domain_Model_Asset(); $asset3 = new Tx_Asdis_Domain_Model_Asset(); $asset1->setOriginalPath('/typo3temp/1.gif'); $asset2->setOriginalPath('/typo3temp/2.gif'); $asset3->setOriginalPath('/typo3temp/3.gif'); $assets->append($asset1); $assets->append($asset2); $assets->append($asset3); $servers = new Tx_Asdis_Domain_Model_Server_Collection(); $server1 = new Tx_Asdis_Domain_Model_Server(); $server2 = new Tx_Asdis_Domain_Model_Server(); $servers->append($server1); $servers->append($server2); $this->algorithm->distribute($assets, $servers); $this->assertEquals('Tx_Asdis_Domain_Model_Server', get_class($asset1->getServer())); $this->assertEquals('Tx_Asdis_Domain_Model_Server', get_class($asset2->getServer())); $this->assertEquals('Tx_Asdis_Domain_Model_Server', get_class($asset3->getServer())); }