parseString($contents); $this->assertSame('task-123', $document->meta['id']); $this->assertSame('Test Task', $document->meta['title']); $this->assertFalse($document->meta['completed']); $this->assertSame(['alpha', 'beta'], $document->meta['tags']); $this->assertStringContainsString('# Hello', $document->body); } public function testReturnsEmptyMetaWhenNoFrontMatterExists(): void { $contents = <<parseString($contents); $this->assertSame([], $document->meta); $this->assertStringContainsString('# Plain Markdown', $document->body); } public function testRoundTripsUnknownMetaKeys(): void { $document = new FrontMatterDocument( meta: [ 'id' => 'task-456', 'type' => 'task', 'custom_key' => 'custom value', 'nested' => [ 'one' => 'two', ], ], body: "Test body\n\nMore text." ); $parser = new FrontMatterParser(); $dumped = $parser->dump($document); $parsed = $parser->parseString($dumped); $this->assertSame('custom value', $parsed->meta['custom_key']); $this->assertSame(['one' => 'two'], $parsed->meta['nested']); $this->assertSame("Test body\n\nMore text.", $parsed->body); } } // phpcs:enable