From 6fb534bc34e458b95fc169a71cefd7d7c41abcd2 Mon Sep 17 00:00:00 2001 From: Emanuil Rusev Date: Sat, 29 Nov 2014 21:34:46 +0200 Subject: [PATCH] improve consistency --- test/commonmark/CommonMarkTest.php | 53 +++++++++++++++--------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/test/commonmark/CommonMarkTest.php b/test/commonmark/CommonMarkTest.php index afc61f5..d25b10c 100644 --- a/test/commonmark/CommonMarkTest.php +++ b/test/commonmark/CommonMarkTest.php @@ -12,29 +12,46 @@ class CommonMarkTest extends PHPUnit_Framework_TestCase { const SPEC_URL = 'https://raw.githubusercontent.com/jgm/stmd/master/spec.txt'; - public function getCommonMarkRules() + /** + * @dataProvider data + * @param $markdown + * @param $expectedHtml + */ + function test_($markdown, $expectedHtml) + { + $parsedown = new Parsedown(); + + $actualHtml = $parsedown->text($markdown); + + # trim for better compatibility of the HTML output + $actualHtml = trim($actualHtml); + $expectedHtml = trim($expectedHtml); + + $this->assertEquals($expectedHtml, $actualHtml); + } + + function data() { $spec = file_get_contents(self::SPEC_URL); + $spec = strstr($spec, '', true); $tests = array(); - $testsCount = 0; + $testCount = 0; $currentSection = ''; - $spec = strstr($spec, '', true); - preg_replace_callback( '/^\.\n([\s\S]*?)^\.\n([\s\S]*?)^\.$|^#{1,6} *(.*)$/m', - function($matches) use (&$tests, &$currentSection, &$testsCount) { + function($matches) use ( & $tests, & $currentSection, & $testCount) { if (isset($matches[3]) and $matches[3]) { $currentSection = $matches[3]; } else { - $testsCount++; + $testCount++; $markdown = preg_replace('/→/', "\t", $matches[1]); $tests []= array( - $markdown, // markdown - $matches[2], // html - $currentSection, // section - $testsCount, // number + $markdown, # markdown + $matches[2], # html + $currentSection, # section + $testCount, # number ); } }, @@ -43,20 +60,4 @@ class CommonMarkTest extends PHPUnit_Framework_TestCase return $tests; } - - /** - * @dataProvider getCommonMarkRules - */ - public function testAgainstCommonMark($markdown, $expectedHtml, $section, $number) - { - $parsedown = new Parsedown(); - - $actualHtml = $parsedown->text($markdown); - - // Trim for better compatibility of the HTML output - $actualHtml = trim($actualHtml); - $expectedHtml = trim($expectedHtml); - - $this->assertEquals($expectedHtml, $actualHtml); - } }