/**
  * Run test for process method (content not empty)
  */
 public function testProcessContentNotEmpty()
 {
     $chainMock = $this->getChainMock();
     $assetMock = $this->getAssetMock();
     $chainMock->expects(self::once())->method('getContent')->willReturn('test-content');
     $chainMock->expects(self::once())->method('getAsset')->willReturn($assetMock);
     $this->filenameResolverMock->expects(self::never())->method('resolve');
     $this->lockerProcessMock->expects(self::never())->method('lockProcess');
     $this->lockerProcessMock->expects(self::never())->method('unlockProcess');
     $alternativeSource = new AlternativeSource($this->filenameResolverMock, $this->objectManagerMock, $this->lockerProcessMock, $this->sorterMock, $this->assetBuilderMock, 'lock', []);
     $alternativeSource->process($chainMock);
 }
 /**
  * Preparation of content for the destination file
  *
  * @param string $path
  * @param string $content
  * @param string $module
  * @param FallbackContext $context
  * @return string
  * @throws \UnexpectedValueException
  */
 private function processContent($path, $content, $module, FallbackContext $context)
 {
     if ($this->alternativesSorted === null) {
         $this->alternativesSorted = $this->sorter->sort($this->alternatives);
     }
     $path = $this->filenameResolver->resolve($path);
     foreach ($this->alternativesSorted as $name => $alternative) {
         $asset = $this->assetBuilder->setArea($context->getAreaCode())->setTheme($context->getThemePath())->setLocale($context->getLocale())->setModule($module)->setPath(preg_replace('#\\.' . preg_quote(pathinfo($path, PATHINFO_EXTENSION)) . '$#', '.' . $name, $path))->build();
         $processor = $this->objectManager->get($alternative[self::PROCESSOR_CLASS]);
         if (!$processor instanceof ContentProcessorInterface) {
             throw new \UnexpectedValueException('"' . $alternative[self::PROCESSOR_CLASS] . '" has to implement the ContentProcessorInterface.');
         }
         $content = $processor->processContent($asset);
         if (trim($content) !== '') {
             return $content;
         }
     }
     return $content;
 }