/**
  * @covers Robo47_DirectoryHasher_Writer_File_Xml::write
  */
 public function testWrite()
 {
     $writer = new Robo47_DirectoryHasher_Writer_File_Xml();
     $result = new Robo47_DirectoryHasher_Result(array(new Robo47_DirectoryHasher_Result_File('/baa/foo.php', array('md5' => 'baa'))));
     $writer->write($result, dirname(__FILE__) . '/output.xml');
     $this->assertFileExists(dirname(__FILE__) . '/output.xml');
     $this->assertXmlStringEqualsXmlFile(dirname(__FILE__) . '/output.xml', '<?xml version="1.0"?><files><file name="/baa/foo.php"><hash hash="md5">baa</hash></file></files>');
 }
Example #2
0
/**
 * @param string $directory
 * @param string $outputfile
 */
function create_new_resultfile($directory, $outputdirectory)
{
    $writer = new Robo47_DirectoryHasher_Writer_File_Xml();
    if (file_exists($outputdirectory . '/new.xml')) {
        if (file_exists($outputdirectory . '/old.xml')) {
            rename($outputdirectory . '/old.xml', $outputdirectory . '/old-' . date('m.d.Y-h-i') . '.xml');
        }
        rename($outputdirectory . '/new.xml', $outputdirectory . '/old.xml');
    }
    // For first run
    if (!file_exists($outputdirectory . '/old.xml')) {
        $writer->write(new Robo47_DirectoryHasher_Result(), $outputdirectory . '/old.xml');
    }
    $source = new Robo47_DirectoryHasher_Source_Directory($directory);
    $multihasher = new Robo47_DirectoryHasher_Hasher_Multi(array(new Robo47_DirectoryHasher_Hasher_MD5(), new Robo47_DirectoryHasher_Hasher_SHA1(), new Robo47_DirectoryHasher_Hasher_FileData()));
    $hasher = new Robo47_DirectoryHasher($source, $multihasher);
    $hasher->run();
    $writer->write($hasher->getResult(), $outputdirectory . '/new.xml');
}
Example #3
0
<?php

$time = microtime(true);
require_once dirname(__FILE__) . '/../src/Robo47/DirectoryHasher/Autoloader.php';
Robo47_DirectoryHasher_Autoloader::register();
$pathtohash = realpath(dirname(__FILE__) . '/../') . '/src/';
$outputfile = realpath(dirname(__FILE__) . '/../') . '/result.xml';
$ignoredDirectories = array(dirname(__FILE__) . '/subdirectory/', dirname(__FILE__) . '/another/subdirectory/');
$writer = new Robo47_DirectoryHasher_Writer_File_Xml();
$source = new Robo47_DirectoryHasher_Source_Directory($pathtohash, $ignoredDirectories);
$hasher = new Robo47_DirectoryHasher_Hasher_Multi(array(new Robo47_DirectoryHasher_Hasher_MD5(), new Robo47_DirectoryHasher_Hasher_SHA1(), new Robo47_DirectoryHasher_Hasher_FileData()));
echo 'DirectoryHasher' . PHP_EOL;
$hasher = new Robo47_DirectoryHasher($source, $hasher);
echo PHP_EOL . 'Creating hashs for Directory: ' . $pathtohash . PHP_EOL;
$hasher->run();
echo PHP_EOL . 'Writing result to: ' . $outputfile . PHP_EOL;
$writer->write($hasher->getResult(), $outputfile);
$runtime = number_format(microtime(true) - $time, 4);
$memory = number_format(memory_get_peak_usage(true) / (1024 * 1024), 2);
echo PHP_EOL . 'Time: ' . $runtime . ' seconds';
echo ', Memory: ' . $memory . 'Mb' . PHP_EOL;