Skip to content

Commit 12f42ee

Browse files
authored
Merge pull request #8 from kynx/class-constant-labeler
Class constant labeler
2 parents ffbab38 + 8ced9de commit 12f42ee

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

src/UniqueClassConstantLabeler.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Kynx\Code\Normalizer;
6+
7+
use Kynx\Code\Normalizer\UniqueStrategy\UniqueStrategyInterface;
8+
9+
/**
10+
* @see \KynxTest\Code\Normalizer\UniqueConstantLabellerTest
11+
*/
12+
final class UniqueClassConstantLabeler extends AbstractUniqueLabeler
13+
{
14+
public function __construct(ClassConstantNameNormalizer $normalizer, UniqueStrategyInterface $strategy)
15+
{
16+
parent::__construct($normalizer, $strategy, true);
17+
}
18+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace KynxTest\Code\Normalizer;
6+
7+
use Kynx\Code\Normalizer\ClassConstantNameNormalizer;
8+
use Kynx\Code\Normalizer\UniqueClassConstantLabeler;
9+
use Kynx\Code\Normalizer\UniqueStrategy\NumberSuffix;
10+
use Kynx\Code\Normalizer\WordCase;
11+
use PHPUnit\Framework\TestCase;
12+
13+
/**
14+
* @uses \Kynx\Code\Normalizer\AbstractNormalizer
15+
* @uses \Kynx\Code\Normalizer\AbstractUniqueLabeler
16+
* @uses \Kynx\Code\Normalizer\ClassConstantNameNormalizer
17+
* @uses \Kynx\Code\Normalizer\UniqueStrategy\NumberSuffix
18+
* @uses \Kynx\Code\Normalizer\PhpLabel
19+
* @uses \Kynx\Code\Normalizer\WordCase
20+
*
21+
* @covers \Kynx\Code\Normalizer\UniqueConstantLabeler
22+
*/
23+
final class UniqueClassConstantLabelerTest extends TestCase
24+
{
25+
public function testConstructorSetsCaseSensitive(): void
26+
{
27+
$expected = [
28+
'a foo' => 'aFoo',
29+
'a f oo' => 'afOo',
30+
];
31+
$labeller = new UniqueClassConstantLabeler(
32+
new ClassConstantNameNormalizer('Foo', WordCase::Camel),
33+
new NumberSuffix()
34+
);
35+
$actual = $labeller->getUnique(['a foo', 'a f oo']);
36+
self::assertSame($expected, $actual);
37+
}
38+
}

0 commit comments

Comments
 (0)