Skip to content

Commit 54ae7fd

Browse files
authored
upgrade to PHPUnit 10 (#4)
1 parent 413d442 commit 54ae7fd

20 files changed

+300
-276
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
"require-dev": {
2828
"ext-mysqli": "*",
29-
"phpunit/phpunit": "^9.6.22",
29+
"phpunit/phpunit": "^10.5.51",
3030
"squizlabs/php_codesniffer": "^3.7",
3131
"slevomat/coding-standard": "~8.20.0",
3232
"phpstan/phpstan-phpunit": "^2.0",

phpcs.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
<property name="searchAnnotations" value="true"/>
9595
<property name="namespacesRequiredToUse" type="array">
9696
<element value="MariaStan" />
97+
<element value="PHPUnit\Framework\Attributes" />
9798
</property>
9899
<property name="allowPartialUses" value="true"/>
99100
<property name="allowFallbackGlobalFunctions" value="false"/>
@@ -210,4 +211,9 @@
210211
<property name="onlySingleLine" value="true" />
211212
</properties>
212213
</rule>
214+
<rule ref="SlevomatCodingStandard.Attributes.AttributesOrder">
215+
<properties>
216+
<property name="orderAlphabetically" value="true" />
217+
</properties>
218+
</rule>
213219
</ruleset>

phpstan-baseline.neon

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ parameters:
3737
path: tests/Parser/MariaDbParserOperatorTest.php
3838

3939
-
40-
message: '#^Call to method handle\(\) of internal class PHPUnit\\TextUI\\XmlConfiguration\\PhpHandler from outside its root namespace PHPUnit\.$#'
40+
message: '#^Call to method handle\(\) of internal class PHPUnit\\TextUI\\Configuration\\PhpHandler from outside its root namespace PHPUnit\.$#'
4141
identifier: method.internalClass
4242
count: 1
4343
path: tests/updateTests.php
@@ -55,13 +55,13 @@ parameters:
5555
path: tests/updateTests.php
5656

5757
-
58-
message: '#^Instantiation of internal class PHPUnit\\TextUI\\XmlConfiguration\\Loader\.$#'
58+
message: '#^Instantiation of internal class PHPUnit\\TextUI\\Configuration\\PhpHandler\.$#'
5959
identifier: new.internalClass
6060
count: 1
6161
path: tests/updateTests.php
6262

6363
-
64-
message: '#^Instantiation of internal class PHPUnit\\TextUI\\XmlConfiguration\\PhpHandler\.$#'
64+
message: '#^Instantiation of internal class PHPUnit\\TextUI\\XmlConfiguration\\Loader\.$#'
6565
identifier: new.internalClass
6666
count: 1
6767
path: tests/updateTests.php

phpunit.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3-
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
3+
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"
44
colors="true"
55
failOnWarning="true"
6+
failOnPhpunitDeprecation="true"
7+
displayDetailsOnPhpunitDeprecations="true"
68
bootstrap="tests/bootstrap.php"
79
>
810
<php>
@@ -26,9 +28,9 @@
2628
</testsuite>
2729
</testsuites>
2830

29-
<coverage>
31+
<source>
3032
<include>
3133
<directory suffix=".php">src</directory>
3234
</include>
33-
</coverage>
35+
</source>
3436
</phpunit>

tests/Analyser/AnalyserGoldenTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use MariaStan\Parser\CodeTestCase;
99
use MariaStan\TestCaseHelper;
1010
use MariaStan\Util\MysqliUtil;
11+
use PHPUnit\Framework\Attributes\DataProvider;
1112
use PHPUnit\Framework\TestCase;
1213

1314
use function array_filter;
@@ -38,12 +39,12 @@ class AnalyserGoldenTest extends TestCase
3839
public const SUBFIELD_SEPARATOR = "\n#######\n";
3940

4041
/** @return iterable<string, array<mixed>> */
41-
public function provideTestData(): iterable
42+
public static function provideTestData(): iterable
4243
{
4344
return self::getTests(__DIR__ . '/data', 'test');
4445
}
4546

46-
/** @dataProvider provideTestData */
47+
#[DataProvider('provideTestData')]
4748
public function test(string $name, string $code, string $expected): void
4849
{
4950
$parts = explode(self::SUBFIELD_SEPARATOR, $code);

tests/Analyser/AnalyserReferencedSymbolTest.php

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use MariaStan\Analyser\ReferencedSymbol\Table;
99
use MariaStan\Analyser\ReferencedSymbol\TableColumn;
1010
use MariaStan\TestCaseHelper;
11+
use PHPUnit\Framework\Attributes\DataProvider;
1112
use PHPUnit\Framework\TestCase;
1213

1314
class AnalyserReferencedSymbolTest extends TestCase
@@ -26,32 +27,32 @@ public static function provideTestData(): iterable
2627

2728
yield 'invalid query' => [
2829
'query' => 'asdasasd',
29-
'expected symbols' => null,
30+
'expectedReferencedSymbols' => null,
3031
];
3132

3233
yield 'SELECT 1' => [
3334
'query' => 'SELECT 1',
34-
'expected symbols' => [],
35+
'expectedReferencedSymbols' => [],
3536
];
3637

3738
$table = new Table('analyser_referenced_symbol_test', TestCaseHelper::getDefaultDbName());
3839

3940
yield 'SELECT 1 FROM analyser_referenced_symbol_test' => [
4041
'query' => 'SELECT 1 FROM analyser_referenced_symbol_test',
41-
'expected symbols' => [$table],
42+
'expectedReferencedSymbols' => [$table],
4243
];
4344

4445
yield 'SELECT id FROM analyser_referenced_symbol_test' => [
4546
'query' => 'SELECT id FROM analyser_referenced_symbol_test',
46-
'expected symbols' => [
47+
'expectedReferencedSymbols' => [
4748
$table,
4849
new TableColumn($table, 'id'),
4950
],
5051
];
5152

5253
yield 'SELECT * FROM analyser_referenced_symbol_test' => [
5354
'query' => 'SELECT * FROM analyser_referenced_symbol_test',
54-
'expected symbols' => [
55+
'expectedReferencedSymbols' => [
5556
$table,
5657
new TableColumn($table, 'id'),
5758
new TableColumn($table, 'name'),
@@ -60,78 +61,78 @@ public static function provideTestData(): iterable
6061

6162
yield 'SELECT * FROM CTE' => [
6263
'query' => 'WITH t AS (SELECT 1) SELECT * FROM t',
63-
'expected symbols' => [],
64+
'expectedReferencedSymbols' => [],
6465
];
6566

6667
yield 'reference table twice' => [
6768
'query' => 'SELECT 1 FROM analyser_referenced_symbol_test, analyser_referenced_symbol_test',
68-
'expected symbols' => [$table],
69+
'expectedReferencedSymbols' => [$table],
6970
];
7071

7172
yield 'reference column twice' => [
7273
'query' => 'SELECT id, id FROM analyser_referenced_symbol_test',
73-
'expected symbols' => [
74+
'expectedReferencedSymbols' => [
7475
$table,
7576
new TableColumn($table, 'id'),
7677
],
7778
];
7879

7980
yield 'reference column from parent query - field list' => [
8081
'query' => 'SELECT (SELECT id) FROM analyser_referenced_symbol_test',
81-
'expected symbols' => [
82+
'expectedReferencedSymbols' => [
8283
$table,
8384
new TableColumn($table, 'id'),
8485
],
8586
];
8687

8788
yield 'reference column from parent query - field list, semi-ambiguous' => [
8889
'query' => 'SELECT 1 id, (SELECT id) FROM analyser_referenced_symbol_test',
89-
'expected symbols' => [
90+
'expectedReferencedSymbols' => [
9091
$table,
9192
new TableColumn($table, 'id'),
9293
],
9394
];
9495

9596
yield 'reference column from parent query - WHERE ' => [
9697
'query' => 'SELECT 1 id FROM analyser_referenced_symbol_test WHERE (SELECT id) = 1',
97-
'expected symbols' => [
98+
'expectedReferencedSymbols' => [
9899
$table,
99100
new TableColumn($table, 'id'),
100101
],
101102
];
102103

103104
yield 'reference column from table - GROUP BY - ambiguous' => [
104105
'query' => 'SELECT 1 id FROM analyser_referenced_symbol_test GROUP BY id = 1',
105-
'expected symbols' => [
106+
'expectedReferencedSymbols' => [
106107
$table,
107108
new TableColumn($table, 'id'),
108109
],
109110
];
110111

111112
yield 'reference column from parent query - GROUP BY' => [
112113
'query' => 'SELECT 1 id FROM analyser_referenced_symbol_test GROUP BY (SELECT id) = 1',
113-
'expected symbols' => [
114+
'expectedReferencedSymbols' => [
114115
$table,
115116
new TableColumn($table, 'id'),
116117
],
117118
];
118119

119120
yield 'reference column from field list - HAVING' => [
120121
'query' => 'SELECT 1 id FROM analyser_referenced_symbol_test HAVING id = 1',
121-
'expected symbols' => [$table],
122+
'expectedReferencedSymbols' => [$table],
122123
];
123124

124125
yield 'reference column from parent query - HAVING' => [
125126
'query' => 'SELECT 1 id FROM analyser_referenced_symbol_test HAVING (SELECT id) = 1',
126-
'expected symbols' => [
127+
'expectedReferencedSymbols' => [
127128
$table,
128129
new TableColumn($table, 'id'),
129130
],
130131
];
131132

132133
yield 'reference field from parent query - HAVING (SELECT WHERE)' => [
133134
'query' => 'SELECT "aa" id FROM analyser_referenced_symbol_test HAVING (SELECT 1 WHERE id = "aa") = 1',
134-
'expected symbols' => [
135+
'expectedReferencedSymbols' => [
135136
$table,
136137
new TableColumn($table, 'id'),
137138
],
@@ -143,20 +144,20 @@ public static function provideTestData(): iterable
143144
FROM analyser_referenced_symbol_test
144145
HAVING (SELECT 1 FROM (SELECT 1 x UNION SELECT 2) t GROUP BY x = id) = 1
145146
',
146-
'expected symbols' => [
147+
'expectedReferencedSymbols' => [
147148
$table,
148149
new TableColumn($table, 'id'),
149150
],
150151
];
151152

152153
yield 'reference field from parent query - HAVING (SELECT HAVING)' => [
153154
'query' => 'SELECT "aa" id FROM analyser_referenced_symbol_test HAVING (SELECT 1 HAVING id = "aa") = 1',
154-
'expected symbols' => [$table],
155+
'expectedReferencedSymbols' => [$table],
155156
];
156157

157158
yield 'SELECT * FROM (SELECT * FROM analyser_referenced_symbol_test) t' => [
158159
'query' => 'SELECT * FROM (SELECT * FROM analyser_referenced_symbol_test) t',
159-
'expected symbols' => [
160+
'expectedReferencedSymbols' => [
160161
$table,
161162
new TableColumn($table, 'id'),
162163
new TableColumn($table, 'name'),
@@ -165,7 +166,7 @@ public static function provideTestData(): iterable
165166

166167
yield 'detect valid table references even if invalid tables are referenced' => [
167168
'query' => 'SELECT * FROM analyser_referenced_symbol_test, missing_table',
168-
'expected symbols' => [
169+
'expectedReferencedSymbols' => [
169170
$table,
170171
new TableColumn($table, 'id'),
171172
new TableColumn($table, 'name'),
@@ -174,7 +175,7 @@ public static function provideTestData(): iterable
174175

175176
yield 'detect valid table references even if invalid tables are referenced - flipped' => [
176177
'query' => 'SELECT * FROM missing_table, analyser_referenced_symbol_test',
177-
'expected symbols' => [
178+
'expectedReferencedSymbols' => [
178179
$table,
179180
new TableColumn($table, 'id'),
180181
new TableColumn($table, 'name'),
@@ -183,17 +184,15 @@ public static function provideTestData(): iterable
183184

184185
yield 'detect valid column references even if invalid columns are referenced' => [
185186
'query' => 'SELECT aaa, name FROM analyser_referenced_symbol_test',
186-
'expected symbols' => [
187+
'expectedReferencedSymbols' => [
187188
$table,
188189
new TableColumn($table, 'name'),
189190
],
190191
];
191192
}
192193

193-
/**
194-
* @dataProvider provideTestData
195-
* @param ?array<ReferencedSymbol> $expectedReferencedSymbols
196-
*/
194+
/** @param ?array<ReferencedSymbol> $expectedReferencedSymbols */
195+
#[DataProvider('provideTestData')]
197196
public function testValid(string $query, ?array $expectedReferencedSymbols): void
198197
{
199198
$analyser = TestCaseHelper::createAnalyser();

0 commit comments

Comments
 (0)