Skip to content

Commit 0063965

Browse files
committed
[TASK] Add proper getters and setters for OutputFormat
1 parent c6cfc2e commit 0063965

File tree

1 file changed

+227
-0
lines changed

1 file changed

+227
-0
lines changed

tests/Unit/OutputFormatTest.php

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sabberworm\CSS\Tests\Unit;
6+
7+
use PHPUnit\Framework\TestCase;
8+
use Sabberworm\CSS\OutputFormat;
9+
10+
/**
11+
* @covers \Sabberworm\CSS\OutputFormat
12+
*/
13+
final class OutputFormatTest extends TestCase
14+
{
15+
/**
16+
* @var OutputFormat
17+
*/
18+
private $subject;
19+
20+
protected function setUp(): void
21+
{
22+
$this->subject = new OutputFormat();
23+
}
24+
25+
/**
26+
* @test
27+
*/
28+
public function getStringQuotingTypeInitiallyReturnsDoubleQuote(): void
29+
{
30+
self::assertSame('"', $this->subject->getStringQuotingType());
31+
}
32+
33+
/**
34+
* @test
35+
*/
36+
public function setStringQuotingTypeSetsStringQuotingType(): void
37+
{
38+
$value = 'x';
39+
$this->subject->setStringQuotingType($value);
40+
41+
self::assertSame($value, $this->subject->getStringQuotingType());
42+
}
43+
44+
/**
45+
* @test
46+
*/
47+
public function getRGBHashNotationInitiallyReturnsTrue(): void
48+
{
49+
self::assertTrue($this->subject->getRGBHashNotation());
50+
}
51+
52+
/**
53+
* @return array<string, array{0: bool}>
54+
*/
55+
public static function provideBooleans(): array
56+
{
57+
return [
58+
'true' => [true],
59+
'false' => [false],
60+
];
61+
}
62+
63+
/**
64+
* @test
65+
*
66+
* @dataProvider provideBooleans
67+
*/
68+
public function setRGBHashNotationSetsRGBHashNotation(bool $value): void
69+
{
70+
$this->subject->setRGBHashNotation($value);
71+
72+
self::assertSame($value, $this->subject->getRGBHashNotation());
73+
}
74+
75+
/**
76+
* @test
77+
*/
78+
public function getSemicolonAfterLastRuleInitiallyReturnsTrue(): void
79+
{
80+
self::assertTrue($this->subject->getSemicolonAfterLastRule());
81+
}
82+
83+
/**
84+
* @test
85+
*
86+
* @dataProvider provideBooleans
87+
*/
88+
public function setSemicolonAfterLastRuleSetsSemicolonAfterLastRule(bool $value): void
89+
{
90+
$this->subject->setSemicolonAfterLastRule($value);
91+
92+
self::assertSame($value, $this->subject->getSemicolonAfterLastRule());
93+
}
94+
95+
/**
96+
* @test
97+
*/
98+
public function getSpaceAfterRuleNameInitiallyReturnsSingleSpace(): void
99+
{
100+
self::assertSame(' ', $this->subject->getSpaceAfterRuleName());
101+
}
102+
103+
/**
104+
* @test
105+
*/
106+
public function setSpaceAfterRuleNameSetsSpaceAfterRuleName(): void
107+
{
108+
$value = ' ';
109+
$this->subject->setSpaceAfterRuleName($value);
110+
111+
self::assertSame($value, $this->subject->getSpaceAfterRuleName());
112+
}
113+
114+
/**
115+
* @test
116+
*/
117+
public function getSpaceBeforeRulesInitiallyReturnsEmptyString(): void
118+
{
119+
self::assertSame('', $this->subject->getSpaceBeforeRules());
120+
}
121+
122+
/**
123+
* @test
124+
*/
125+
public function setSpaceBeforeRulesSetsSpaceBeforeRules(): void
126+
{
127+
$value = ' ';
128+
$this->subject->setSpaceBeforeRules($value);
129+
130+
self::assertSame($value, $this->subject->getSpaceBeforeRules());
131+
}
132+
133+
/**
134+
* @test
135+
*/
136+
public function getSpaceAfterRulesInitiallyReturnsEmptyString(): void
137+
{
138+
self::assertSame('', $this->subject->getSpaceAfterRules());
139+
}
140+
141+
/**
142+
* @test
143+
*/
144+
public function setSpaceAfterRulesSetsSpaceAfterRules(): void
145+
{
146+
$value = ' ';
147+
$this->subject->setSpaceAfterRules($value);
148+
149+
self::assertSame($value, $this->subject->getSpaceAfterRules());
150+
}
151+
152+
/**
153+
* @test
154+
*/
155+
public function getSpaceBetweenRulesInitiallyReturnsEmptyString(): void
156+
{
157+
self::assertSame('', $this->subject->getSpaceBetweenRules());
158+
}
159+
160+
/**
161+
* @test
162+
*/
163+
public function setSpaceBetweenRulesSetsSpaceBetweenRules(): void
164+
{
165+
$value = ' ';
166+
$this->subject->setSpaceBetweenRules($value);
167+
168+
self::assertSame($value, $this->subject->getSpaceBetweenRules());
169+
}
170+
171+
/**
172+
* @test
173+
*/
174+
public function getSpaceBeforeBlocksInitiallyReturnsEmptyString(): void
175+
{
176+
self::assertSame('', $this->subject->getSpaceBeforeBlocks());
177+
}
178+
179+
/**
180+
* @test
181+
*/
182+
public function setSpaceBeforeBlocksSetsSpaceBeforeBlocks(): void
183+
{
184+
$value = ' ';
185+
$this->subject->setSpaceBeforeBlocks($value);
186+
187+
self::assertSame($value, $this->subject->getSpaceBeforeBlocks());
188+
}
189+
190+
/**
191+
* @test
192+
*/
193+
public function getSpaceAfterBlocksInitiallyReturnsEmptyString(): void
194+
{
195+
self::assertSame('', $this->subject->getSpaceAfterBlocks());
196+
}
197+
198+
/**
199+
* @test
200+
*/
201+
public function setSpaceAfterBlocksSetsSpaceAfterBlocks(): void
202+
{
203+
$value = ' ';
204+
$this->subject->setSpaceAfterBlocks($value);
205+
206+
self::assertSame($value, $this->subject->getSpaceAfterBlocks());
207+
}
208+
209+
/**
210+
* @test
211+
*/
212+
public function getSpaceBetweenBlocksInitiallyReturnsNewline(): void
213+
{
214+
self::assertSame("\n", $this->subject->getSpaceBetweenBlocks());
215+
}
216+
217+
/**
218+
* @test
219+
*/
220+
public function setSpaceBetweenBlocksSetsSpaceBetweenBlocks(): void
221+
{
222+
$value = ' ';
223+
$this->subject->setSpaceBetweenBlocks($value);
224+
225+
self::assertSame($value, $this->subject->getSpaceBetweenBlocks());
226+
}
227+
}

0 commit comments

Comments
 (0)