<?php
declare(strict_types=1);
namespace Sabberworm\CSS\Tests\Unit\RuleSet;
use PHPUnit\Framework\TestCase;
use Sabberworm\CSS\CSSList\CSSListItem;
use Sabberworm\CSS\Property\Declaration;
use Sabberworm\CSS\RuleSet\AtRuleSet;
* @covers \Sabberworm\CSS\RuleSet\AtRuleSet
*/
final class AtRuleSetTest extends TestCase
{
* @var AtRuleSet
*/
private $subject;
protected function setUp(): void
{
$this->subject = new AtRuleSet('supports');
}
* @test
*/
public function implementsCSSListItem(): void
{
self::assertInstanceOf(CSSListItem::class, $this->subject);
}
* @test
*/
public function getArrayRepresentationIncludesClassName(): void
{
$subject = new AtRuleSet('supports');
$result = $subject->getArrayRepresentation();
self::assertSame('AtRuleSet', $result['class']);
}
* @test
*/
public function getArrayRepresentationIncludesDeclarations(): void
{
$subject = new AtRuleSet('supports');
$subject->addDeclaration(new Declaration('display'));
$subject->addDeclaration(new Declaration('transform-origin'));
$result = $subject->getArrayRepresentation();
self::assertSame(
[
'display' => [
[
'class' => 'Declaration',
'propertyName' => 'display',
'propertyValue' => null,
'important' => false,
],
],
'transform-origin' => [
[
'class' => 'Declaration',
'propertyName' => 'transform-origin',
'propertyValue' => null,
'important' => false,
],
],
],
$result['declarations']
);
}
* @test
*/
public function getArrayRepresentationIncludesAtRuleName(): void
{
$atRuleName = 'supports';
$subject = new AtRuleSet($atRuleName);
$result = $subject->getArrayRepresentation();
self::assertSame($atRuleName, $result['atRuleName']);
}
* @test
*/
public function getArrayRepresentationIncludesArguments(): void
{
$arguments = 'foo';
$subject = new AtRuleSet('supports', $arguments);
$result = $subject->getArrayRepresentation();
self::assertSame($arguments, $result['arguments']);
}
}