tex/src/Document.php

32 lines
631 B
PHP
Raw Normal View History

2022-10-26 16:13:19 +02:00
<?php
namespace Zoomyboy\Tex;
use PHPUnit\Framework\Assert;
abstract class Document
{
2022-10-27 02:26:32 +02:00
abstract public function filename(): string;
abstract public function view(): string;
2022-10-27 16:54:24 +02:00
abstract public function template(): ?Template;
2022-10-27 02:26:32 +02:00
2022-10-27 16:54:24 +02:00
abstract public function getEngine(): Engine;
2022-10-27 02:26:32 +02:00
2022-10-26 16:13:19 +02:00
public function assertHasContent(string $content): void
{
Assert::assertStringContainsString(
$content,
$this->renderBody(),
);
}
2022-10-27 16:54:24 +02:00
public function renderBody(): string
2022-10-26 16:13:19 +02:00
{
2022-10-27 16:54:24 +02:00
return view()
->make($this->view(), get_object_vars($this))
->render();
2022-10-26 16:13:19 +02:00
}
}