summaryrefslogtreecommitdiff
path: root/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php')
-rw-r--r--vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php146
1 files changed, 146 insertions, 0 deletions
diff --git a/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php b/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php
new file mode 100644
index 000000000..cdceced50
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php
@@ -0,0 +1,146 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <[email protected]>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\TextUI\XmlConfiguration\Logging;
+
+use PHPUnit\TextUI\XmlConfiguration\Exception;
+use PHPUnit\TextUI\XmlConfiguration\Logging\TestDox\Html as TestDoxHtml;
+use PHPUnit\TextUI\XmlConfiguration\Logging\TestDox\Text as TestDoxText;
+use PHPUnit\TextUI\XmlConfiguration\Logging\TestDox\Xml as TestDoxXml;
+
+/**
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ * @psalm-immutable
+ */
+final class Logging
+{
+ /**
+ * @var ?Junit
+ */
+ private $junit;
+
+ /**
+ * @var ?Text
+ */
+ private $text;
+
+ /**
+ * @var ?TeamCity
+ */
+ private $teamCity;
+
+ /**
+ * @var ?TestDoxHtml
+ */
+ private $testDoxHtml;
+
+ /**
+ * @var ?TestDoxText
+ */
+ private $testDoxText;
+
+ /**
+ * @var ?TestDoxXml
+ */
+ private $testDoxXml;
+
+ public function __construct(?Junit $junit, ?Text $text, ?TeamCity $teamCity, ?TestDoxHtml $testDoxHtml, ?TestDoxText $testDoxText, ?TestDoxXml $testDoxXml)
+ {
+ $this->junit = $junit;
+ $this->text = $text;
+ $this->teamCity = $teamCity;
+ $this->testDoxHtml = $testDoxHtml;
+ $this->testDoxText = $testDoxText;
+ $this->testDoxXml = $testDoxXml;
+ }
+
+ public function hasJunit(): bool
+ {
+ return $this->junit !== null;
+ }
+
+ public function junit(): Junit
+ {
+ if ($this->junit === null) {
+ throw new Exception('Logger "JUnit XML" is not configured');
+ }
+
+ return $this->junit;
+ }
+
+ public function hasText(): bool
+ {
+ return $this->text !== null;
+ }
+
+ public function text(): Text
+ {
+ if ($this->text === null) {
+ throw new Exception('Logger "Text" is not configured');
+ }
+
+ return $this->text;
+ }
+
+ public function hasTeamCity(): bool
+ {
+ return $this->teamCity !== null;
+ }
+
+ public function teamCity(): TeamCity
+ {
+ if ($this->teamCity === null) {
+ throw new Exception('Logger "Team City" is not configured');
+ }
+
+ return $this->teamCity;
+ }
+
+ public function hasTestDoxHtml(): bool
+ {
+ return $this->testDoxHtml !== null;
+ }
+
+ public function testDoxHtml(): TestDoxHtml
+ {
+ if ($this->testDoxHtml === null) {
+ throw new Exception('Logger "TestDox HTML" is not configured');
+ }
+
+ return $this->testDoxHtml;
+ }
+
+ public function hasTestDoxText(): bool
+ {
+ return $this->testDoxText !== null;
+ }
+
+ public function testDoxText(): TestDoxText
+ {
+ if ($this->testDoxText === null) {
+ throw new Exception('Logger "TestDox Text" is not configured');
+ }
+
+ return $this->testDoxText;
+ }
+
+ public function hasTestDoxXml(): bool
+ {
+ return $this->testDoxXml !== null;
+ }
+
+ public function testDoxXml(): TestDoxXml
+ {
+ if ($this->testDoxXml === null) {
+ throw new Exception('Logger "TestDox XML" is not configured');
+ }
+
+ return $this->testDoxXml;
+ }
+}