/**
  * @NoAdminRequired
  * @NoCSRFRequired
  * @CORS
  *
  * Generates thumbnails
  *
  * @see PreviewController::getThumbnails()
  *
  * @param string $ids the ID of the files of which we need thumbnail previews of
  * @param bool $square
  * @param double $scale
  *
  * @return array<string,array|string|null>
  */
 public function getThumbnails($ids, $square, $scale)
 {
     $idsArray = explode(';', $ids);
     foreach ($idsArray as $id) {
         // Casting to integer here instead of using array_map to extract IDs from the URL
         list($thumbnail, $status) = $this->getThumbnail((int) $id, $square, $scale);
         $thumbnail['fileid'] = $id;
         $thumbnail['status'] = $status;
         $this->eventSource->send('preview', $thumbnail);
     }
     $this->eventSource->close();
     $this->exitController();
     // @codeCoverageIgnoreStart
 }
 public function testEventSourceSend()
 {
     $thumbnailId = 1234;
     $file = $this->mockFile($thumbnailId);
     $preview = $this->mockBase64PreviewData($file);
     $event = 'preview';
     $message = 'event: ' . $event . PHP_EOL . 'data: ' . json_encode($preview) . PHP_EOL . PHP_EOL;
     $this->mockEventSourceSend($event, $preview, $message);
     $this->assertSame($message, $this->eventSource->send('preview', $preview));
 }