oms-Search/vendor/friendsofphp/php-cs-fixer/tests/Test/IntegrationCase.php

154 lines
2.9 KiB
PHP

<?php
/*
* This file is part of PHP CS Fixer.
*
* (c) Fabien Potencier <fabien@symfony.com>
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace PhpCsFixer\Tests\Test;
use PhpCsFixer\RuleSet;
/**
* @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
*
* @internal
*/
final class IntegrationCase
{
private $config;
/**
* @var string
*/
private $expectedCode;
/**
* @var string
*/
private $fileName;
/**
* @var null|string
*/
private $inputCode;
/**
* Env requirements (possible keys: php).
*
* @var array
*/
private $requirements;
/**
* @var RuleSet
*/
private $ruleset;
/**
* Settings how to perform the test (possible keys: none in base class, use as extension point for custom IntegrationTestCase).
*
* @var array
*/
private $settings;
/**
* @var string
*/
private $title;
/**
* @param string $fileName
* @param string $title
* @param string $expectedCode
* @param null|string $inputCode
*/
public function __construct(
$fileName,
$title,
array $settings,
array $requirements,
array $config,
RuleSet $ruleset,
$expectedCode,
$inputCode
) {
$this->fileName = $fileName;
$this->title = $title;
$this->settings = $settings;
$this->requirements = $requirements;
$this->config = $config;
$this->ruleset = $ruleset;
$this->expectedCode = $expectedCode;
$this->inputCode = $inputCode;
}
public function hasInputCode()
{
return null !== $this->inputCode;
}
public function getConfig()
{
return $this->config;
}
public function getExpectedCode()
{
return $this->expectedCode;
}
public function getFileName()
{
return $this->fileName;
}
public function getInputCode()
{
return $this->inputCode;
}
/**
* @param string $name
*
* @return mixed
*/
public function getRequirement($name)
{
if (!\array_key_exists($name, $this->requirements)) {
throw new \InvalidArgumentException(sprintf(
'Unknown requirement key "%s", expected any of "%s".',
$name,
implode('","', array_keys($this->requirements))
));
}
return $this->requirements[$name];
}
public function getRequirements()
{
return $this->requirements;
}
public function getRuleset()
{
return $this->ruleset;
}
public function getSettings()
{
return $this->settings;
}
public function getTitle()
{
return $this->title;
}
}