FrontMatterLeagueCommonMarkExtensionTest::setUp()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/*
4
 * This is part of the webuni/front-matter package.
5
 *
6
 * (c) Martin Hasoň <[email protected]>
7
 * (c) Webuni s.r.o. <[email protected]>
8
 *
9
 * For the full copyright and license information, please view the LICENSE
10
 * file that was distributed with this source code.
11
 */
12
13
namespace Webuni\FrontMatter\Tests\Markdown;
14
15
use League\CommonMark\CommonMarkConverter;
16
use League\CommonMark\DocParser;
17
use League\CommonMark\Environment;
18
use League\CommonMark\HtmlRenderer;
19
use PHPUnit\Framework\TestCase;
20
use Webuni\FrontMatter\FrontMatter;
21
use Webuni\FrontMatter\Markdown\FrontMatterLeagueCommonMarkExtension;
22
23
class FrontMatterLeagueCommonMarkExtensionTest extends TestCase
24
{
25
    private $environment;
26
27
    protected function setUp(): void
28
    {
29
        $this->environment = $environment = Environment::createCommonMarkEnvironment();
30
        $environment->addExtension(new FrontMatterLeagueCommonMarkExtension(FrontMatter::createYaml()));
31
    }
32
33
    /**
34
     * @dataProvider getData
35
     */
36
    public function testConvert($markdown, $html, $data): void
37
    {
38
        $parser = new DocParser($this->environment);
39
        $renderer = new HtmlRenderer($this->environment);
40
41
        $documentAST = $parser->parse($markdown);
42
43
        $this->assertEquals($data, $documentAST->data);
44
        $this->assertEquals($html, $renderer->renderBlock($documentAST));
45
    }
46
47
    public function getData(): array
48
    {
49
        return [
50
            ["---\nfoo: bar\n---\nHead\n====\n", "<h1>Head</h1>\n", ['foo' => 'bar']],
51
        ];
52
    }
53
}
54