From 04816a99447e4c9b13a9d0d7d7c6aa8fcfb4f0fa Mon Sep 17 00:00:00 2001 From: Aidan Woods Date: Sun, 20 Jan 2019 02:56:19 +0000 Subject: [PATCH] Adjust tests for new API Remove tests that test old core and extension features Comment out test for no markup independent of safe mode --- tests/ParsedownTest.php | 156 +++++++++++++--------------------------- tests/TestParsedown.php | 13 ---- 2 files changed, 49 insertions(+), 120 deletions(-) delete mode 100644 tests/TestParsedown.php diff --git a/tests/ParsedownTest.php b/tests/ParsedownTest.php index 72f824d..f2941de 100755 --- a/tests/ParsedownTest.php +++ b/tests/ParsedownTest.php @@ -2,7 +2,10 @@ namespace Erusev\Parsedown\Tests; +use Erusev\Parsedown\Configurables\SafeMode; +use Erusev\Parsedown\Configurables\StrictMode; use Erusev\Parsedown\Parsedown; +use Erusev\Parsedown\State; use PHPUnit\Framework\TestCase; class ParsedownTest extends TestCase @@ -10,7 +13,6 @@ class ParsedownTest extends TestCase final public function __construct($name = null, array $data = [], $dataName = '') { $this->dirs = $this->initDirs(); - $this->Parsedown = $this->initParsedown(); parent::__construct($name, $data, $dataName); } @@ -28,16 +30,6 @@ class ParsedownTest extends TestCase return $dirs; } - /** - * @return Parsedown - */ - protected function initParsedown() - { - $Parsedown = new TestParsedown(); - - return $Parsedown; - } - /** * @dataProvider data * @param $test @@ -52,48 +44,16 @@ class ParsedownTest extends TestCase $expectedMarkup = \str_replace("\r\n", "\n", $expectedMarkup); $expectedMarkup = \str_replace("\r", "\n", $expectedMarkup); - $this->Parsedown->setSafeMode(\substr($test, 0, 3) === 'xss'); - $this->Parsedown->setStrictMode(\substr($test, 0, 6) === 'strict'); + $Parsedown = new Parsedown(new State([ + new SafeMode(\substr($test, 0, 3) === 'xss'), + new StrictMode(\substr($test, 0, 6) === 'strict'), + ])); - $actualMarkup = $this->Parsedown->text($markdown); + $actualMarkup = $Parsedown->text($markdown); $this->assertEquals($expectedMarkup, $actualMarkup); } - public function testRawHtml() - { - $markdown = "```php\nfoobar\n```"; - $expectedMarkup = '

foobar

'; - $expectedSafeMarkup = '
<p>foobar</p>
'; - - $unsafeExtension = new SampleExtensions\UnsafeExtension; - $actualMarkup = $unsafeExtension->text($markdown); - - $this->assertEquals($expectedMarkup, $actualMarkup); - - $unsafeExtension->setSafeMode(true); - $actualSafeMarkup = $unsafeExtension->text($markdown); - - $this->assertEquals($expectedSafeMarkup, $actualSafeMarkup); - } - - public function testTrustDelegatedRawHtml() - { - $markdown = "```php\nfoobar\n```"; - $expectedMarkup = '

foobar

'; - $expectedSafeMarkup = $expectedMarkup; - - $unsafeExtension = new SampleExtensions\TrustDelegatedExtension; - $actualMarkup = $unsafeExtension->text($markdown); - - $this->assertEquals($expectedMarkup, $actualMarkup); - - $unsafeExtension->setSafeMode(true); - $actualSafeMarkup = $unsafeExtension->text($markdown); - - $this->assertEquals($expectedSafeMarkup, $actualSafeMarkup); - } - public function data() { $data = []; @@ -127,70 +87,52 @@ class ParsedownTest extends TestCase return $data; } - public function test_no_markup() - { - $markdownWithHtml = <<_content_ +// public function test_no_markup() +// { +// $markdownWithHtml = <<_content_ -sparse: +// sparse: -
-
-_content_ -
-
+//
+//
+// _content_ +//
+//
-paragraph +// paragraph - +// -comment +// comment - -MARKDOWN_WITH_MARKUP; +// +// MARKDOWN_WITH_MARKUP; - $expectedHtml = <<<div>content</div>

-

sparse:

-

<div> -<div class="inner"> -content -</div> -</div>

-

paragraph

-

<style type="text/css"> -p { -color: red; -} -</style>

-

comment

-

<!-- html comment -->

-EXPECTED_HTML; - - $parsedownWithNoMarkup = new TestParsedown(); - $parsedownWithNoMarkup->setMarkupEscaped(true); - $this->assertEquals($expectedHtml, $parsedownWithNoMarkup->text($markdownWithHtml)); - } - - public function testLateStaticBinding() - { - $parsedown = Parsedown::instance(); - $this->assertInstanceOf('Erusev\Parsedown\Parsedown', $parsedown); - - // After instance is already called on Parsedown - // subsequent calls with the same arguments return the same instance - $sameParsedown = TestParsedown::instance(); - $this->assertInstanceOf('Erusev\Parsedown\Parsedown', $sameParsedown); - $this->assertSame($parsedown, $sameParsedown); - - $testParsedown = TestParsedown::instance('test late static binding'); - $this->assertInstanceOf('Erusev\Parsedown\Parsedown', $testParsedown); - - $sameInstanceAgain = TestParsedown::instance('test late static binding'); - $this->assertSame($testParsedown, $sameInstanceAgain); - } +// $expectedHtml = <<<div>content</div>

+//

sparse:

+//

<div> +// <div class="inner"> +// content +// </div> +// </div>

+//

paragraph

+//

<style type="text/css"> +// p { +// color: red; +// } +// </style>

+//

comment

+//

<!-- html comment -->

+// EXPECTED_HTML; + +// $parsedownWithNoMarkup = new TestParsedown(); +// $parsedownWithNoMarkup->setMarkupEscaped(true); +// $this->assertEquals($expectedHtml, $parsedownWithNoMarkup->text($markdownWithHtml)); +// } } diff --git a/tests/TestParsedown.php b/tests/TestParsedown.php deleted file mode 100644 index 786077e..0000000 --- a/tests/TestParsedown.php +++ /dev/null @@ -1,13 +0,0 @@ -textLevelElements; - } -}