loadHTML($data['source']); $dom->documentURI = $data['uri']; $parser = new MicrodataParser($dom); $result = $parser->extractMicrodata(); $this->assertEquals($data['result'], $result); } /** * @todo Provide more test data */ public function data() { return [ // https://www.w3.org/TR/microdata/#ex-jsonconv 'W3C Example' => [ $this->getTestData('W3C', 'source.html', 'result.json') ], ]; } private function getTestData($folderName, $sourceName, $resultName) { $folderPath = __DIR__.'/data/'.$folderName.'/'; $source = file_get_contents($folderPath . $sourceName); $result = file_get_contents($folderPath . $resultName); $uri = ''; // Set $uri if URI specified in test data if (preg_match('//', $source, $matches)) { $uri = $matches[1]; } return [ 'uri' => $uri, 'source' => $source, 'result' => json_decode($result), ]; } }