Skip to content

Commit 145682f

Browse files
committed
Introduce AbstractFileListTestCase and use it in ConstructTest.php
1 parent e00bb82 commit 145682f

File tree

2 files changed

+57
-39
lines changed

2 files changed

+57
-39
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
/**
3+
* Abstract testcase class for testing FileList methods.
4+
*
5+
* @copyright 2025 PHPCSStandards Contributors
6+
* @license https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
7+
*/
8+
9+
namespace PHP_CodeSniffer\Tests\Core\Files\FileList;
10+
11+
use PHP_CodeSniffer\Ruleset;
12+
use PHP_CodeSniffer\Tests\ConfigDouble;
13+
use PHPUnit\Framework\TestCase;
14+
15+
/**
16+
* Base functionality and utilities for testing FileList methods.
17+
*/
18+
abstract class AbstractFileListTestCase extends TestCase
19+
{
20+
21+
/**
22+
* The Config object.
23+
*
24+
* @var \PHP_CodeSniffer\Config
25+
*/
26+
protected static $config;
27+
28+
/**
29+
* The Ruleset object.
30+
*
31+
* @var \PHP_CodeSniffer\Ruleset
32+
*/
33+
protected static $ruleset;
34+
35+
36+
/**
37+
* Initialize the config and ruleset objects.
38+
*
39+
* @beforeClass
40+
*
41+
* @return void
42+
*/
43+
public static function initializeConfigAndRuleset()
44+
{
45+
self::$config = new ConfigDouble();
46+
self::$config->filter = __DIR__.'/FilterDouble.php';
47+
self::$ruleset = new Ruleset(self::$config);
48+
49+
}//end initializeConfigAndRuleset()
50+
51+
52+
}//end class

tests/Core/Files/FileList/ConstructTest.php

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -9,49 +9,15 @@
99
namespace PHP_CodeSniffer\Tests\Core\Files\FileList;
1010

1111
use PHP_CodeSniffer\Files\FileList;
12-
use PHP_CodeSniffer\Tests\ConfigDouble;
13-
use PHPUnit\Framework\TestCase;
1412

1513
/**
1614
* Tests for the \PHP_CodeSniffer\Files\FileList::__construct method.
1715
*
1816
* @covers \PHP_CodeSniffer\Files\FileList::__construct
1917
*/
20-
final class ConstructTest extends TestCase
18+
final class ConstructTest extends AbstractFileListTestCase
2119
{
2220

23-
/**
24-
* The Config object.
25-
*
26-
* @var \PHP_CodeSniffer\Config
27-
*/
28-
private $config;
29-
30-
/**
31-
* The Ruleset object.
32-
*
33-
* @var \PHP_CodeSniffer\Ruleset
34-
*/
35-
private $ruleset;
36-
37-
38-
/**
39-
* Setup objects needed for the tests.
40-
*
41-
* @before
42-
*
43-
* @return void
44-
*/
45-
protected function initializeConfigAndRuleset()
46-
{
47-
$this->config = new ConfigDouble();
48-
$this->config->filter = __DIR__.'/FilterDouble.php';
49-
$this->ruleset = $this->getMockBuilder('PHP_CodeSniffer\Ruleset')
50-
->disableOriginalConstructor()
51-
->getMock();
52-
53-
}//end initializeConfigAndRuleset()
54-
5521

5622
/**
5723
* Test the __construct() method.
@@ -65,12 +31,12 @@ protected function initializeConfigAndRuleset()
6531
*/
6632
public function testConstruct($files, $expectedFiles)
6733
{
68-
$this->config->files = $files;
34+
self::$config->files = $files;
6935

70-
$fileList = new FileList($this->config, $this->ruleset);
36+
$fileList = new FileList(self::$config, self::$ruleset);
7137

72-
$this->assertSame($this->config, $fileList->config, 'Config object mismatch');
73-
$this->assertSame($this->ruleset, $fileList->ruleset, 'Ruleset object mismatch');
38+
$this->assertSame(self::$config, $fileList->config, 'Config object mismatch');
39+
$this->assertSame(self::$ruleset, $fileList->ruleset, 'Ruleset object mismatch');
7440

7541
$this->assertCount(count($expectedFiles), $fileList, 'File count mismatch');
7642

0 commit comments

Comments
 (0)