DelimiterTest.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. * For the full copyright and license information, please view the LICENSE
  9. * file that was distributed with this source code.
  10. */
  11. namespace League\CommonMark\Tests\Unit\Delimiter;
  12. use League\CommonMark\Delimiter\Delimiter;
  13. use League\CommonMark\Node\Inline\AbstractStringContainer;
  14. use PHPUnit\Framework\TestCase;
  15. final class DelimiterTest extends TestCase
  16. {
  17. public function testConstructorAndGetters(): void
  18. {
  19. $node = $this->createMock(AbstractStringContainer::class);
  20. $delimiter = new Delimiter('*', 2, $node, true, false, null);
  21. $this->assertSame('*', $delimiter->getChar());
  22. $this->assertSame(2, $delimiter->getLength());
  23. $this->assertSame(2, $delimiter->getOriginalLength());
  24. $this->assertSame($node, $delimiter->getInlineNode());
  25. $this->assertTrue($delimiter->canOpen());
  26. $this->assertFalse($delimiter->canClose());
  27. $this->assertNull($delimiter->getIndex());
  28. $delimiter = new Delimiter('_', 1, $node, false, true, 7);
  29. $this->assertSame('_', $delimiter->getChar());
  30. $this->assertSame(1, $delimiter->getLength());
  31. $this->assertSame(1, $delimiter->getOriginalLength());
  32. $this->assertSame($node, $delimiter->getInlineNode());
  33. $this->assertFalse($delimiter->canOpen());
  34. $this->assertTrue($delimiter->canClose());
  35. $this->assertSame(7, $delimiter->getIndex());
  36. }
  37. public function testSetActive(): void
  38. {
  39. $node = $this->createMock(AbstractStringContainer::class);
  40. $delimiter = new Delimiter('*', 2, $node, true, false, null);
  41. $delimiter->setActive(true);
  42. $this->assertTrue($delimiter->isActive());
  43. $delimiter->setActive(false);
  44. $this->assertFalse($delimiter->isActive());
  45. }
  46. public function testSetNext(): void
  47. {
  48. $node = $this->createMock(AbstractStringContainer::class);
  49. $delimiter = new Delimiter('*', 2, $node, true, false, null);
  50. $delimiter->setNext($delimiter);
  51. $this->assertSame($delimiter, $delimiter->getNext());
  52. $delimiter->setNext(null);
  53. $this->assertNull($delimiter->getNext());
  54. }
  55. public function testSetLength(): void
  56. {
  57. $node = $this->createMock(AbstractStringContainer::class);
  58. $delimiter = new Delimiter('*', 2, $node, true, false, null);
  59. $delimiter->setLength(3);
  60. $this->assertSame(3, $delimiter->getLength());
  61. $this->assertSame(2, $delimiter->getOriginalLength());
  62. }
  63. public function testSetPrevious(): void
  64. {
  65. $node = $this->createMock(AbstractStringContainer::class);
  66. $delimiter = new Delimiter('*', 2, $node, true, false, null);
  67. $delimiter->setPrevious($delimiter);
  68. $this->assertSame($delimiter, $delimiter->getPrevious());
  69. $delimiter->setPrevious(null);
  70. $this->assertNull($delimiter->getPrevious());
  71. }
  72. }