Skip to content

Commit

Permalink
Do not use mocks (#934)
Browse files Browse the repository at this point in the history
  • Loading branch information
kubawerlos committed Dec 23, 2023
1 parent 4a8ff9d commit 1adfc79
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 14 deletions.
1 change: 1 addition & 0 deletions .dev-tools/phpcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<exclude name='Generic.Files.LineLength' />
<exclude name='PSR12.Files.FileHeader.SpacingAfterBlock' />
<exclude name='PSR12.Files.OpenTag.NotAlone' />
<exclude name='Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore' />
</rule>

</ruleset>
40 changes: 37 additions & 3 deletions tests/AutoReview/SrcCodeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

use PhpCsFixer\Fixer\DeprecatedFixerInterface;
use PhpCsFixer\Fixer\FixerInterface;
use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
use PhpCsFixer\FixerNameValidator;
use PhpCsFixer\Tokenizer\Token;
use PhpCsFixer\Tokenizer\Tokens;
Expand Down Expand Up @@ -82,9 +83,7 @@ public static function provideFixerCases(): iterable

public function testFixerSupportsAllFilesByDefault(): void
{
$fixer = $this->getMockForAbstractClass(AbstractFixer::class);

self::assertTrue($fixer->supports($this->createMock(\SplFileInfo::class)));
self::assertTrue($this->createAbstractFixerDouble()->supports($this->createSplFileInfoDouble()));
}

/**
Expand Down Expand Up @@ -148,4 +147,39 @@ public static function provideThereIsNoPregFunctionUsedDirectlyCases(): iterable
yield $className => [$className];
}
}

private function createAbstractFixerDouble(): AbstractFixer
{
return new class () extends AbstractFixer {
public function isCandidate(Tokens $tokens): bool
{
throw new \BadMethodCallException('Not implemented.');
}

public function isRisky(): bool
{
throw new \BadMethodCallException('Not implemented.');
}

public function fix(\SplFileInfo $file, Tokens $tokens): void
{
throw new \BadMethodCallException('Not implemented.');
}

public function getDefinition(): FixerDefinitionInterface
{
throw new \BadMethodCallException('Not implemented.');
}

public function getPriority(): int
{
throw new \BadMethodCallException('Not implemented.');
}
};
}

private function createSplFileInfoDouble(): \SplFileInfo
{
return new class ('') extends \SplFileInfo {};
}
}
11 changes: 8 additions & 3 deletions tests/Fixer/AbstractFixerTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ final public function testCodeSampleIsChangedDuringFixing(): void
Tokens::clearCache();
$tokens = Tokens::fromCode($codeSample->getCode());

self::getFixer()->fix($this->createMock(\SplFileInfo::class), $tokens);
self::getFixer()->fix($this->createSplFileInfoDouble(), $tokens);

self::assertNotSame($codeSample->getCode(), $tokens->generateCode());
}
Expand Down Expand Up @@ -180,7 +180,7 @@ final protected function doTest(string $expected, ?string $input = null, ?array

self::assertTrue($fixer->isCandidate($inputTokens));

$fixer->fix($this->createMock(\SplFileInfo::class), $inputTokens);
$fixer->fix($this->createSplFileInfoDouble(), $inputTokens);
$inputTokens->clearEmptyTokens();

self::assertSame(
Expand All @@ -196,7 +196,7 @@ final protected function doTest(string $expected, ?string $input = null, ?array
self::assertSameTokens($expectedTokens, $inputTokens);
}

$fixer->fix($this->createMock(\SplFileInfo::class), $expectedTokens);
$fixer->fix($this->createSplFileInfoDouble(), $expectedTokens);

self::assertSame($expected, $expectedTokens->generateCode());

Expand Down Expand Up @@ -242,4 +242,9 @@ final protected function assertSuccessorName(string $successorName): void
self::assertInstanceOf(DeprecatedFixerInterface::class, $fixer);
self::assertSame([$successorName], $fixer->getSuccessorsNames());
}

private function createSplFileInfoDouble(): \SplFileInfo
{
return new class ('') extends \SplFileInfo {};
}
}
7 changes: 6 additions & 1 deletion tests/Fixer/NumericLiteralSeparatorFixerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public function testReversingCodeSample(): void
Tokens::clearCache();
$tokens = Tokens::fromCode($codeSample->getCode());

$fixer->fix($this->createMock(\SplFileInfo::class), $tokens);
$fixer->fix($this->createSplFileInfoDouble(), $tokens);
self::assertNull($this->lintSource($tokens->generateCode()));

$this->doTest(
Expand Down Expand Up @@ -192,4 +192,9 @@ public static function provideFixCases(): iterable
],
];
}

private function createSplFileInfoDouble(): \SplFileInfo
{
return new class ('') extends \SplFileInfo {};
}
}
11 changes: 8 additions & 3 deletions tests/Fixer/SingleSpaceAfterStatementFixerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ class Foo {}
public function testExampleWithAllTokensHasAllSpacesFixed(): void
{
$tokens = Tokens::fromCode(self::EXAMPLE_WITH_ALL_TOKENS);
self::getFixer()->fix($this->createMock(\SplFileInfo::class), $tokens);
self::getFixer()->fix($this->createSplFileInfoDouble(), $tokens);

self::assertDoesNotMatchRegularExpression('/[^\n ] {2,}/', $tokens->generateCode());
}
Expand All @@ -297,7 +297,7 @@ public function testTokenIsUseful(int $token): void
$fixer = self::getFixer();

$expectedTokens = Tokens::fromCode(self::EXAMPLE_WITH_ALL_TOKENS);
$fixer->fix($this->createMock(\SplFileInfo::class), $expectedTokens);
$fixer->fix($this->createSplFileInfoDouble(), $expectedTokens);

$reflectionObject = new \ReflectionObject($fixer);
$property = $reflectionObject->getProperty('tokens');
Expand All @@ -309,7 +309,7 @@ public function testTokenIsUseful(int $token): void
$property->setValue($fixer, \array_diff($tokens, [$token]));

$tokens = Tokens::fromCode(self::EXAMPLE_WITH_ALL_TOKENS);
$fixer->fix($this->createMock(\SplFileInfo::class), $tokens);
$fixer->fix($this->createSplFileInfoDouble(), $tokens);

self::assertNotSame(
$expectedTokens->generateCode(),
Expand All @@ -335,4 +335,9 @@ public static function provideTokenIsUsefulCases(): iterable
yield [$token];
}
}

private function createSplFileInfoDouble(): \SplFileInfo
{
return new class ('') extends \SplFileInfo {};
}
}
13 changes: 9 additions & 4 deletions tests/PriorityTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ public function testInOrder(FixerInterface $firstFixer, FixerInterface $secondFi
Tokens::clearCache();
$tokens = Tokens::fromCode($input);

$firstFixer->fix($this->createMock(\SplFileInfo::class), $tokens);
$firstFixer->fix($this->createSplFileInfoDouble(), $tokens);
$tokens->clearEmptyTokens();

$secondFixer->fix($this->createMock(\SplFileInfo::class), $tokens);
$secondFixer->fix($this->createSplFileInfoDouble(), $tokens);
$tokens->clearEmptyTokens();

self::assertSame($expected, $tokens->generateCode());
Expand All @@ -68,10 +68,10 @@ public function testInRevertedOrder(FixerInterface $firstFixer, FixerInterface $
Tokens::clearCache();
$tokens = Tokens::fromCode($input);

$secondFixer->fix($this->createMock(\SplFileInfo::class), $tokens);
$secondFixer->fix($this->createSplFileInfoDouble(), $tokens);
$tokens->clearEmptyTokens();

$firstFixer->fix($this->createMock(\SplFileInfo::class), $tokens);
$firstFixer->fix($this->createSplFileInfoDouble(), $tokens);
$tokens->clearEmptyTokens();

self::assertNotSame($expected, $tokens->generateCode());
Expand Down Expand Up @@ -130,4 +130,9 @@ private static function getFixer(string $name, array $config): FixerInterface

throw new \Exception(\sprintf('Fixer "%s" not found in config: "%s".', $name, \json_encode($config)));
}

private function createSplFileInfoDouble(): \SplFileInfo
{
return new class ('') extends \SplFileInfo {};
}
}

0 comments on commit 1adfc79

Please sign in to comment.