Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Psalm\Tests; use Psalm\Codebase; use Psalm\Config; use Psalm\Internal\An..
Decoded Output download
<?php
namespace Psalm\Tests;
use Psalm\Codebase;
use Psalm\Config;
use Psalm\Internal\Analyzer\IssueData;
use Psalm\Internal\Analyzer\ProjectAnalyzer;
use Psalm\Internal\Codebase\Analyzer;
use Psalm\Internal\EventDispatcher;
use Psalm\IssueBuffer;
use Psalm\Report\ReportOptions;
use function microtime;
use function ob_get_clean;
use function ob_start;
class IssueBufferTest extends TestCase
{
public function testFinishDoesNotCorruptInternalState(): void
{
IssueBuffer::clear();
IssueBuffer::addIssues([
'/path/one.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"one.php",
"/path/one.php",
"snippet-1",
"snippet-1",
0,
0,
0,
0,
0,
0,
),
],
'/path/two.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"two.php",
"/path/two.php",
"snippet-2",
"snippet-2",
0,
0,
0,
0,
0,
0,
),
],
'/path/three.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"three.php",
"/path/three.php",
"snippet-3-has-carriage-return
",
"snippet-3-has-carriage-return
",
0,
0,
0,
0,
0,
0,
),
],
'/path/four.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"four.php",
"/path/four.php",
"snippet-4-multiline
with-carriage-return
",
"snippet-4-multiline
with-carriage-return
",
0,
0,
0,
0,
0,
0,
),
],
]);
$baseline = [
'one.php' => ['MissingPropertyType' => ['o' => 1, 's' => ['snippet-1']] ],
'two.php' => ['MissingPropertyType' => ['o' => 1, 's' => ['snippet-2']] ],
'three.php' => ['MissingPropertyType' => ['o' => 1, 's' => ['snippet-3-has-carriage-return']] ],
'four.php' => ['MissingPropertyType' => ['o' => 1, 's' => ["snippet-4-multiline
with-carriage-return"]] ],
];
$analyzer = $this->createMock(Analyzer::class);
$analyzer->method('getTotalTypeCoverage')->willReturn([0, 0]);
$eventDispatcher = $this->createMock(EventDispatcher::class);
$config = $this->createMock(Config::class);
$config->eventDispatcher = $eventDispatcher;
$codebase = $this->createMock(Codebase::class);
$codebase->analyzer = $analyzer;
$codebase->config = $config;
$projectAnalzyer = $this->createMock(ProjectAnalyzer::class);
$projectAnalzyer->method('getCodebase')->willReturn($codebase);
$projectAnalzyer->stdout_report_options = new ReportOptions();
$projectAnalzyer->generated_report_options = [];
ob_start();
IssueBuffer::finish($projectAnalzyer, false, microtime(true), false, $baseline);
$output = ob_get_clean();
$this->assertStringNotContainsString("ERROR", $output, "all issues baselined");
IssueBuffer::clear();
}
public function testPrintSuccessMessageWorks(): void
{
$project_analyzer = $this->createMock(ProjectAnalyzer::class);
$project_analyzer->stdout_report_options = new ReportOptions;
ob_start();
IssueBuffer::printSuccessMessage($project_analyzer);
$output = ob_get_clean();
$this->assertStringContainsString('No errors found!', $output);
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Psalm\Tests;
use Psalm\Codebase;
use Psalm\Config;
use Psalm\Internal\Analyzer\IssueData;
use Psalm\Internal\Analyzer\ProjectAnalyzer;
use Psalm\Internal\Codebase\Analyzer;
use Psalm\Internal\EventDispatcher;
use Psalm\IssueBuffer;
use Psalm\Report\ReportOptions;
use function microtime;
use function ob_get_clean;
use function ob_start;
class IssueBufferTest extends TestCase
{
public function testFinishDoesNotCorruptInternalState(): void
{
IssueBuffer::clear();
IssueBuffer::addIssues([
'/path/one.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"one.php",
"/path/one.php",
"snippet-1",
"snippet-1",
0,
0,
0,
0,
0,
0,
),
],
'/path/two.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"two.php",
"/path/two.php",
"snippet-2",
"snippet-2",
0,
0,
0,
0,
0,
0,
),
],
'/path/three.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"three.php",
"/path/three.php",
"snippet-3-has-carriage-return\r",
"snippet-3-has-carriage-return\r",
0,
0,
0,
0,
0,
0,
),
],
'/path/four.php' => [
new IssueData(
IssueData::SEVERITY_ERROR,
0,
0,
"MissingPropertyType",
'Message',
"four.php",
"/path/four.php",
"snippet-4-multiline\r\nwith-carriage-return\r",
"snippet-4-multiline\r\nwith-carriage-return\r",
0,
0,
0,
0,
0,
0,
),
],
]);
$baseline = [
'one.php' => ['MissingPropertyType' => ['o' => 1, 's' => ['snippet-1']] ],
'two.php' => ['MissingPropertyType' => ['o' => 1, 's' => ['snippet-2']] ],
'three.php' => ['MissingPropertyType' => ['o' => 1, 's' => ['snippet-3-has-carriage-return']] ],
'four.php' => ['MissingPropertyType' => ['o' => 1, 's' => ["snippet-4-multiline\nwith-carriage-return"]] ],
];
$analyzer = $this->createMock(Analyzer::class);
$analyzer->method('getTotalTypeCoverage')->willReturn([0, 0]);
$eventDispatcher = $this->createMock(EventDispatcher::class);
$config = $this->createMock(Config::class);
$config->eventDispatcher = $eventDispatcher;
$codebase = $this->createMock(Codebase::class);
$codebase->analyzer = $analyzer;
$codebase->config = $config;
$projectAnalzyer = $this->createMock(ProjectAnalyzer::class);
$projectAnalzyer->method('getCodebase')->willReturn($codebase);
$projectAnalzyer->stdout_report_options = new ReportOptions();
$projectAnalzyer->generated_report_options = [];
ob_start();
IssueBuffer::finish($projectAnalzyer, false, microtime(true), false, $baseline);
$output = ob_get_clean();
$this->assertStringNotContainsString("ERROR", $output, "all issues baselined");
IssueBuffer::clear();
}
public function testPrintSuccessMessageWorks(): void
{
$project_analyzer = $this->createMock(ProjectAnalyzer::class);
$project_analyzer->stdout_report_options = new ReportOptions;
ob_start();
IssueBuffer::printSuccessMessage($project_analyzer);
$output = ob_get_clean();
$this->assertStringContainsString('No errors found!', $output);
}
}
Function Calls
None |
Stats
MD5 | c40d349d33374ba06e51884b3ede73e6 |
Eval Count | 0 |
Decode Time | 71 ms |