Skip to content

Commit e752da9

Browse files
committed
Add tests for enums
1 parent 6270149 commit e752da9

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace VariableAnalysis\Tests\VariableAnalysisSniff;
4+
5+
use VariableAnalysis\Tests\BaseTestCase;
6+
7+
class EnumTest extends BaseTestCase
8+
{
9+
public function testEnum()
10+
{
11+
$fixtureFile = $this->getFixture('EnumFixture.php');
12+
$phpcsFile = $this->prepareLocalFileForSniffs($fixtureFile);
13+
$phpcsFile->process();
14+
$lines = $this->getWarningLineNumbersFromFile($phpcsFile);
15+
$expectedWarnings = [
16+
33,
17+
];
18+
$this->assertEquals($expectedWarnings, $lines);
19+
}
20+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
enum Suit
4+
{
5+
case Hearts;
6+
case Diamonds;
7+
case Clubs;
8+
case Spades;
9+
}
10+
11+
enum BackedSuit: string
12+
{
13+
case Hearts = 'H';
14+
case Diamonds = 'D';
15+
case Clubs = 'C';
16+
case Spades = 'S';
17+
}
18+
19+
enum Numbers: string {
20+
case ONE = '1';
21+
case TWO = '2';
22+
case THREE = '3';
23+
case FOUR = '4';
24+
25+
public function divisibility(): string {
26+
return match ($this) {
27+
self::ONE, self::THREE => 'odd',
28+
self::TWO, self::FOUR => 'even',
29+
};
30+
}
31+
32+
public function foobar(): string {
33+
return match ($foo) { // undefined variable $foo
34+
'x' => 'first',
35+
'y' => 'second',
36+
default => 'unknown',
37+
};
38+
}
39+
}

0 commit comments

Comments
 (0)