Skip to content

Commit d6646c1

Browse files
committed
Fix PHPUnit DataProvider
1 parent 3a49dcb commit d6646c1

14 files changed

+115
-0
lines changed

tests/AssertionsTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace Symfony\Component\Panther\Tests;
1515

16+
use PHPUnit\Framework\Attributes\DataProvider;
1617
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
1718
use Symfony\Component\BrowserKit\AbstractBrowser;
1819

@@ -29,6 +30,7 @@ protected function setUp(): void
2930
}
3031
}
3132

33+
#[DataProvider('clientFactoryProvider')]
3234
/**
3335
* @dataProvider clientFactoryProvider
3436
*/

tests/ClientTest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use Facebook\WebDriver\JavaScriptExecutor;
2121
use Facebook\WebDriver\WebDriver;
2222
use Facebook\WebDriver\WebDriverExpectedCondition;
23+
use PHPUnit\Framework\Attributes\DataProvider;
2324
use Symfony\Component\BrowserKit\AbstractBrowser;
2425
use Symfony\Component\BrowserKit\Cookie;
2526
use Symfony\Component\BrowserKit\CookieJar as BrowserKitCookieJar;
@@ -56,6 +57,7 @@ public function testWaitForEmptyLocator(): void
5657
$client->waitFor('');
5758
}
5859

60+
#[DataProvider('waitForDataProvider')]
5961
/**
6062
* @dataProvider waitForDataProvider
6163
*/
@@ -83,6 +85,7 @@ public static function waitForDataProvider(): iterable
8385
yield 'xpath expression' => ['locator' => '//*[@id="hello"]'];
8486
}
8587

88+
#[DataProvider('waitForDataProvider')]
8689
/**
8790
* @dataProvider waitForDataProvider
8891
*/
@@ -95,6 +98,7 @@ public function testWaitForVisibility(string $locator): void
9598
$this->assertSame('Hello', $crawler->filter('#hello')->text(null, true));
9699
}
97100

101+
#[DataProvider('waitForDataProvider')]
98102
/**
99103
* @dataProvider waitForDataProvider
100104
*/
@@ -107,6 +111,7 @@ public function testWaitForInvisibility(string $locator): void
107111
$this->assertSame('', $crawler->filter('#hello')->text(null, true));
108112
}
109113

114+
#[DataProvider('waitForDataProvider')]
110115
/**
111116
* @dataProvider waitForDataProvider
112117
*/
@@ -119,6 +124,7 @@ public function testWaitForElementToContain(string $locator): void
119124
$this->assertSame('Hello new content', $crawler->filter('#hello')->text(null, true));
120125
}
121126

127+
#[DataProvider('waitForDataProvider')]
122128
/**
123129
* @dataProvider waitForDataProvider
124130
*/
@@ -131,6 +137,7 @@ public function testWaitForElementToNotContain(string $locator): void
131137
$this->assertSame('Hello', $crawler->filter('#hello')->text(null, true));
132138
}
133139

140+
#[DataProvider('waitForDataProvider')]
134141
/**
135142
* @dataProvider waitForDataProvider
136143
*/
@@ -143,6 +150,7 @@ public function testWaitForEnabled(string $locator): void
143150
$this->assertTrue($crawler->filter('#hello')->isEnabled());
144151
}
145152

153+
#[DataProvider('waitForDataProvider')]
146154
/**
147155
* @dataProvider waitForDataProvider
148156
*/
@@ -155,6 +163,7 @@ public function testWaitForDisabled(string $locator): void
155163
$this->assertFalse($crawler->filter('#hello')->isEnabled());
156164
}
157165

166+
#[DataProvider('waitForDataProvider')]
158167
/**
159168
* @dataProvider waitForDataProvider
160169
*/
@@ -167,6 +176,7 @@ public function testWaitForAttributeToContain(string $locator): void
167176
$this->assertSame('42', $crawler->filter('#hello')->getAttribute('data-old-price'));
168177
}
169178

179+
#[DataProvider('waitForDataProvider')]
170180
/**
171181
* @dataProvider waitForDataProvider
172182
*/
@@ -179,6 +189,7 @@ public function testWaitForAttributeToNotContain(string $locator): void
179189
$this->assertSame('36', $crawler->filter('#hello')->getAttribute('data-old-price'));
180190
}
181191

