123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?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\Xml;
- use SebastianBergmann\CodeCoverage\TestCase;
- class XMLTest 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 . 'XML';
- }
- protected function tearDown()
- {
- parent::tearDown();
- $tmpFilesIterator = new \FilesystemIterator(self::$TEST_TMP_PATH);
- foreach ($tmpFilesIterator as $path => $fileInfo) {
- /* @var \SplFileInfo $fileInfo */
- unlink($fileInfo->getPathname());
- }
- }
- public function testForBankAccountTest()
- {
- $expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForBankAccount';
- $xml = new Facade('1.0.0');
- $xml->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';
- $xml = new Facade('1.0.0');
- $xml->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';
- $xml = new Facade('1.0.0');
- $xml->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 \FilesystemIterator($actualFilesPath);
- $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(),
- file_get_contents($actualFile),
- "${filename} not match"
- );
- }
- }
- }
|