Skip to content

Commit f9d773c

Browse files
committed
Use data providers
1 parent 8ad09c9 commit f9d773c

File tree

2 files changed

+31
-14
lines changed

2 files changed

+31
-14
lines changed

tests/Service/LabelNameExtractorTest.php

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,25 @@
1010

1111
class LabelNameExtractorTest extends TestCase
1212
{
13-
public function testExtractLabels()
13+
/**
14+
* @dataProvider provideLabels
15+
*/
16+
public function testExtractLabels(array $expected, string $title)
1417
{
1518
$api = new StaticLabelApi();
1619
$extractor = new LabelNameExtractor($api, new NullLogger());
1720
$repo = new Repository('carsonbot-playground', 'symfony');
1821

19-
$this->assertSame(['Messenger'], $extractor->extractLabels('[Messenger] Foobar', $repo));
20-
$this->assertSame(['Messenger'], $extractor->extractLabels('[messenger] Foobar', $repo));
21-
$this->assertSame(['Messenger', 'Mime'], $extractor->extractLabels('[Messenger][Mime] Foobar', $repo));
22-
$this->assertSame(['Messenger', 'Mime'], $extractor->extractLabels('[Messenger] [Mime] Foobar', $repo));
23-
$this->assertSame(['Messenger', 'Mime'], $extractor->extractLabels('[Messenger] Foobar [Mime] ', $repo));
22+
$this->assertSame($expected, $extractor->extractLabels($title, $repo));
23+
}
24+
25+
public static function provideLabels(): iterable
26+
{
27+
yield [['Messenger'], '[Messenger] Foobar'];
28+
yield [['Messenger'], '[messenger] Foobar'];
29+
yield [['Messenger', 'Mime'], '[Messenger][Mime] Foobar'];
30+
yield [['Messenger', 'Mime'], '[Messenger] [Mime] Foobar'];
31+
yield [['Messenger', 'Mime'], '[Messenger] Foobar [Mime]'];
32+
2433
}
2534
}

tests/Service/WipParserTest.php

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,23 @@
99

1010
class WipParserTest extends TestCase
1111
{
12-
public function testMatchTitle()
12+
/**
13+
* @dataProvider titlesProvider
14+
*/
15+
public function testMatchTitle(bool $expected, string $title)
1316
{
14-
$this->assertTrue(WipParser::matchTitle('[WIP] foo'));
15-
$this->assertTrue(WipParser::matchTitle('WIP: bar'));
16-
$this->assertTrue(WipParser::matchTitle('(WIP) xas'));
17-
$this->assertTrue(WipParser::matchTitle('[WIP]foo'));
18-
$this->assertTrue(WipParser::matchTitle('[wip] foo'));
17+
$this->assertSame($expected, WipParser::matchTitle($title));
18+
}
19+
20+
public static function titlesProvider(): iterable
21+
{
22+
yield [true, '[WIP] foo'];
23+
yield [true, 'WIP: bar'];
24+
yield [true, '(WIP) xas'];
25+
yield [true, '[WIP]foo'];
26+
yield [true, '[wip] foo'];
1927

20-
$this->assertFalse(WipParser::matchTitle('Bar [WIP] foo'));
21-
$this->assertFalse(WipParser::matchTitle('FOOWIP: foo'));
28+
yield [false, 'Bar [WIP] foo'];
29+
yield [false, 'FOOWIP: foo'];
2230
}
2331
}

0 commit comments

Comments
 (0)