192+
#[DataProvider('waitForDataProvider')]
182193
/**
183194
* @dataProvider waitForDataProvider
184195
*/
@@ -244,6 +255,7 @@ public static function waitForExceptionsProvider(): iterable
244255
];
245256
}
246257

258+
#[DataProvider('waitForExceptionsProvider')]
247259
/**
248260
* @dataProvider waitForExceptionsProvider
249261
*/
@@ -288,6 +300,7 @@ public function testExecuteAsyncScript(): void
288300
$this->assertSame('P1', $innerText);
289301
}
290302

303+
#[DataProvider('clientFactoryProvider')]
291304
/**
292305
* @dataProvider clientFactoryProvider
293306
*/
@@ -319,6 +332,7 @@ public function testRefreshCrawler(): void
319332
$this->assertSame('Hello', $refreshedCrawler->filter('h1')->text(null, true));
320333
}
321334

335+
#[DataProvider('clientFactoryProvider')]
322336
/**
323337
* @dataProvider clientFactoryProvider
324338
*/
@@ -337,6 +351,7 @@ public function testFollowLink(callable $clientFactory, string $type): void
337351
$this->assertSame(self::$baseUri.'/basic.html#e12', $crawler->getUri());
338352
}
339353

354+
#[DataProvider('clientFactoryProvider')]
340355
/**
341356
* @dataProvider clientFactoryProvider
342357
*/
@@ -392,6 +407,7 @@ public function testSubmitForm(callable $clientFactory): void
392407
$this->assertSame('I1: n/a', $crawler->filter('#result')->text(null, true));
393408
}
394409

410+
#[DataProvider('clientFactoryProvider')]
395411
/**
396412
* @dataProvider clientFactoryProvider
397413
*/
@@ -418,6 +434,7 @@ public function testSubmitFormWithValues(callable $clientFactory): void
418434
$this->assertSame('I1: Reclus', $crawler->filter('#result')->text(null, true));
419435
}
420436

437+
#[DataProvider('clientFactoryProvider')]
421438
/**
422439
* @dataProvider clientFactoryProvider
423440
*/
@@ -445,6 +462,7 @@ public function testHistory(callable $clientFactory): void
445462
$this->assertSame(self::$baseUri.'/link.html', $crawler->getUri());
446463
}
447464

465+
#[DataProvider('clientFactoryProvider')]
448466
/**
449467
* @dataProvider clientFactoryProvider
450468
*/
@@ -497,6 +515,7 @@ public function testCookie(callable $clientFactory, string $type): void
497515
$this->assertNull($cookieJar->get('foo'));
498516
}
499517

518+
#[DataProvider('clientFactoryProvider')]
500519
/**
501520
* @dataProvider clientFactoryProvider
502521
*/
@@ -507,6 +526,7 @@ public function testServerPort(callable $clientFactory): void
507526
$this->assertEquals($expectedPort, mb_substr(self::$baseUri, -4));
508527
}
509528

529+
#[DataProvider('clientFactoryProvider')]
510530
/**
511531
* @dataProvider clientFactoryProvider
512532
*/
@@ -596,6 +616,7 @@ public function testCreateHttpBrowserClientWithInvalidHttpClientOptions(): void
596616
]);
597617
}
598618

619+
#[DataProvider('providePrefersReducedMotion')]
599620
/**
600621
* @dataProvider providePrefersReducedMotion
601622
*/
@@ -608,6 +629,7 @@ public function testPrefersReducedMotion(string $browser): void
608629
$this->assertStringEndsWith('#clicked', $client->getCurrentURL());
609630
}
610631

632+
#[DataProvider('providePrefersReducedMotion')]
611633
/**
612634
* @dataProvider providePrefersReducedMotion
613635
*/

tests/DomCrawler/CrawlerTest.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace Symfony\Component\Panther\Tests\DomCrawler;
1515

