Skip to content

Commit 317f25f

Browse files
committed
fix --filter format used by PHPStorm
It was broken by PR #6272. As far as I can tell the goal was to change the test name printed by the default printer to make it easier to copy-paste it into --filter. Example: 1) PHPUnit\TestFixture\DataProviderFilterTest::testFalse@other false test2 with data (false) Into: --filter 'testFalse@other false test2' However, the PR changed the test name more broadly than necessary. This broke --filter pattern used by PHPStorm. E.g: --filter '/PHPUnit\\TestFixture\\DataProviderFilterTest::testFalse with data set \"other false test\"$/'
1 parent 52d00f3 commit 317f25f

File tree

7 files changed

+51
-29
lines changed

7 files changed

+51
-29
lines changed

src/Framework/TestCase.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -860,10 +860,10 @@ final public function dataSetAsString(): string
860860
{
861861
if ($this->data !== []) {
862862
if (is_int($this->dataName)) {
863-
return sprintf(' with data set %s', $this->dataSetAsFilterString());
863+
return sprintf(' with data set #%s', $this->dataName);
864864
}
865865

866-
return sprintf(' with data set "%s"', $this->dataSetAsFilterString());
866+
return sprintf(' with data set "%s"', $this->dataName);
867867
}
868868

869869
return '';

src/Runner/Filter/NameFilterIterator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ private function prepareFilter(string $filter): array
109109
// * testDetermineJsonError@JSON.*
110110
elseif (preg_match('/^(.*?)@(.+)$/', $filter, $matches)) {
111111
$filter = sprintf(
112-
'%s.*with data set "@%s"$',
112+
'%s.*with data set "%s"$',
113113
$matches[1],
114114
$matches[2],
115115
);
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
--TEST--
2+
phpunit --filter '/PHPUnit\\TestFixture\\DataProviderFilterTest::testFalse with data set \"other false test\"$/' ../../_files/DataProviderFilterTest.php
3+
--FILE--
4+
<?php declare(strict_types=1);
5+
$_SERVER['argv'][] = '--do-not-cache-result';
6+
$_SERVER['argv'][] = '--no-configuration';
7+
$_SERVER['argv'][] = '--filter';
8+
$_SERVER['argv'][] = '/PHPUnit\\\\TestFixture\\\\DataProviderFilterTest::testFalse with data set "other false test"$/';
9+
$_SERVER['argv'][] = __DIR__ . '/../../../_files/DataProviderFilterTest.php';
10+
11+
require_once __DIR__ . '/../../../bootstrap.php';
12+
(new PHPUnit\TextUI\Application)->run($_SERVER['argv']);
13+
--EXPECTF--
14+
PHPUnit %s by Sebastian Bergmann and contributors.
15+
16+
Runtime: %s
17+
18+
. 1 / 1 (100%)
19+
20+
Time: %s, Memory: %s
21+
22+
OK (1 test, 1 assertion)

tests/end-to-end/testdox/data-provider-with-string-data-set-name.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ Runtime: %s
2020
Time: %s, Memory: %s
2121

2222
Data Provider With String Data Set Name (PHPUnit\TestFixture\TestDox\DataProviderWithStringDataSetName)
23-
✔ Something that works with data set "@data set name"
24-
✘ Something that does not work with data set "@data set name"
23+
✔ Something that works with data set "data set name"
24+
✘ Something that does not work with data set "data set name"
2525
2626
│ Failed asserting that false is true.
2727

tests/end-to-end/testdox/metadata-data-provider-with-string-data-set-name.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ Runtime: %s
2020
Time: %s, Memory: %s
2121

2222
Text from class-level TestDox metadata
23-
✔ Text from method-level TestDox metadata for successful test with data set "@data set name"
24-
✘ Text from method-level TestDox metadata for failing test with data set "@data set name"
23+
✔ Text from method-level TestDox metadata for successful test with data set "data set name"
24+
✘ Text from method-level TestDox metadata for failing test with data set "data set name"
2525
2626
│ Failed asserting that false is true.
2727

tests/unit/Logging/TestDox/NamePrettifierTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public function __toString(): string
163163
false,
164164
],
165165
[
166-
'Two with data set "@a"',
166+
'Two with data set "a"',
167167
$testWithDataWithStringKey,
168168
false,
169169
],

tests/unit/Runner/TestSuiteSorterTest.php

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -456,11 +456,11 @@ public static function defectsSorterWithDataProviderProvider(): array
456456
'testWithProvider with data set "@fail2"' => ['state' => TestStatus::success(), 'time' => 1],
457457
],
458458
[
459-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good1"',
460-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good2"',
461-
FaillingDataProviderTest::class . '::testWithProvider with data set "@fail1"',
462-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good3"',
463-
FaillingDataProviderTest::class . '::testWithProvider with data set "@fail2"',
459+
FaillingDataProviderTest::class . '::testWithProvider with data set "good1"',
460+
FaillingDataProviderTest::class . '::testWithProvider with data set "good2"',
461+
FaillingDataProviderTest::class . '::testWithProvider with data set "fail1"',
462+
FaillingDataProviderTest::class . '::testWithProvider with data set "good3"',
463+
FaillingDataProviderTest::class . '::testWithProvider with data set "fail2"',
464464
FaillingDataProviderTest::class . '::testOne',
465465
],
466466
],
@@ -473,11 +473,11 @@ public static function defectsSorterWithDataProviderProvider(): array
473473
// empty result cache
474474
],
475475
[
476-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good1"',
477-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good2"',
478-
FaillingDataProviderTest::class . '::testWithProvider with data set "@fail1"',
479-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good3"',
480-
FaillingDataProviderTest::class . '::testWithProvider with data set "@fail2"',
476+
FaillingDataProviderTest::class . '::testWithProvider with data set "good1"',
477+
FaillingDataProviderTest::class . '::testWithProvider with data set "good2"',
478+
FaillingDataProviderTest::class . '::testWithProvider with data set "fail1"',
479+
FaillingDataProviderTest::class . '::testWithProvider with data set "good3"',
480+
FaillingDataProviderTest::class . '::testWithProvider with data set "fail2"',
481481
FaillingDataProviderTest::class . '::testOne',
482482
],
483483
],
@@ -486,19 +486,19 @@ public static function defectsSorterWithDataProviderProvider(): array
486486
TestSuiteSorter::ORDER_DEFAULT,
487487
self::IGNORE_DEPENDENCIES,
488488
[
489-
'testOne' => ['state' => TestStatus::success(), 'time' => 1],
490-
'testWithProvider with data set "@good1"' => ['state' => TestStatus::success(), 'time' => 1],
491-
'testWithProvider with data set "@good2"' => ['state' => TestStatus::success(), 'time' => 1],
492-
'testWithProvider with data set "@good3"' => ['state' => TestStatus::success(), 'time' => 1],
493-
'testWithProvider with data set "@fail1"' => ['state' => TestStatus::error(), 'time' => 1],
494-
'testWithProvider with data set "@fail2"' => ['state' => TestStatus::error(), 'time' => 1],
489+
'testOne' => ['state' => TestStatus::success(), 'time' => 1],
490+
'testWithProvider with data set "good1"' => ['state' => TestStatus::success(), 'time' => 1],
491+
'testWithProvider with data set "good2"' => ['state' => TestStatus::success(), 'time' => 1],
492+
'testWithProvider with data set "good3"' => ['state' => TestStatus::success(), 'time' => 1],
493+
'testWithProvider with data set "fail1"' => ['state' => TestStatus::error(), 'time' => 1],
494+
'testWithProvider with data set "fail2"' => ['state' => TestStatus::error(), 'time' => 1],
495495
],
496496
[
497-
FaillingDataProviderTest::class . '::testWithProvider with data set "@fail1"',
498-
FaillingDataProviderTest::class . '::testWithProvider with data set "@fail2"',
499-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good1"',
500-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good2"',
501-
FaillingDataProviderTest::class . '::testWithProvider with data set "@good3"',
497+
FaillingDataProviderTest::class . '::testWithProvider with data set "fail1"',
498+
FaillingDataProviderTest::class . '::testWithProvider with data set "fail2"',
499+
FaillingDataProviderTest::class . '::testWithProvider with data set "good1"',
500+
FaillingDataProviderTest::class . '::testWithProvider with data set "good2"',
501+
FaillingDataProviderTest::class . '::testWithProvider with data set "good3"',
502502
FaillingDataProviderTest::class . '::testOne',
503503
],
504504
],

0 commit comments

Comments
 (0)