* @group github
*/
class GithubMarkdownTest extends BaseMarkdownTest
{
public function createMarkdown()
{
return new GithubMarkdown();
}
public function getDataPaths()
{
return [
'markdown-data' => __DIR__ . '/markdown-data',
'github-data' => __DIR__ . '/github-data',
];
}
public function testNewlines()
{
$markdown = $this->createMarkdown();
$this->assertEquals("This is text
\nnewline\nnewline.", $markdown->parseParagraph("This is text \nnewline\nnewline."));
$markdown->enableNewlines = true;
$this->assertEquals("This is text
\nnewline
\nnewline.", $markdown->parseParagraph("This is text \nnewline\nnewline."));
$this->assertEquals("
This is text
\nnewline
\nnewline.
0
\n", $parser->parse("0")); } public function testAutoLinkLabelingWithEncodedUrl() { $parser = $this->createMarkdown(); $utfText = "\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a"; $utfNaturalUrl = "http://example.com/" . $utfText; $utfEncodedUrl = "http://example.com/" . urlencode($utfText); $eucEncodedUrl = "http://example.com/" . urlencode(mb_convert_encoding($utfText, 'EUC-JP', 'UTF-8')); $this->assertStringEndsWith(">{$utfNaturalUrl}", $parser->parseParagraph($utfNaturalUrl), "Natural UTF-8 URL needs no conversion."); $this->assertStringEndsWith(">{$utfNaturalUrl}", $parser->parseParagraph($utfEncodedUrl), "Encoded UTF-8 URL will be converted to readable format."); $this->assertStringEndsWith(">{$eucEncodedUrl}", $parser->parseParagraph($eucEncodedUrl), "Non UTF-8 URL should never be converted."); // See: \cebe\markdown\inline\UrlLinkTrait::renderAutoUrl } }