Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/vendor/cebe/markdown/tests/ |
Upload File : |
<?php /** * @copyright Copyright (c) 2014 Carsten Brandt * @license https://github.com/cebe/markdown/blob/master/LICENSE * @link https://github.com/cebe/markdown#readme */ namespace cebe\markdown\tests; use cebe\markdown\Parser; /** * Base class for all Test cases. * * @author Carsten Brandt <mail@cebe.cc> */ abstract class BaseMarkdownTest extends \PHPUnit_Framework_TestCase { protected $outputFileExtension = '.html'; abstract public function getDataPaths(); /** * @return Parser */ abstract public function createMarkdown(); /** * @dataProvider dataFiles */ public function testParse($path, $file) { list($markdown, $html) = $this->getTestData($path, $file); // Different OS line endings should not affect test $html = str_replace(["\r\n", "\n\r", "\r"], "\n", $html); $m = $this->createMarkdown(); $this->assertEquals($html, $m->parse($markdown)); } public function testUtf8() { $this->assertSame("<p>абвгдеёжзийклмнопрстуфхцчшщъыьэюя</p>\n", $this->createMarkdown()->parse('абвгдеёжзийклмнопрстуфхцчшщъыьэюя')); $this->assertSame("<p>there is a charater, 配</p>\n", $this->createMarkdown()->parse('there is a charater, 配')); $this->assertSame("<p>Arabic Latter \"م (M)\"</p>\n", $this->createMarkdown()->parse('Arabic Latter "م (M)"')); $this->assertSame("<p>電腦</p>\n", $this->createMarkdown()->parse('電腦')); $this->assertSame('абвгдеёжзийклмнопрстуфхцчшщъыьэюя', $this->createMarkdown()->parseParagraph('абвгдеёжзийклмнопрстуфхцчшщъыьэюя')); $this->assertSame('there is a charater, 配', $this->createMarkdown()->parseParagraph('there is a charater, 配')); $this->assertSame('Arabic Latter "م (M)"', $this->createMarkdown()->parseParagraph('Arabic Latter "م (M)"')); $this->assertSame('電腦', $this->createMarkdown()->parseParagraph('電腦')); } public function testInvalidUtf8() { $m = $this->createMarkdown(); $this->assertEquals("<p><code>�</code></p>\n", $m->parse("`\x80`")); $this->assertEquals('<code>�</code>', $m->parseParagraph("`\x80`")); } public function pregData() { // http://en.wikipedia.org/wiki/Newline#Representations return [ ["a\r\nb", "a\nb"], ["a\n\rb", "a\nb"], // Acorn BBC and RISC OS spooled text output :) ["a\nb", "a\nb"], ["a\rb", "a\nb"], ["a\n\nb", "a\n\nb", "a</p>\n<p>b"], ["a\r\rb", "a\n\nb", "a</p>\n<p>b"], ["a\n\r\n\rb", "a\n\nb", "a</p>\n<p>b"], // Acorn BBC and RISC OS spooled text output :) ["a\r\n\r\nb", "a\n\nb", "a</p>\n<p>b"], ]; } /** * @dataProvider pregData */ public function testPregReplaceR($input, $exptected, $pexpect = null) { $this->assertSame($exptected, $this->createMarkdown()->parseParagraph($input)); $this->assertSame($pexpect === null ? "<p>$exptected</p>\n" : "<p>$pexpect</p>\n", $this->createMarkdown()->parse($input)); } public function getTestData($path, $file) { return [ file_get_contents($this->getDataPaths()[$path] . '/' . $file . '.md'), file_get_contents($this->getDataPaths()[$path] . '/' . $file . $this->outputFileExtension), ]; } public function dataFiles() { $files = []; foreach ($this->getDataPaths() as $name => $src) { $handle = opendir($src); if ($handle === false) { throw new \Exception('Unable to open directory: ' . $src); } while (($file = readdir($handle)) !== false) { if ($file === '.' || $file === '..') { continue; } if (substr($file, -3, 3) === '.md' && file_exists($src . '/' . substr($file, 0, -3) . $this->outputFileExtension)) { $files[] = [$name, substr($file, 0, -3)]; } } closedir($handle); } return $files; } }