123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- declare(strict_types=1);
- /*
- * This file is part of the league/commonmark package.
- *
- * (c) Colin O'Dell <colinodell@gmail.com> and uAfrica.com (http://uafrica.com)
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace League\CommonMark\Tests\Unit\Extension\Strikethrough;
- use League\CommonMark\Exception\InvalidArgumentException;
- use League\CommonMark\Extension\Strikethrough\Strikethrough;
- use League\CommonMark\Extension\Strikethrough\StrikethroughRenderer;
- use League\CommonMark\Node\Inline\Text;
- use League\CommonMark\Tests\Unit\Renderer\FakeChildNodeRenderer;
- use League\CommonMark\Util\HtmlElement;
- use PHPUnit\Framework\TestCase;
- final class StrikethroughRendererTest extends TestCase
- {
- private StrikethroughRenderer $renderer;
- protected function setUp(): void
- {
- $this->renderer = new StrikethroughRenderer();
- }
- public function testRender(): void
- {
- $inline = new Strikethrough('~~');
- $inline->data->set('attributes/id', 'some"&id');
- $fakeRenderer = new FakeChildNodeRenderer();
- $fakeRenderer->pretendChildrenExist();
- $result = $this->renderer->render($inline, $fakeRenderer);
- $this->assertTrue($result instanceof HtmlElement);
- $this->assertEquals('del', $result->getTagName());
- $this->assertStringContainsString('::children::', $result->getContents(true));
- $this->assertEquals(['id' => 'some"&id'], $result->getAllAttributes());
- }
- public function testRenderWithInvalidNodeType(): void
- {
- $this->expectException(InvalidArgumentException::class);
- $inline = new Text('ruh roh');
- $fakeRenderer = new FakeChildNodeRenderer();
- $this->renderer->render($inline, $fakeRenderer);
- }
- }
|