Blame | Last modification | View Log | Download
<?php/** This file is part of the php-code-coverage package.** (c) Sebastian Bergmann <sebastian@phpunit.de>** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/namespace SebastianBergmann\CodeCoverage\Report\Html;use SebastianBergmann\CodeCoverage\TestCase;class HTMLTest extends TestCase{private static $TEST_REPORT_PATH_SOURCE;public static function setUpBeforeClass(){parent::setUpBeforeClass();self::$TEST_REPORT_PATH_SOURCE = TEST_FILES_PATH . 'Report' . DIRECTORY_SEPARATOR . 'HTML';}protected function tearDown(){parent::tearDown();$tmpFilesIterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator(self::$TEST_TMP_PATH, \RecursiveDirectoryIterator::SKIP_DOTS),\RecursiveIteratorIterator::CHILD_FIRST);foreach ($tmpFilesIterator as $path => $fileInfo) {/* @var \SplFileInfo $fileInfo */$pathname = $fileInfo->getPathname();$fileInfo->isDir() ? rmdir($pathname) : unlink($pathname);}}public function testForBankAccountTest(){$expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForBankAccount';$report = new Facade;$report->process($this->getCoverageForBankAccount(), self::$TEST_TMP_PATH);$this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH);}public function testForFileWithIgnoredLines(){$expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForFileWithIgnoredLines';$report = new Facade;$report->process($this->getCoverageForFileWithIgnoredLines(), self::$TEST_TMP_PATH);$this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH);}public function testForClassWithAnonymousFunction(){$expectedFilesPath =self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForClassWithAnonymousFunction';$report = new Facade;$report->process($this->getCoverageForClassWithAnonymousFunction(), self::$TEST_TMP_PATH);$this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH);}/*** @param string $expectedFilesPath* @param string $actualFilesPath*/private function assertFilesEquals($expectedFilesPath, $actualFilesPath){$expectedFilesIterator = new \FilesystemIterator($expectedFilesPath);$actualFilesIterator = new \RegexIterator(new \FilesystemIterator($actualFilesPath), '/.html/');$this->assertEquals(iterator_count($expectedFilesIterator),iterator_count($actualFilesIterator),'Generated files and expected files not match');foreach ($expectedFilesIterator as $path => $fileInfo) {/* @var \SplFileInfo $fileInfo */$filename = $fileInfo->getFilename();$actualFile = $actualFilesPath . DIRECTORY_SEPARATOR . $filename;$this->assertFileExists($actualFile);$this->assertStringMatchesFormatFile($fileInfo->getPathname(),str_replace(PHP_EOL, "\n", file_get_contents($actualFile)),"${filename} not match");}}}