44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace LogseqGem\Tests;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use org\bovigo\vfs\vfsStream;
|
|
use org\bovigo\vfs\vfsStreamDirectory;
|
|
|
|
use LogseqGem\ArticleRender;
|
|
|
|
class ArticleRenderTest extends TestCase {
|
|
private vfsStreamDirectory $root;
|
|
|
|
public function setUp(): void {
|
|
$this->root = vfsStream::setup();
|
|
}
|
|
|
|
public function testRender() {
|
|
$render = new ArticleRender(
|
|
"cool title",
|
|
"my gemtext",
|
|
['date' => '2021-01-01']
|
|
);
|
|
|
|
|
|
$output = $render->render(__DIR__ . "/../templates/article.tpl");
|
|
$this->assertStringContainsString("# cool title\n\n", $output);
|
|
$this->assertStringContainsString("\n\nmy gemtext\n\n", $output);
|
|
$this->assertStringContainsString("\n\n=> /gemlog.gmi", $output);
|
|
}
|
|
|
|
public function testMissingDate() {
|
|
$this->expectException(\Exception::class);
|
|
$this->expectExceptionMessage('no date property');
|
|
|
|
$render = new ArticleRender(
|
|
"cool title",
|
|
"my gemtext",
|
|
);
|
|
}
|
|
}
|