From daa8efa0fa0548e9096410d911128bf3e71e678b Mon Sep 17 00:00:00 2001 From: Yusuf Kandemir Date: Mon, 12 Nov 2018 15:25:04 +0300 Subject: [PATCH] Added Microdata class and test Microdata class allows creating MicrodataParser from different sources. --- src/Microdata.php | 29 +++++++++++++++++++++++++++++ tests/MicrodataTest.php | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 src/Microdata.php create mode 100644 tests/MicrodataTest.php diff --git a/src/Microdata.php b/src/Microdata.php new file mode 100644 index 0000000..9ddc975 --- /dev/null +++ b/src/Microdata.php @@ -0,0 +1,29 @@ +loadHTML($html, LIBXML_NOERROR); + $dom->documentURI = $documentURI; + + return new MicrodataParser($dom); + } + + public static function fromHTMLFile($filename, $documentURI = '') + { + $dom = new \DOMDocument; + $dom->loadHTMLFile($filename); + $dom->documentURI = $documentURI; + + return new MicrodataParser($dom); + } + + public static function fromDOMDocument(\DOMDocument $dom) + { + return new MicrodataParser($dom); + } +} diff --git a/tests/MicrodataTest.php b/tests/MicrodataTest.php new file mode 100644 index 0000000..066dc74 --- /dev/null +++ b/tests/MicrodataTest.php @@ -0,0 +1,36 @@ +htmlFileName); + $microdata = Microdata::fromHTML($html); + + $this->assertInstanceOf(MicrodataParser::class, $microdata); + } + + public function testFromHTMLFile() + { + $microdata = Microdata::fromHTMLFile($this->htmlFileName); + + $this->assertInstanceOf(MicrodataParser::class, $microdata); + } + + public function testFromDOMDocument() + { + $dom = new \DOMDocument; + $dom->loadHTMLFile($this->htmlFileName); + + $microdata = Microdata::fromDOMDocument($dom); + + $this->assertInstanceOf(MicrodataParser::class, $microdata); + } +}