/** * @covers Robo47_DirectoryHasher_Result_File::getHashes */ public function testGetHashes() { $file = new Robo47_DirectoryHasher_Result_File('/some/file.php'); $file->addHash('md5', 'foo'); $file->addHash('sha1', 'blub'); $this->assertSame(array('md5' => 'foo', 'sha1' => 'blub'), $file->getHashes()); }
/** * @covers Robo47_DirectoryHasher_Hasher_Multi::addHashsToResult */ public function testAddHashsToResult() { $hasher = new Robo47_DirectoryHasher_Hasher_Multi(array(new Robo47_DirectoryHasher_Hasher_SHA1(), new Robo47_DirectoryHasher_Hasher_MD5())); $file = dirname(__FILE__) . '/../../../fixtures/files/file1.php'; $fileResult = new Robo47_DirectoryHasher_Result_File($file); $result = new Robo47_DirectoryHasher_Result(array($fileResult)); $hasher->addHashsToResult($result); $this->assertEquals(array('sha1' => 'da39a3ee5e6b4b0d3255bfef95601890afd80709', 'md5' => 'd41d8cd98f00b204e9800998ecf8427e'), $fileResult->getHashes()); }
/** * @covers Robo47_DirectoryHasher_Hasher_Abstract::addHashsToResult */ public function testAddHashsToResult() { $hasher = new nonAbstract(); $file = new Robo47_DirectoryHasher_Result_File(__FILE__); $result = new Robo47_DirectoryHasher_Result(array($file)); $hasher->addHashsToResult($result); $hashes = $file->getHashes(); $this->assertArrayHasKey('nonAbstract', $hashes); }
/** * Returns differences of hashes * * @param Robo47_DirectoryHasher_Result_File $oldFileResult * @param Robo47_DirectoryHasher_Result_File $newFileResult * @return \Robo47_DirectoryHasher_Comparator_Difference_WrongHash */ public function getHashDifferences(Robo47_DirectoryHasher_Result_File $oldFileResult, Robo47_DirectoryHasher_Result_File $newFileResult) { $differences = array(); $oldHashes = $oldFileResult->getHashes(); $newHashes = $newFileResult->getHashes(); foreach ($oldHashes as $hashname => $value) { if (!isset($newHashes[$hashname])) { $differences[] = new Robo47_DirectoryHasher_Comparator_Difference_MissingHash($oldFileResult->getFilename(), $hashname); } elseif ($oldHashes[$hashname] !== $newHashes[$hashname]) { $differences[] = new Robo47_DirectoryHasher_Comparator_Difference_WrongHash($oldFileResult->getFilename(), $hashname, $newHashes[$hashname], $oldHashes[$hashname]); } } return $differences; }