1616
use Facebook\WebDriver\WebDriverElement;
17+
use PHPUnit\Framework\Attributes\DataProvider;
1718
use Symfony\Component\DomCrawler\Crawler;
1819
use Symfony\Component\Panther\Client;
1920
use Symfony\Component\Panther\Client as PantherClient;
@@ -34,6 +35,7 @@ public function testCreateCrawler(): void
3435
$this->assertInstanceOf(WebDriverElement::class, $crawler);
3536
}
3637

38+
#[DataProvider('clientFactoryProvider')]
3739
/**
3840
* @dataProvider clientFactoryProvider
3941
*/
@@ -43,6 +45,7 @@ public function testGetUri(callable $clientFactory): void
4345
$this->assertSame(static::$baseUri.'/basic.html', $crawler->getUri());
4446
}
4547

48+
#[DataProvider('clientFactoryProvider')]
4649
/**
4750
* @dataProvider clientFactoryProvider
4851
*/
@@ -52,6 +55,7 @@ public function testHtml(callable $clientFactory): void
5255
$this->assertStringContainsString('<title>A basic page</title>', $crawler->html());
5356
}
5457

58+
#[DataProvider('clientFactoryProvider')]
5559
/**
5660
* @dataProvider clientFactoryProvider
5761
*/
@@ -63,6 +67,7 @@ public function testIterate(callable $clientFactory): void
6367
}
6468
}
6569

70+
#[DataProvider('clientFactoryProvider')]
6671
/**
6772
* @dataProvider clientFactoryProvider
6873
*/
@@ -86,6 +91,7 @@ public function testFilterXpath(callable $clientFactory): void
8691
});
8792
}
8893

94+
#[DataProvider('clientFactoryProvider')]
8995
/**
9096
* @dataProvider clientFactoryProvider
9197
*/
@@ -102,6 +108,7 @@ public function testFilter(callable $clientFactory): void
102108
$this->assertSame('Sibling 2', $crawler->filter('main')->filter('#a-sibling')->text(null, true));
103109
}
104110

111+
#[DataProvider('clientFactoryProvider')]
105112
/**
106113
* @dataProvider clientFactoryProvider
107114
*/
@@ -115,6 +122,7 @@ public function testReduce(callable $clientFactory): void
115122
});
116123
}
117124

125+
#[DataProvider('clientFactoryProvider')]
118126
/**
119127
* @dataProvider clientFactoryProvider
120128
*/
@@ -124,6 +132,7 @@ public function testEq(callable $clientFactory): void
124132
$this->assertSame('a-sibling', $crawler->filter('main > p')->eq(1)->attr('id'));
125133
}
126134

135+
#[DataProvider('clientFactoryProvider')]
127136
/**
128137
* @dataProvider clientFactoryProvider
129138
*/
@@ -133,6 +142,7 @@ public function testFirst(callable $clientFactory): void
133142
$this->assertSame('Sibling', $crawler->filter('main > p')->first()->text(null, true));
134143
}
135144

145+
#[DataProvider('clientFactoryProvider')]
136146
/**
137147
* @dataProvider clientFactoryProvider
138148
*/
@@ -142,6 +152,7 @@ public function testLast(callable $clientFactory): void
142152
$this->assertSame('Sibling 3', $crawler->filter('main > p')->last()->text(null, true));
143153
}
144154

155+
#[DataProvider('clientFactoryProvider')]
145156
/**
146157
* @dataProvider clientFactoryProvider
147158
*/
@@ -157,6 +168,7 @@ public function testSiblings(callable $clientFactory): void
157168
$this->assertSame(['Main', 'Sibling 2', 'Sibling 3'], $texts);
158169
}
159170

171+
#[DataProvider('clientFactoryProvider')]
160172
/**
161173
* @dataProvider clientFactoryProvider
162174
*/
@@ -173,6 +185,7 @@ public function testMatches(callable $clientFactory): void
173185
$this->assertFalse($p->matches('.bar'));
174186
}
175187

188+
#[DataProvider('clientFactoryProvider')]
176189
/**
177190
* @dataProvider clientFactoryProvider
178191
*/
@@ -201,6 +214,7 @@ public function testClosest(callable $clientFactory): void
201214
$this->assertNull($notFound);
202215
}
203216

