Skip to content

Commit 3282587

Browse files
authored
[TASK] Render selector combinators with surrounding spaces by default (#1495)
Part of #1325.
1 parent b324449 commit 3282587

2 files changed

Lines changed: 22 additions & 21 deletions

File tree

src/Property/Selector/Combinator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public function getSpecificity(): int
9595
public function render(OutputFormat $outputFormat): string
9696
{
9797
// TODO: allow optional spacing controlled via OutputFormat
98-
return $this->getValue();
98+
return $this->value !== ' ' ? (' ' . $this->value . ' ') : ' ';
9999
}
100100

101101
/**

tests/Unit/Property/Selector/CombinatorTest.php

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ public function implementsSelectorComponent(): void
3737
}
3838

3939
/**
40-
* @return array<non-empty-string, array{0: ValidCombinatorValue}>
40+
* @return array<non-empty-string, array{0: ValidCombinatorValue, 1: non-empty-string}>
4141
*/
42-
public static function provideValidValue(): array
42+
public static function provideValidValueAndDefaultRendering(): array
4343
{
4444
return [
45-
'descendent' => [' '],
46-
'child' => ['>'],
47-
'next sibling' => ['+'],
48-
'subsequent sibling' => ['~'],
45+
'descendent' => [' ', ' '],
46+
'child' => ['>', ' > '],
47+
'next sibling' => ['+', ' + '],
48+
'subsequent sibling' => ['~', ' ~ '],
4949
];
5050
}
5151

@@ -68,7 +68,7 @@ public static function provideInvalidValue(): array
6868
*
6969
* @param ValidCombinatorValue $combinator
7070
*
71-
* @dataProvider provideValidValue
71+
* @dataProvider provideValidValueAndDefaultRendering
7272
*/
7373
public function parsesValidCombinator(string $combinator): void
7474
{
@@ -96,7 +96,7 @@ public function parseThrowsExceptionWithInvalidCombinator(string $selectorCompon
9696
*
9797
* @param ValidCombinatorValue $combinator
9898
*
99-
* @dataProvider provideValidValue
99+
* @dataProvider provideValidValueAndDefaultRendering
100100
*/
101101
public function parsesCombinatorWithCommentBefore(string $combinator): void
102102
{
@@ -110,7 +110,7 @@ public function parsesCombinatorWithCommentBefore(string $combinator): void
110110
*
111111
* @param ValidCombinatorValue $combinator
112112
*
113-
* @dataProvider provideValidValue
113+
* @dataProvider provideValidValueAndDefaultRendering
114114
*/
115115
public function parsesCombinatorWithCommentAfter(string $combinator): void
116116
{
@@ -124,7 +124,7 @@ public function parsesCombinatorWithCommentAfter(string $combinator): void
124124
*
125125
* @param ValidCombinatorValue $combinator
126126
*
127-
* @dataProvider provideValidValue
127+
* @dataProvider provideValidValueAndDefaultRendering
128128
*/
129129
public function parseExtractsCommentBefore(string $combinator): void
130130
{
@@ -139,7 +139,7 @@ public function parseExtractsCommentBefore(string $combinator): void
139139
*
140140
* @param ValidCombinatorValue $combinator
141141
*
142-
* @dataProvider provideValidValue
142+
* @dataProvider provideValidValueAndDefaultRendering
143143
*/
144144
public function parseExtractsCommentAfter(string $combinator): void
145145
{
@@ -154,7 +154,7 @@ public function parseExtractsCommentAfter(string $combinator): void
154154
*
155155
* @param ValidCombinatorValue $value
156156
*
157-
* @dataProvider provideValidValue
157+
* @dataProvider provideValidValueAndDefaultRendering
158158
*/
159159
public function constructsWithValueProvided(string $value): void
160160
{
@@ -182,7 +182,7 @@ public function constructorThrowsExceptionWithInvalidValue(string $value): void
182182
*
183183
* @param ValidCombinatorValue $value
184184
*
185-
* @dataProvider provideValidValue
185+
* @dataProvider provideValidValueAndDefaultRendering
186186
*/
187187
public function setValueSetsValueProvided(string $value): void
188188
{
@@ -214,7 +214,7 @@ public function setValueThrowsExceptionWithInvalidValue(string $value): void
214214
*
215215
* @param ValidCombinatorValue $value
216216
*
217-
* @dataProvider provideValidValue
217+
* @dataProvider provideValidValueAndDefaultRendering
218218
*/
219219
public function getValueReturnsValueProvidedToConstructor(string $value): void
220220
{
@@ -230,7 +230,7 @@ public function getValueReturnsValueProvidedToConstructor(string $value): void
230230
*
231231
* @param ValidCombinatorValue $value
232232
*
233-
* @dataProvider provideValidValue
233+
* @dataProvider provideValidValueAndDefaultRendering
234234
*/
235235
public function getValueReturnsValueProvidedToSetValue(string $value): void
236236
{
@@ -247,7 +247,7 @@ public function getValueReturnsValueProvidedToSetValue(string $value): void
247247
*
248248
* @param ValidCombinatorValue $value
249249
*
250-
* @dataProvider provideValidValue
250+
* @dataProvider provideValidValueAndDefaultRendering
251251
*/
252252
public function hasNoSpecificity(string $value): void
253253
{
@@ -260,14 +260,15 @@ public function hasNoSpecificity(string $value): void
260260
* @test
261261
*
262262
* @param ValidCombinatorValue $value
263+
* @param non-empty-string $expectedRendering
263264
*
264-
* @dataProvider provideValidValue
265+
* @dataProvider provideValidValueAndDefaultRendering
265266
*/
266-
public function renderReturnsValueProvided(string $value): void
267+
public function renderReturnsDefaultRenderingForValueProvided(string $value, string $expectedRendering): void
267268
{
268269
$subject = new Combinator($value);
269270

270-
self::assertSame($value, $subject->render(OutputFormat::create()));
271+
self::assertSame($expectedRendering, $subject->render(OutputFormat::create()));
271272
}
272273

273274
/**
@@ -287,7 +288,7 @@ public function getArrayRepresentationIncludesClassName(): void
287288
*
288289
* @param ValidCombinatorValue $value
289290
*
290-
* @dataProvider provideValidValue
291+
* @dataProvider provideValidValueAndDefaultRendering
291292
*/
292293
public function getArrayRepresentationIncludesValue(string $value): void
293294
{

0 commit comments

Comments
 (0)