Example #1
0
 /**
  * @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);
 }
Example #2
0
 /**
  * @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;
 }
Example #3
0
 /**
  * @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();
 }
Example #4
0
 /**
  * @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()));
 }
Example #5
0
 /**
  * @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());
 }
Example #6
0
 /**
  * @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()));
 }