diff --git a/src/Extension/InlinesOnly/InlinesOnlyExtension.php b/src/Extension/InlinesOnly/InlinesOnlyExtension.php index 7777510..f85fad5 100644 --- a/src/Extension/InlinesOnly/InlinesOnlyExtension.php +++ b/src/Extension/InlinesOnly/InlinesOnlyExtension.php @@ -30,6 +30,7 @@ final class InlinesOnlyExtension implements ConfigurableExtensionInterface 'use_underscore' => Expect::bool(true), 'enable_strong' => Expect::bool(true), 'enable_em' => Expect::bool(true), + 'unordered_list_markers' => Expect::listOf('string')->min(1)->default(['*', '+', '-'])->mergeDefaults(false), ])); } diff --git a/tests/functional/Extension/InlinesOnly/InlinesOnlyFunctionalTest.php b/tests/functional/Extension/InlinesOnly/InlinesOnlyFunctionalTest.php index 8b06183..60b55a3 100644 --- a/tests/functional/Extension/InlinesOnly/InlinesOnlyFunctionalTest.php +++ b/tests/functional/Extension/InlinesOnly/InlinesOnlyFunctionalTest.php @@ -64,4 +64,20 @@ final class InlinesOnlyFunctionalTest extends TestCase [$markdown, $html], ]; } + + /** + * InlinesOnlyExtension reuses the shared 'commonmark' config schema, so the + * option must be accepted even though it renders no lists. + * + * @see https://github.com/thephpleague/commonmark/issues/1015 + */ + public function testUnorderedListMarkersConfigIsAccepted(): void + { + $environment = new Environment(['commonmark' => ['unordered_list_markers' => ['*']]]); + $environment->addExtension(new InlinesOnlyExtension()); + $converter = new MarkdownConverter($environment); + + $this->assertSame(['*'], $environment->getConfiguration()->get('commonmark/unordered_list_markers')); + $this->assertSame('foo', \trim($converter->convert('*foo*')->getContent())); + } }