<?php namespace Todaymade\Daux\Format\HTML; use Todaymade\Daux\Config as MainConfig; use \Todaymade\Daux\Format\HTML\ContentTypes\Markdown\CommonMarkConverter; class TableOfContentsTest extends \PHPUnit_Framework_TestCase { function testNoTOCByDefault() { $converter = new CommonMarkConverter(['daux' => new MainConfig]); $this->assertEquals("<h1 id=\"page_Test\">Test</h1>\n", $converter->convertToHtml('# Test')); } function testTOCToken() { $converter = new CommonMarkConverter(['daux' => new MainConfig]); $source = "[TOC]\n# Title"; $expected = <<<EXPECTED <ul class="TableOfContents"> <li> <p><a href="#page_Title">Title</a></p> </li> </ul> <h1 id="page_Title">Title</h1> EXPECTED; $this->assertEquals($expected, $converter->convertToHtml($source)); } function testUnicodeTOC() { $converter = new CommonMarkConverter(['daux' => new MainConfig]); $source = "[TOC]\n# 基础操作"; $expected = <<<EXPECTED <ul class="TableOfContents"> <li> <p><a href="#page_%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C">基础操作</a></p> </li> </ul> <h1 id="page_%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C">基础操作</h1> EXPECTED; $this->assertEquals($expected, $converter->convertToHtml($source)); } }