217+
#[DataProvider('clientFactoryProvider')]
204218
/**
205219
* @dataProvider clientFactoryProvider
206220
*/
@@ -216,6 +230,7 @@ public function testNextAll(callable $clientFactory): void
216230
$this->assertSame(['Sibling 2', 'Sibling 3'], $texts);
217231
}
218232

233+
#[DataProvider('clientFactoryProvider')]
219234
/**
220235
* @dataProvider clientFactoryProvider
221236
*/
@@ -231,6 +246,7 @@ public function testPreviousAll(callable $clientFactory): void
231246
$this->assertSame(['Main'], $texts);
232247
}
233248

249+
#[DataProvider('clientFactoryProvider')]
234250
/**
235251
* @dataProvider clientFactoryProvider
236252
*/
@@ -246,6 +262,7 @@ public function testChildren(callable $clientFactory): void
246262
$this->assertSame(['h1', 'main', 'p', 'p', 'input', 'p', 'div'], $names);
247263
}
248264

265+
#[DataProvider('clientFactoryProvider')]
249266
/**
250267
* @dataProvider clientFactoryProvider
251268
*/
@@ -282,6 +299,7 @@ public function testParents(callable $clientFactory): void
282299
$this->assertSame(['main', 'body', 'html'], $names);
283300
}
284301

302+
#[DataProvider('clientFactoryProvider')]
285303
/**
286304
* @dataProvider clientFactoryProvider
287305
*/
@@ -297,6 +315,7 @@ public function testAncestors(callable $clientFactory): void
297315
$this->assertSame(['main', 'body', 'html'], $names);
298316
}
299317

318+
#[DataProvider('clientFactoryProvider')]
300319
/**
301320
* @dataProvider clientFactoryProvider
302321
*/
@@ -310,6 +329,7 @@ public function testExtract(callable $clientFactory): void
310329
$this->assertSame([[], [], []], $crawler->filter('main > p')->extract([]));
311330
}
312331

332+
#[DataProvider('clientFactoryProvider')]
313333
/**
314334
* @dataProvider clientFactoryProvider
315335
*/
@@ -339,6 +359,7 @@ public function testLink(callable $clientFactory, string $type): void
339359
$this->assertSame('https://api-platform.com/', $link->getUri());
340360
}
341361

362+
#[DataProvider('clientFactoryProvider')]
342363
/**
343364
* @dataProvider clientFactoryProvider
344365
*/
@@ -365,6 +386,7 @@ public function testImage(callable $clientFactory, string $type): void
365386
$this->assertSame('https://api-platform.com/logo-250x250.png', $image->getUri());
366387
}
367388

389+
#[DataProvider('clientFactoryProvider')]
368390
/**
369391
* @dataProvider clientFactoryProvider
370392
*/
@@ -374,6 +396,7 @@ public function testTextDefault(callable $clientFactory): void
374396
$this->assertSame('default', $crawler->filter('header')->text('default'));
375397
}
376398

399+
#[DataProvider('clientFactoryProvider')]
377400
/**
378401
* @dataProvider clientFactoryProvider
379402
*/
@@ -383,6 +406,7 @@ public function testHtmlDefault(callable $clientFactory): void
383406
$this->assertSame('default', $crawler->filter('header')->html('default'));
384407
}
385408

409+
#[DataProvider('clientFactoryProvider')]
386410
/**
387411
* @dataProvider clientFactoryProvider
388412
*/
@@ -392,6 +416,7 @@ public function testEmptyHtml(callable $clientFactory): void
392416
$this->assertEmpty($crawler->filter('.empty')->html(''));
393417
}
394418

419+
#[DataProvider('clientFactoryProvider')]
395420
/**
396421
* @dataProvider clientFactoryProvider
397422
*/
@@ -401,6 +426,7 @@ public function testEmptyHtmlWithoutDefault(callable $clientFactory): void
401426
$this->assertEmpty($crawler->filter('.empty')->html());
402427
}
403428

429+
#[DataProvider('clientFactoryProvider')]
404430
/**
405431
* @dataProvider clientFactoryProvider
406432
*/

0 commit comments

Comments
 (0)