From c62365adc4488e1c35a8f45ea86f7d4a22bd58a0 Mon Sep 17 00:00:00 2001
From: Emanuil Rusev
Date: Fri, 26 Sep 2014 02:04:25 +0300
Subject: [PATCH] improve extensibility of test case
---
phpunit.xml.dist | 2 +-
test/ParsedownTest.php | 133 +++++++++++++++++++++++++++++++++++++++++
test/Test.php | 107 ---------------------------------
3 files changed, 134 insertions(+), 108 deletions(-)
create mode 100644 test/ParsedownTest.php
delete mode 100644 test/Test.php
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 875167a..b2d5e9d 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -2,7 +2,7 @@
- test/Test.php
+ test/ParsedownTest.php
\ No newline at end of file
diff --git a/test/ParsedownTest.php b/test/ParsedownTest.php
new file mode 100644
index 0000000..3763372
--- /dev/null
+++ b/test/ParsedownTest.php
@@ -0,0 +1,133 @@
+dirs = $this->initDirs();
+ $this->Parsedown = $this->initParsedown();
+
+ parent::__construct($name, $data, $dataName);
+ }
+
+ private $dirs, $Parsedown;
+
+ /**
+ * @return array
+ */
+ protected function initDirs()
+ {
+ $dirs []= dirname(__FILE__).'/data/';
+
+ return $dirs;
+ }
+
+ /**
+ * @return Parsedown
+ */
+ protected function initParsedown()
+ {
+ $Parsedown = new Parsedown();
+
+ return $Parsedown;
+ }
+
+ /**
+ * @dataProvider data
+ * @param $test
+ * @param $dir
+ */
+ function test_($test, $dir)
+ {
+ $markdown = file_get_contents($dir . $test . '.md');
+
+ $expectedMarkup = file_get_contents($dir . $test . '.html');
+
+ $expectedMarkup = str_replace("\r\n", "\n", $expectedMarkup);
+ $expectedMarkup = str_replace("\r", "\n", $expectedMarkup);
+
+ $actualMarkup = $this->Parsedown->text($markdown);
+
+ $this->assertEquals($expectedMarkup, $actualMarkup);
+ }
+
+ function data()
+ {
+ $data = array();
+
+ foreach ($this->dirs as $dir)
+ {
+ $Folder = new DirectoryIterator($dir);
+
+ foreach ($Folder as $File)
+ {
+ /** @var $File DirectoryIterator */
+
+ if ( ! $File->isFile())
+ {
+ continue;
+ }
+
+ $filename = $File->getFilename();
+
+ $extension = pathinfo($filename, PATHINFO_EXTENSION);
+
+ if ($extension !== 'md')
+ {
+ continue;
+ }
+
+ $basename = $File->getBasename('.md');
+
+ if (file_exists($dir . $basename . '.html'))
+ {
+ $data []= array($basename, $dir);
+ }
+ }
+ }
+
+ return $data;
+ }
+
+ public function test_no_markup()
+ {
+ $markdownWithHtml = <<_content_
+
+sparse:
+
+
+
+paragraph
+
+
+MARKDOWN_WITH_MARKUP;
+
+ $expectedHtml = <<<div>content</div>
+sparse:
+<div>
+<div class="inner">
+content
+</div>
+</div>
+paragraph
+<style type="text/css">
+p {
+ color: red;
+}
+</style>
+EXPECTED_HTML;
+ $parsedownWithNoMarkup = new Parsedown();
+ $parsedownWithNoMarkup->setMarkupEscaped(true);
+ $this->assertEquals($expectedHtml, $parsedownWithNoMarkup->text($markdownWithHtml));
+ }
+}
diff --git a/test/Test.php b/test/Test.php
deleted file mode 100644
index c0818a9..0000000
--- a/test/Test.php
+++ /dev/null
@@ -1,107 +0,0 @@
-dataDir = dirname(__FILE__).'/data/';
-
- parent::__construct($name, $data, $dataName);
- }
-
- private $dataDir;
-
- /**
- * @dataProvider data
- */
- function test_($filename)
- {
- $markdown = file_get_contents($this->dataDir . $filename . '.md');
-
- $expectedMarkup = file_get_contents($this->dataDir . $filename . '.html');
-
- $expectedMarkup = str_replace("\r\n", "\n", $expectedMarkup);
- $expectedMarkup = str_replace("\r", "\n", $expectedMarkup);
-
- $actualMarkup = Parsedown::instance()->text($markdown);
-
- $this->assertEquals($expectedMarkup, $actualMarkup);
- }
-
- function data()
- {
- $data = array();
-
- $Folder = new DirectoryIterator($this->dataDir);
-
- foreach ($Folder as $File)
- {
- /** @var $File DirectoryIterator */
-
- if ( ! $File->isFile())
- {
- continue;
- }
-
- $filename = $File->getFilename();
-
- $extension = pathinfo($filename, PATHINFO_EXTENSION);
-
- if ($extension !== 'md')
- {
- continue;
- }
-
- $basename = $File->getBasename('.md');
-
- if (file_exists($this->dataDir . $basename . '.html'))
- {
- $data []= array($basename);
- }
- }
-
- return $data;
- }
-
- public function test_no_markup()
- {
- $markdownWithHtml = <<_content_
-
-sparse:
-
-
-
-paragraph
-
-
-MARKDOWN_WITH_MARKUP;
-
- $expectedHtml = <<<div>content</div>
-sparse:
-<div>
-<div class="inner">
-content
-</div>
-</div>
-paragraph
-<style type="text/css">
-p {
- color: red;
-}
-</style>
-EXPECTED_HTML;
- $parsedownWithNoMarkup = new Parsedown();
- $parsedownWithNoMarkup->setMarkupEscaped(true);
- $this->assertEquals($expectedHtml, $parsedownWithNoMarkup->text($markdownWithHtml));
- }
-}