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 declare(strict_types=1); namespace Tests\Rules; use Larastan\Larastan\Properties\..
Decoded Output download
<?php
declare(strict_types=1);
namespace Tests\Rules;
use Larastan\Larastan\Properties\ModelPropertyExtension;
use Larastan\Larastan\Rules\NoUnnecessaryCollectionCallRule;
use PHPStan\Rules\Rule;
use PHPStan\Testing\RuleTestCase;
/** @extends RuleTestCase<NoUnnecessaryCollectionCallRule> */
class NoUnnecessaryCollectionCallRuleTest extends RuleTestCase
{
protected function getRule(): Rule
{
return new NoUnnecessaryCollectionCallRule($this->createReflectionProvider(), self::getContainer()->getByType(ModelPropertyExtension::class), [], []);
}
public function testNoFalsePositives(): void
{
$this->analyse([__DIR__ . '/data/CorrectCollectionCalls.php'], []);
}
public function testNoFalseNegativesEloquent(): void
{
$this->analyse([__DIR__ . '/data/UnnecessaryCollectionCallsEloquent.php'], [
['Called \'pluck\' on Laravel collection, but could have been retrieved as a query.', 18],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 23],
['Called \'pluck\' on Laravel collection, but could have been retrieved as a query.', 29],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 34],
['Called \'first\' on Laravel collection, but could have been retrieved as a query.', 39],
['Called \'take\' on Laravel collection, but could have been retrieved as a query.', 45],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 50],
['Called \'isEmpty\' on Laravel collection, but could have been retrieved as a query.', 57],
['Called \'first\' on Laravel collection, but could have been retrieved as a query.', 62],
['Called \'contains\' on Laravel collection, but could have been retrieved as a query.', 67],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 72],
['Called \'where\' on Laravel collection, but could have been retrieved as a query.', 78],
['Called \'diff\' on Laravel collection, but could have been retrieved as a query.', 84],
['Called \'modelKeys\' on Laravel collection, but could have been retrieved as a query.', 92],
['Called \'containsStrict\' on Laravel collection, but could have been retrieved as a query.', 97],
['Called \'sum\' on Laravel collection, but could have been retrieved as a query.', 103],
]);
}
public function testNoFalseNegativesQuery(): void
{
$this->analyse([__DIR__ . '/data/UnnecessaryCollectionCallsQuery.php'], [
['Called \'max\' on Laravel collection, but could have been retrieved as a query.', 15],
['Called \'isNotEmpty\' on Laravel collection, but could have been retrieved as a query.', 20],
['Called \'pluck\' on Laravel collection, but could have been retrieved as a query.', 26],
]);
}
/** @return string[] */
public static function getAdditionalConfigFiles(): array
{
return [__DIR__ . '/../phpstan-tests.neon'];
}
}
?>
Did this file decode correctly?
Original Code
<?php
declare(strict_types=1);
namespace Tests\Rules;
use Larastan\Larastan\Properties\ModelPropertyExtension;
use Larastan\Larastan\Rules\NoUnnecessaryCollectionCallRule;
use PHPStan\Rules\Rule;
use PHPStan\Testing\RuleTestCase;
/** @extends RuleTestCase<NoUnnecessaryCollectionCallRule> */
class NoUnnecessaryCollectionCallRuleTest extends RuleTestCase
{
protected function getRule(): Rule
{
return new NoUnnecessaryCollectionCallRule($this->createReflectionProvider(), self::getContainer()->getByType(ModelPropertyExtension::class), [], []);
}
public function testNoFalsePositives(): void
{
$this->analyse([__DIR__ . '/data/CorrectCollectionCalls.php'], []);
}
public function testNoFalseNegativesEloquent(): void
{
$this->analyse([__DIR__ . '/data/UnnecessaryCollectionCallsEloquent.php'], [
['Called \'pluck\' on Laravel collection, but could have been retrieved as a query.', 18],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 23],
['Called \'pluck\' on Laravel collection, but could have been retrieved as a query.', 29],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 34],
['Called \'first\' on Laravel collection, but could have been retrieved as a query.', 39],
['Called \'take\' on Laravel collection, but could have been retrieved as a query.', 45],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 50],
['Called \'isEmpty\' on Laravel collection, but could have been retrieved as a query.', 57],
['Called \'first\' on Laravel collection, but could have been retrieved as a query.', 62],
['Called \'contains\' on Laravel collection, but could have been retrieved as a query.', 67],
['Called \'count\' on Laravel collection, but could have been retrieved as a query.', 72],
['Called \'where\' on Laravel collection, but could have been retrieved as a query.', 78],
['Called \'diff\' on Laravel collection, but could have been retrieved as a query.', 84],
['Called \'modelKeys\' on Laravel collection, but could have been retrieved as a query.', 92],
['Called \'containsStrict\' on Laravel collection, but could have been retrieved as a query.', 97],
['Called \'sum\' on Laravel collection, but could have been retrieved as a query.', 103],
]);
}
public function testNoFalseNegativesQuery(): void
{
$this->analyse([__DIR__ . '/data/UnnecessaryCollectionCallsQuery.php'], [
['Called \'max\' on Laravel collection, but could have been retrieved as a query.', 15],
['Called \'isNotEmpty\' on Laravel collection, but could have been retrieved as a query.', 20],
['Called \'pluck\' on Laravel collection, but could have been retrieved as a query.', 26],
]);
}
/** @return string[] */
public static function getAdditionalConfigFiles(): array
{
return [__DIR__ . '/../phpstan-tests.neon'];
}
}
Function Calls
None |
Stats
MD5 | ec83748cbdcd6fe90fcfb1b28aadd0a0 |
Eval Count | 0 |
Decode Time | 89 ms |