From 222501125299c68a85ad0c5dd89b42fddb62fc65 Mon Sep 17 00:00:00 2001 From: Yusuf Kandemir Date: Mon, 12 Nov 2018 11:30:42 +0300 Subject: [PATCH] Added tests for output methods --- src/MicrodataParser.php | 2 +- tests/MicrodataParserTest.php | 48 +++++++++++++++++++++++++++-------- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/MicrodataParser.php b/src/MicrodataParser.php index a62ea89..6ee7213 100644 --- a/src/MicrodataParser.php +++ b/src/MicrodataParser.php @@ -30,7 +30,7 @@ class MicrodataParser return json_encode($this->extractMicrodata(), $options, $depth); } - public function extractMicrodata() + protected function extractMicrodata() { $result = new \stdClass; diff --git a/tests/MicrodataParserTest.php b/tests/MicrodataParserTest.php index 8939d53..22caeb9 100644 --- a/tests/MicrodataParserTest.php +++ b/tests/MicrodataParserTest.php @@ -11,20 +11,48 @@ class MicrodataParserTest extends \PHPUnit\Framework\TestCase libxml_use_internal_errors(true); // Ignore warnings of DOMDocument::loadHTML check } - /** - * @dataProvider data - */ - public function testExtractData($data) - { + protected function getParser($data) { $dom = new \DOMDocument; $dom->loadHTML($data['source']); $dom->documentURI = $data['uri']; - $parser = new MicrodataParser($dom); + return new MicrodataParser($dom); + } - $result = $parser->extractMicrodata(); + /** + * @dataProvider data + */ + public function testToObject($data) + { + $parser = $this->getParser($data); - $this->assertEquals($data['result'], $result); + $result = $parser->toObject(); + + $this->assertEquals(json_decode($data['result']), $result); + } + + /** + * @dataProvider data + */ + public function testToArray($data) + { + $parser = $this->getParser($data); + + $result = $parser->toArray(); + + $this->assertEquals(json_decode($data['result'], true), $result); + } + + /** + * @dataProvider data + */ + public function testToJSON($data) + { + $parser = $this->getParser($data); + + $result = $parser->toJSON(); + + $this->assertJsonStringEqualsJsonString($data['result'], $result); } /** @@ -55,8 +83,8 @@ class MicrodataParserTest extends \PHPUnit\Framework\TestCase return [ 'uri' => $uri, - 'source' => $source, - 'result' => json_decode($result), + 'source' => $source, // HTML String + 'result' => $result, // JSON String ]; } }