public function testGetFileExtensions() { $factory = new RdfWriterFactory(); foreach ($factory->getSupportedFormats() as $format) { $extension = $factory->getFileExtension($format); $this->assertInternalType('string', $extension); } }
/** * Initializes the internal mapping of MIME types and file extensions to format names. */ private function initFormats() { if ($this->mimeTypes !== null && $this->fileExtensions !== null) { return; } $this->mimeTypes = array(); $this->fileExtensions = array(); $api = $this->newApiMain("dummy"); $formatNames = $api->getModuleManager()->getNames('format'); foreach ($formatNames as $name) { if ($this->formatWhiteList !== null && !in_array($name, $this->formatWhiteList)) { continue; } $mimes = self::getApiMimeTypes($name); $ext = self::getApiFormatName($name); foreach ($mimes as $mime) { if (!isset($this->mimeTypes[$mime])) { $this->mimeTypes[$mime] = $name; } } $this->fileExtensions[$ext] = $name; } $formats = $this->rdfWriterFactory->getSupportedFormats(); foreach ($formats as $name) { // check whitelist, and don't override API formats if ($this->formatWhiteList !== null && !in_array($name, $this->formatWhiteList) || in_array($name, $this->mimeTypes) || in_array($name, $this->fileExtensions)) { continue; } // use all mime types. to improve content negotiation foreach ($this->rdfWriterFactory->getMimeTypes($name) as $mime) { if (!isset($this->mimeTypes[$mime])) { $this->mimeTypes[$mime] = $name; } } // only one file extension, to keep purging simple $ext = $this->rdfWriterFactory->getFileExtension($name); if (!isset($this->fileExtensions[$ext])) { $this->fileExtensions[$ext] = $name; } } }