Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Property/Selector/Combinator.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public function getSpecificity(): int
public function render(OutputFormat $outputFormat): string
{
// TODO: allow optional spacing controlled via OutputFormat
return $this->getValue();
return $this->value !== ' ' ? (' ' . $this->value . ' ') : ' ';
}

/**
Expand Down
41 changes: 21 additions & 20 deletions tests/Unit/Property/Selector/CombinatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ public function implementsSelectorComponent(): void
}

/**
* @return array<non-empty-string, array{0: ValidCombinatorValue}>
* @return array<non-empty-string, array{0: ValidCombinatorValue, 1: non-empty-string}>
*/
public static function provideValidValue(): array
public static function provideValidValueAndDefaultRendering(): array
{
return [
'descendent' => [' '],
'child' => ['>'],
'next sibling' => ['+'],
'subsequent sibling' => ['~'],
'descendent' => [' ', ' '],
'child' => ['>', ' > '],
'next sibling' => ['+', ' + '],
'subsequent sibling' => ['~', ' ~ '],
];
}

Expand All @@ -68,7 +68,7 @@ public static function provideInvalidValue(): array
*
* @param ValidCombinatorValue $combinator
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function parsesValidCombinator(string $combinator): void
{
Expand Down Expand Up @@ -96,7 +96,7 @@ public function parseThrowsExceptionWithInvalidCombinator(string $selectorCompon
*
* @param ValidCombinatorValue $combinator
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function parsesCombinatorWithCommentBefore(string $combinator): void
{
Expand All @@ -110,7 +110,7 @@ public function parsesCombinatorWithCommentBefore(string $combinator): void
*
* @param ValidCombinatorValue $combinator
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function parsesCombinatorWithCommentAfter(string $combinator): void
{
Expand All @@ -124,7 +124,7 @@ public function parsesCombinatorWithCommentAfter(string $combinator): void
*
* @param ValidCombinatorValue $combinator
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function parseExtractsCommentBefore(string $combinator): void
{
Expand All @@ -139,7 +139,7 @@ public function parseExtractsCommentBefore(string $combinator): void
*
* @param ValidCombinatorValue $combinator
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function parseExtractsCommentAfter(string $combinator): void
{
Expand All @@ -154,7 +154,7 @@ public function parseExtractsCommentAfter(string $combinator): void
*
* @param ValidCombinatorValue $value
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function constructsWithValueProvided(string $value): void
{
Expand Down Expand Up @@ -182,7 +182,7 @@ public function constructorThrowsExceptionWithInvalidValue(string $value): void
*
* @param ValidCombinatorValue $value
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function setValueSetsValueProvided(string $value): void
{
Expand Down Expand Up @@ -214,7 +214,7 @@ public function setValueThrowsExceptionWithInvalidValue(string $value): void
*
* @param ValidCombinatorValue $value
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function getValueReturnsValueProvidedToConstructor(string $value): void
{
Expand All @@ -230,7 +230,7 @@ public function getValueReturnsValueProvidedToConstructor(string $value): void
*
* @param ValidCombinatorValue $value
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function getValueReturnsValueProvidedToSetValue(string $value): void
{
Expand All @@ -247,7 +247,7 @@ public function getValueReturnsValueProvidedToSetValue(string $value): void
*
* @param ValidCombinatorValue $value
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function hasNoSpecificity(string $value): void
{
Expand All @@ -260,14 +260,15 @@ public function hasNoSpecificity(string $value): void
* @test
*
* @param ValidCombinatorValue $value
* @param non-empty-string $expectedRendering
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function renderReturnsValueProvided(string $value): void
public function renderReturnsDefaultRenderingForValueProvided(string $value, string $expectedRendering): void
{
$subject = new Combinator($value);

self::assertSame($value, $subject->render(OutputFormat::create()));
self::assertSame($expectedRendering, $subject->render(OutputFormat::create()));
}

/**
Expand All @@ -287,7 +288,7 @@ public function getArrayRepresentationIncludesClassName(): void
*
* @param ValidCombinatorValue $value
*
* @dataProvider provideValidValue
* @dataProvider provideValidValueAndDefaultRendering
*/
public function getArrayRepresentationIncludesValue(string $value): void
{
Expand Down