SmartPunctExtensionTest.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4. * This file is part of the league/commonmark package.
  5. *
  6. * (c) Colin O'Dell <colinodell@gmail.com>
  7. *
  8. * Original code based on the CommonMark JS reference parser (http://bitly.com/commonmark-js)
  9. * - (c) John MacFarlane
  10. *
  11. * For the full copyright and license information, please view the LICENSE
  12. * file that was distributed with this source code.
  13. */
  14. namespace League\CommonMark\Tests\Unit\Extension\SmartPunct;
  15. use League\CommonMark\Environment\Environment;
  16. use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
  17. use League\CommonMark\Extension\SmartPunct\SmartPunctExtension;
  18. use League\CommonMark\MarkdownConverter;
  19. use PHPUnit\Framework\TestCase;
  20. /**
  21. * Tests the extension
  22. */
  23. final class SmartPunctExtensionTest extends TestCase
  24. {
  25. public function testDefaultConfiguration(): void
  26. {
  27. $environment = new Environment();
  28. $environment->addExtension(new CommonMarkCoreExtension());
  29. $environment->addExtension(new SmartPunctExtension());
  30. $converter = new MarkdownConverter($environment);
  31. $actualResult = $converter->convert('"double" \'single\'');
  32. $this->assertEquals("<p>“double” ‘single’</p>\n", $actualResult);
  33. }
  34. public function testCustomConfiguration(): void
  35. {
  36. $environment = new Environment([
  37. 'smartpunct' => [
  38. 'double_quote_opener' => '«',
  39. 'double_quote_closer' => '»',
  40. 'single_quote_opener' => '‹',
  41. 'single_quote_closer' => '›',
  42. ],
  43. ]);
  44. $environment->addExtension(new CommonMarkCoreExtension());
  45. $environment->addExtension(new SmartPunctExtension());
  46. $converter = new MarkdownConverter($environment);
  47. $actualResult = $converter->convert('"double" \'single\'');
  48. $this->assertEquals("<p>«double» ‹single›</p>\n", $actualResult);
  49. }
  50. }