Пример #1
0
 /**
  * @covers Robo47_DirectoryHasher_Result_Factory_Xml::buildResultFromDOM
  * @covers Robo47_DirectoryHasher_Result_Factory_Xml::buildResultFromFile
  * @covers Robo47_DirectoryHasher_Result_Factory_Xml::getHashesFromFileNode
  */
 public function testbuildResultFromFile()
 {
     $factory = new Robo47_DirectoryHasher_Result_Factory_Xml();
     $result = $factory->buildResultFromFile(dirname(__FILE__) . '/../../../../fixtures/result/fixture1.xml');
     $this->assertCount(1, $result);
     $resultFile = $result->getIterator()->current();
     /* @var $resultFile Robo47_DirectoryHasher_Result_File */
     $this->assertEquals('/some/path/Xml.php', $resultFile->getFilename());
     $hashes = $resultFile->getHashes();
     $this->assertCount(4, $hashes);
     $this->assertArrayHasKey('md5', $hashes);
     $this->assertArrayHasKey('sha1', $hashes);
     $this->assertArrayHasKey('size', $hashes);
     $this->assertArrayHasKey('mtime', $hashes);
     $this->assertEquals('1a2a2fdad558101c11919fd3ceff48c1', $hashes['md5']);
     $this->assertEquals('9b41feb8a6c885e62afaf389e46646d742e67b0b', $hashes['sha1']);
     $this->assertEquals('1000', $hashes['size']);
     $this->assertEquals('1326082206', $hashes['mtime']);
 }
Пример #2
0
<?php

$time = microtime(true);
require_once dirname(__FILE__) . '/../src/Robo47/DirectoryHasher/Autoloader.php';
Robo47_DirectoryHasher_Autoloader::register();
$oldResultFile = realpath(dirname(__FILE__) . '/data/') . '/old.xml';
$newResultFile = realpath(dirname(__FILE__) . '/data/') . '/new.xml';
$factory = new Robo47_DirectoryHasher_Result_Factory_Xml();
$old = $factory->buildResultFromFile($oldResultFile);
$new = $factory->buildResultFromFile($newResultFile);
echo 'DirectoryHasher' . PHP_EOL;
$comparator = new Robo47_DirectoryHasher_Comparator();
echo PHP_EOL . 'Comparing results' . PHP_EOL;
$result = $comparator->compare($old, $new);
$differences = $result->getDifferences();
$i = 1;
echo PHP_EOL . 'Found ' . count($differences) . ' differences' . PHP_EOL . PHP_EOL;
foreach ($differences as $difference) {
    /* @var $difference Robo47_DirectoryHasher_Comparator_Difference_Interface */
    echo $i . ')' . PHP_EOL;
    echo $difference->toString() . PHP_EOL . PHP_EOL;
    $i++;
}
$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;
Пример #3
0
/**
 * Checks for differences between two xml files and returns array with differences
 *
 * @param string $old Path to old xml-file
 * @param string $new Path to new xml-file
 * @return array
 */
function check_differences($old, $new)
{
    $factory = new Robo47_DirectoryHasher_Result_Factory_Xml();
    $comparator = new Robo47_DirectoryHasher_Comparator();
    return $comparator->compare($factory->buildResultFromFile($old), $factory->buildResultFromFile($new))->getDifferences();
}