Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/CarnetApp/CarnetNextcloud.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/phpunit/php-code-coverage/tests/TestCase.php')
-rw-r--r--vendor/phpunit/php-code-coverage/tests/TestCase.php343
1 files changed, 343 insertions, 0 deletions
diff --git a/vendor/phpunit/php-code-coverage/tests/TestCase.php b/vendor/phpunit/php-code-coverage/tests/TestCase.php
new file mode 100644
index 0000000..cd18a82
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/tests/TestCase.php
@@ -0,0 +1,343 @@
+<?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;
+
+use SebastianBergmann\CodeCoverage\Driver\Xdebug;
+
+/**
+ * Abstract base class for test case classes.
+ *
+ * @since Class available since Release 1.0.0
+ */
+abstract class TestCase extends \PHPUnit_Framework_TestCase
+{
+ protected static $TEST_TMP_PATH;
+
+ public static function setUpBeforeClass()
+ {
+ self::$TEST_TMP_PATH = TEST_FILES_PATH . 'tmp';
+ }
+
+ protected function getXdebugDataForBankAccount()
+ {
+ return [
+ [
+ TEST_FILES_PATH . 'BankAccount.php' => [
+ 8 => 1,
+ 9 => -2,
+ 13 => -1,
+ 14 => -1,
+ 15 => -1,
+ 16 => -1,
+ 18 => -1,
+ 22 => -1,
+ 24 => -1,
+ 25 => -2,
+ 29 => -1,
+ 31 => -1,
+ 32 => -2
+ ]
+ ],
+ [
+ TEST_FILES_PATH . 'BankAccount.php' => [
+ 8 => 1,
+ 13 => 1,
+ 16 => 1,
+ 29 => 1,
+ ]
+ ],
+ [
+ TEST_FILES_PATH . 'BankAccount.php' => [
+ 8 => 1,
+ 13 => 1,
+ 16 => 1,
+ 22 => 1,
+ ]
+ ],
+ [
+ TEST_FILES_PATH . 'BankAccount.php' => [
+ 8 => 1,
+ 13 => 1,
+ 14 => 1,
+ 15 => 1,
+ 18 => 1,
+ 22 => 1,
+ 24 => 1,
+ 29 => 1,
+ 31 => 1,
+ ]
+ ]
+ ];
+ }
+
+ protected function getCoverageForBankAccount()
+ {
+ $data = $this->getXdebugDataForBankAccount();
+ require_once TEST_FILES_PATH . '/BankAccountTest.php';
+
+ $stub = $this->createMock(Xdebug::class);
+
+ $stub->expects($this->any())
+ ->method('stop')
+ ->will($this->onConsecutiveCalls(
+ $data[0],
+ $data[1],
+ $data[2],
+ $data[3]
+ ));
+
+ $filter = new Filter;
+ $filter->addFileToWhitelist(TEST_FILES_PATH . 'BankAccount.php');
+
+ $coverage = new CodeCoverage($stub, $filter);
+
+ $coverage->start(
+ new \BankAccountTest('testBalanceIsInitiallyZero'),
+ true
+ );
+
+ $coverage->stop(
+ true,
+ [TEST_FILES_PATH . 'BankAccount.php' => range(6, 9)]
+ );
+
+ $coverage->start(
+ new \BankAccountTest('testBalanceCannotBecomeNegative')
+ );
+
+ $coverage->stop(
+ true,
+ [TEST_FILES_PATH . 'BankAccount.php' => range(27, 32)]
+ );
+
+ $coverage->start(
+ new \BankAccountTest('testBalanceCannotBecomeNegative2')
+ );
+
+ $coverage->stop(
+ true,
+ [TEST_FILES_PATH . 'BankAccount.php' => range(20, 25)]
+ );
+
+ $coverage->start(
+ new \BankAccountTest('testDepositWithdrawMoney')
+ );
+
+ $coverage->stop(
+ true,
+ [
+ TEST_FILES_PATH . 'BankAccount.php' => array_merge(
+ range(6, 9),
+ range(20, 25),
+ range(27, 32)
+ )
+ ]
+ );
+
+ return $coverage;
+ }
+
+ protected function getCoverageForBankAccountForFirstTwoTests()
+ {
+ $data = $this->getXdebugDataForBankAccount();
+
+ $stub = $this->createMock(Xdebug::class);
+
+ $stub->expects($this->any())
+ ->method('stop')
+ ->will($this->onConsecutiveCalls(
+ $data[0],
+ $data[1]
+ ));
+
+ $filter = new Filter;
+ $filter->addFileToWhitelist(TEST_FILES_PATH . 'BankAccount.php');
+
+ $coverage = new CodeCoverage($stub, $filter);
+
+ $coverage->start(
+ new \BankAccountTest('testBalanceIsInitiallyZero'),
+ true
+ );
+
+ $coverage->stop(
+ true,
+ [TEST_FILES_PATH . 'BankAccount.php' => range(6, 9)]
+ );
+
+ $coverage->start(
+ new \BankAccountTest('testBalanceCannotBecomeNegative')
+ );
+
+ $coverage->stop(
+ true,
+ [TEST_FILES_PATH . 'BankAccount.php' => range(27, 32)]
+ );
+
+ return $coverage;
+ }
+
+ protected function getCoverageForBankAccountForLastTwoTests()
+ {
+ $data = $this->getXdebugDataForBankAccount();
+
+ $stub = $this->createMock(Xdebug::class);
+
+ $stub->expects($this->any())
+ ->method('stop')
+ ->will($this->onConsecutiveCalls(
+ $data[2],
+ $data[3]
+ ));
+
+ $filter = new Filter;
+ $filter->addFileToWhitelist(TEST_FILES_PATH . 'BankAccount.php');
+
+ $coverage = new CodeCoverage($stub, $filter);
+
+ $coverage->start(
+ new \BankAccountTest('testBalanceCannotBecomeNegative2')
+ );
+
+ $coverage->stop(
+ true,
+ [TEST_FILES_PATH . 'BankAccount.php' => range(20, 25)]
+ );
+
+ $coverage->start(
+ new \BankAccountTest('testDepositWithdrawMoney')
+ );
+
+ $coverage->stop(
+ true,
+ [
+ TEST_FILES_PATH . 'BankAccount.php' => array_merge(
+ range(6, 9),
+ range(20, 25),
+ range(27, 32)
+ )
+ ]
+ );
+
+ return $coverage;
+ }
+
+ protected function getExpectedDataArrayForBankAccount()
+ {
+ return [
+ TEST_FILES_PATH . 'BankAccount.php' => [
+ 8 => [
+ 0 => 'BankAccountTest::testBalanceIsInitiallyZero',
+ 1 => 'BankAccountTest::testDepositWithdrawMoney'
+ ],
+ 9 => null,
+ 13 => [],
+ 14 => [],
+ 15 => [],
+ 16 => [],
+ 18 => [],
+ 22 => [
+ 0 => 'BankAccountTest::testBalanceCannotBecomeNegative2',
+ 1 => 'BankAccountTest::testDepositWithdrawMoney'
+ ],
+ 24 => [
+ 0 => 'BankAccountTest::testDepositWithdrawMoney',
+ ],
+ 25 => null,
+ 29 => [
+ 0 => 'BankAccountTest::testBalanceCannotBecomeNegative',
+ 1 => 'BankAccountTest::testDepositWithdrawMoney'
+ ],
+ 31 => [
+ 0 => 'BankAccountTest::testDepositWithdrawMoney'
+ ],
+ 32 => null
+ ]
+ ];
+ }
+
+ protected function getCoverageForFileWithIgnoredLines()
+ {
+ $filter = new Filter;
+ $filter->addFileToWhitelist(TEST_FILES_PATH . 'source_with_ignore.php');
+
+ $coverage = new CodeCoverage(
+ $this->setUpXdebugStubForFileWithIgnoredLines(),
+ $filter
+ );
+
+ $coverage->start('FileWithIgnoredLines', true);
+ $coverage->stop();
+
+ return $coverage;
+ }
+
+ protected function setUpXdebugStubForFileWithIgnoredLines()
+ {
+ $stub = $this->createMock(Xdebug::class);
+
+ $stub->expects($this->any())
+ ->method('stop')
+ ->will($this->returnValue(
+ [
+ TEST_FILES_PATH . 'source_with_ignore.php' => [
+ 2 => 1,
+ 4 => -1,
+ 6 => -1,
+ 7 => 1
+ ]
+ ]
+ ));
+
+ return $stub;
+ }
+
+ protected function getCoverageForClassWithAnonymousFunction()
+ {
+ $filter = new Filter;
+ $filter->addFileToWhitelist(TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php');
+
+ $coverage = new CodeCoverage(
+ $this->setUpXdebugStubForClassWithAnonymousFunction(),
+ $filter
+ );
+
+ $coverage->start('ClassWithAnonymousFunction', true);
+ $coverage->stop();
+
+ return $coverage;
+ }
+
+ protected function setUpXdebugStubForClassWithAnonymousFunction()
+ {
+ $stub = $this->createMock(Xdebug::class);
+
+ $stub->expects($this->any())
+ ->method('stop')
+ ->will($this->returnValue(
+ [
+ TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php' => [
+ 7 => 1,
+ 9 => 1,
+ 10 => -1,
+ 11 => 1,
+ 12 => 1,
+ 13 => 1,
+ 14 => 1,
+ 17 => 1,
+ 18 => 1
+ ]
+ ]
+ ));
+
+ return $stub;
+ }
+}