public function testParse()
 {
     // fixture token and stream
     $startToken = new \Twig_Token(\Twig_Token::NAME_TYPE, self::TAG_NAME, 31);
     $stream = new \Twig_TokenStream(array(new \Twig_Token(\Twig_Token::NAME_TYPE, 'filter', 31), new \Twig_Token(\Twig_Token::OPERATOR_TYPE, '=', 31), new \Twig_Token(\Twig_Token::STRING_TYPE, 'cssrewrite, lessphp, ?cssmin', 31), new \Twig_Token(\Twig_Token::NAME_TYPE, 'debug', 31), new \Twig_Token(\Twig_Token::OPERATOR_TYPE, '=', 31), new \Twig_Token(\Twig_Token::NAME_TYPE, 'false', 31), new \Twig_Token(\Twig_Token::NAME_TYPE, 'combine', 31), new \Twig_Token(\Twig_Token::OPERATOR_TYPE, '=', 31), new \Twig_Token(\Twig_Token::NAME_TYPE, 'false', 31), new \Twig_Token(\Twig_Token::NAME_TYPE, 'output', 31), new \Twig_Token(\Twig_Token::OPERATOR_TYPE, '=', 31), new \Twig_Token(\Twig_Token::STRING_TYPE, 'css/demo.css', 31), new \Twig_Token(\Twig_Token::BLOCK_END_TYPE, '', 31), new \Twig_Token(\Twig_Token::BLOCK_END_TYPE, '', 32), new \Twig_Token(\Twig_Token::BLOCK_START_TYPE, '', 33), new \Twig_Token(\Twig_Token::NAME_TYPE, 'end' . self::TAG_NAME, 33), new \Twig_Token(\Twig_Token::BLOCK_END_TYPE, '', 33), new \Twig_Token(\Twig_Token::EOF_TYPE, '', 31)));
     $bodyNode = $this->getMockBuilder('\\Twig_Node')->disableOriginalConstructor()->getMock();
     /** @var \PHPUnit_Framework_MockObject_MockObject|\Twig_Parser $parser */
     $parser = $this->getMockBuilder('Twig_Parser')->disableOriginalConstructor()->getMock();
     $parser->expects($this->once())->method('subparse')->will($this->returnValue($bodyNode));
     $parser->expects($this->once())->method('getStream')->will($this->returnValue($stream));
     $this->assetFactory->expects($this->exactly(2))->method('createAsset')->willReturnCallback(function () {
         // frontend theme during assets compilation
         $this->assertEquals(ThemeListener::FRONTEND_THEME, $this->themeRegistry->getActiveTheme()->getName());
         return new AssetCollection();
     });
     $this->assetsConfiguration->expects($this->at(0))->method('getCssFiles')->with(false)->willReturn([]);
     $this->assetsConfiguration->expects($this->at(1))->method('getCssFiles')->with(true)->willReturn([]);
     // active theme before parsing
     $this->assertEquals(self::ACTIVE_THEME, $this->themeRegistry->getActiveTheme()->getName());
     $this->parser->setParser($parser);
     $resultNode = $this->parser->parse($startToken);
     // active theme after parsing
     $this->assertEquals(self::ACTIVE_THEME, $this->themeRegistry->getActiveTheme()->getName());
     $this->assertEquals(31, $resultNode->getLine());
     $nodes = $resultNode->getIterator()->getArrayCopy();
     $this->assertCount(2, $nodes);
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $output->writeln('Get list of css groups');
     $cssGroups = $this->assetsConfiguration->getCssGroups();
     $debugGroups = $this->assetsConfiguration->getCssDebugGroups();
     $output->writeln('');
     $output->writeln('<comment>CSS</comment> groups:');
     $this->writeGroups($cssGroups, $debugGroups, $output);
 }
Exemplo n.º 3
0
 /**
  * @param \Twig_NodeInterface $body
  * @param array $filters
  * @param array $attributes
  * @param int $lineno
  * @return AsseticNode
  */
 protected function createDebugAsseticNode(\Twig_NodeInterface $body, array $filters, array $attributes, $lineno)
 {
     $inputs = $this->assetsConfiguration->getCssFiles(true);
     $name = $this->assetFactory->generateAssetName($inputs, $filters, $attributes);
     $asset = $this->assetFactory->createAsset($inputs, $filters, $attributes + array('name' => $name));
     return new DebugAsseticNode($asset, $body, $inputs, $filters, $name, $attributes, $lineno, $this->getTag());
 }
Exemplo n.º 4
0
 /**
  * Add CSS files.
  *
  * @param string $group
  * @param array $files
  */
 public function addCss($group, array $files)
 {
     $this->assetsConfiguration->addCss($group, $files);
 }