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;
         }
     }
 }