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..79ca2e3 100644 --- a/tests/functional/Extension/InlinesOnly/InlinesOnlyFunctionalTest.php +++ b/tests/functional/Extension/InlinesOnly/InlinesOnlyFunctionalTest.php @@ -64,4 +64,21 @@ final class InlinesOnlyFunctionalTest extends TestCase [$markdown, $html], ]; } + + /** + * The unordered_list_markers option is part of the shared 'commonmark' config + * schema. InlinesOnlyExtension reuses that config key, so setting the option + * must be accepted even though this extension does not render 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())); + } }