Skip to content

Commit

Permalink
Enhancement: Extract named constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
localheinz committed Jul 3, 2023
1 parent 6d5dc33 commit d2a3b0b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
5 changes: 5 additions & 0 deletions src/FrontMatter.php
Expand Up @@ -25,6 +25,11 @@ private function __construct(private readonly array $value)
{
}

public static function empty(): self
{
return new self([]);
}

/**
* @param array<string, mixed> $value
*
Expand Down
4 changes: 2 additions & 2 deletions src/YamlParser.php
Expand Up @@ -29,7 +29,7 @@ public function parse(UnparsedContent $unparsedContent): ParsedContent
{
if (1 !== \preg_match(self::PATTERN, $unparsedContent->toString(), $matches)) {
return ParsedContent::create(
FrontMatter::fromArray([]),
FrontMatter::empty(),
BodyMatter::fromString($unparsedContent->toString()),
);
}
Expand All @@ -40,7 +40,7 @@ public function parse(UnparsedContent $unparsedContent): ParsedContent

if ('' === $rawFrontMatter) {
return ParsedContent::create(
FrontMatter::fromArray([]),
FrontMatter::empty(),
$bodyMatter,
);
}
Expand Down
7 changes: 7 additions & 0 deletions test/Unit/FrontMatterTest.php
Expand Up @@ -25,6 +25,13 @@ final class FrontMatterTest extends Framework\TestCase
{
use Test\Util\Helper;

public function testEmptyReturnsFrontMatter(): void
{
$frontMatter = FrontMatter::empty();

self::assertSame([], $frontMatter->toArray());
}

public function testFromArrayRejectsArrayWhereKeysAreNumeric(): void
{
$value = self::faker()->words();
Expand Down

0 comments on commit d2a3b0b

Please sign in to comment.