Skip to content

Commit deefe60

Browse files
committed
Test that it can read class constants
1 parent 749414a commit deefe60

File tree

4 files changed

+46
-0
lines changed

4 files changed

+46
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace PHPStan\Rules\Keywords;
6+
7+
class ClassThatContainsConst
8+
{
9+
public const string FILE_EXISTS = 'include-me-to-prove-you-work.txt';
10+
public const string FILE_DOES_NOT_EXIST = 'a-file-that-does-not-exist.php';
11+
}

tests/PHPStan/Rules/Keywords/RequireFileExistsRuleTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,23 @@ public function testFileExistsButPathIsRelative(): void
3535
],
3636
]);
3737
}
38+
39+
public function testFileExistsUsingClassConst(): void
40+
{
41+
$this->analyse([__DIR__ . '/data/file-exists-using-class-const.php'], []);
42+
}
43+
44+
public function testFileDoesNotExistUsingClassConst(): void
45+
{
46+
$this->analyse([__DIR__ . '/data/required-file-does-not-exist-using-class-const.php'], [
47+
[
48+
'Required file "a-file-that-does-not-exist.php" does not exist.',
49+
7,
50+
],
51+
[
52+
'Required file "a-file-that-does-not-exist.php" does not exist.',
53+
8,
54+
],
55+
]);
56+
}
3857
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php declare(strict_types=1);
2+
3+
use PHPStan\Rules\Keywords\ClassThatContainsConst;
4+
5+
include __DIR__ . '/' . ClassThatContainsConst::FILE_EXISTS;
6+
include_once __DIR__ . '/' . ClassThatContainsConst::FILE_EXISTS;
7+
require __DIR__ . '/' . ClassThatContainsConst::FILE_EXISTS;
8+
require_once __DIR__ . '/' . ClassThatContainsConst::FILE_EXISTS;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php declare(strict_types=1);
2+
3+
use PHPStan\Rules\Keywords\ClassThatContainsConst;
4+
5+
include ClassThatContainsConst::FILE_DOES_NOT_EXIST;
6+
include_once ClassThatContainsConst::FILE_DOES_NOT_EXIST;
7+
require ClassThatContainsConst::FILE_DOES_NOT_EXIST;
8+
require_once ClassThatContainsConst::FILE_DOES_NOT_EXIST;

0 commit comments

Comments
 (0)