diff options
author | Mario <mario@mariovavti.com> | 2019-12-12 14:51:10 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2019-12-12 14:51:10 +0000 |
commit | 544ef3bc588d4180d7ecad15bdacd43813a7c5c5 (patch) | |
tree | 62372d0af859287235f62f20d0cf55b5b5b1ace3 /vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php | |
parent | 124cc4396247c75c14280136cfaa95415860ad4c (diff) | |
download | volse-hubzilla-544ef3bc588d4180d7ecad15bdacd43813a7c5c5.tar.gz volse-hubzilla-544ef3bc588d4180d7ecad15bdacd43813a7c5c5.tar.bz2 volse-hubzilla-544ef3bc588d4180d7ecad15bdacd43813a7c5c5.zip |
update composer libs and minor notifications display fixes
Diffstat (limited to 'vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php')
-rw-r--r-- | vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php b/vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php new file mode 100644 index 000000000..ded3a3d12 --- /dev/null +++ b/vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php @@ -0,0 +1,173 @@ +<?php + +use PHPUnit\Framework\TestCase; +use Michelf\Markdown; +use Michelf\MarkdownExtra; + +class PhpMarkdownTest extends TestCase +{ + /** + * Returns all php-markdown.mdtest tests + * @return array + */ + public function dataProviderForPhpMarkdown() { + $dir = TEST_RESOURCES_ROOT . '/php-markdown.mdtest'; + return MarkdownTestHelper::getInputOutputPaths($dir); + } + + /** + * Runs php-markdown.mdtest against Markdown::defaultTransform + * + * @dataProvider dataProviderForPhpMarkdown + * + * @param string $inputPath Input markdown path + * @param string $htmlPath File path of expected transformed output (X)HTML + * + * @param bool $xhtml True if XHTML. Otherwise, HTML is assumed. + * + * @return void + */ + public function testTransformingOfPhpMarkdown($inputPath, $htmlPath, $xhtml = false) { + $inputMarkdown = file_get_contents($inputPath); + $expectedHtml = file_get_contents($htmlPath); + $result = Markdown::defaultTransform($inputMarkdown); + + MarkdownTestHelper::assertSameNormalized( + $expectedHtml, + $result, + "Markdown in $inputPath converts exactly to expected $htmlPath", + $xhtml + ); + } + + /** + * Returns all php-markdown.mdtest tests EXCEPT Emphasis test. + * @return array + */ + public function dataProviderForPhpMarkdownExceptEmphasis() + { + $dir = TEST_RESOURCES_ROOT . '/php-markdown.mdtest'; + $allTests = MarkdownTestHelper::getInputOutputPaths($dir); + + foreach ($allTests as $index => $test) { + // Because MarkdownExtra treats underscore emphasis differently, this one test has to be excluded + if (preg_match('~/Emphasis\.text$~', $test[0])) { + unset($allTests[$index]); + } + } + + return array_values($allTests); + } + + /** + * Runs php-markdown.mdtest against MarkdownExtra::defaultTransform + * + * @dataProvider dataProviderForPhpMarkdownExceptEmphasis + * + * @param $inputPath + * @param $htmlPath + * @param bool $xhtml + */ + public function testPhpMarkdownMdTestWithMarkdownExtra($inputPath, $htmlPath, $xhtml = false) + { + $inputMarkdown = file_get_contents($inputPath); + $expectedHtml = file_get_contents($htmlPath); + + $result = MarkdownExtra::defaultTransform($inputMarkdown); + + MarkdownTestHelper::assertSameNormalized( + $expectedHtml, + $result, + "Markdown in $inputPath converts exactly to expected $htmlPath", + $xhtml + ); + } + + /** + * @return array + */ + public function dataProviderForMarkdownExtra() { + $dir = TEST_RESOURCES_ROOT . '/php-markdown-extra.mdtest'; + return MarkdownTestHelper::getInputOutputPaths($dir); + } + + /** + * @dataProvider dataProviderForMarkdownExtra + * + * @param string $inputPath Input markdown path + * @param string $htmlPath File path of expected transformed output (X)HTML + * + * @param bool $xhtml True if XHTML. Otherwise, HTML is assumed. + * + * @return void + */ + public function testTransformingOfMarkdownExtra($inputPath, $htmlPath, $xhtml = false) { + $inputMarkdown = file_get_contents($inputPath); + $expectedHtml = file_get_contents($htmlPath); + $result = MarkdownExtra::defaultTransform($inputMarkdown); + + MarkdownTestHelper::assertSameNormalized( + $expectedHtml, + $result, + "Markdown in $inputPath converts exactly to expected $htmlPath", + $xhtml + ); + } + + /** + * @return array + */ + public function dataProviderForRegularMarkdown() + { + $dir = TEST_RESOURCES_ROOT . '/markdown.mdtest'; + return MarkdownTestHelper::getInputOutputPaths($dir); + } + + /** + * @dataProvider dataProviderForRegularMarkdown + * + * @param string $inputPath Input markdown path + * @param string $htmlPath File path of expected transformed output (X)HTML + * + * @param bool $xhtml True if XHTML. Otherwise, HTML is assumed. + * + * @return void + */ + public function testTransformingOfRegularMarkdown($inputPath, $htmlPath, $xhtml = false) + { + $inputMarkdown = file_get_contents($inputPath); + $expectedHtml = file_get_contents($htmlPath); + $result = Markdown::defaultTransform($inputMarkdown); + + MarkdownTestHelper::assertSameNormalized( + $expectedHtml, + $result, + "Markdown in $inputPath converts exactly to expected $htmlPath", + $xhtml + ); + } + + /** + * Runs markdown.mdtest against MarkdownExtra::defaultTransform + * + * @dataProvider dataProviderForRegularMarkdown + * + * @param $inputPath + * @param $htmlPath + * @param bool $xhtml + */ + public function testMarkdownMdTestWithMarkdownExtra($inputPath, $htmlPath, $xhtml = false) + { + $inputMarkdown = file_get_contents($inputPath); + $expectedHtml = file_get_contents($htmlPath); + + $result = MarkdownExtra::defaultTransform($inputMarkdown); + + MarkdownTestHelper::assertSameNormalized( + $expectedHtml, + $result, + "Markdown in $inputPath converts exactly to expected $htmlPath", + $xhtml + ); + } +} |