/**
  * {@inheritDoc}
  */
 public function getGlobals()
 {
     if (!$this->container->isScopeActive('request')) {
         return array();
     }
     return array('require_js' => array('config' => $this->configurationBuilder->getConfiguration()));
 }
 /**
  * Renders the RequireJS initialization output. Available options are:
  *   main:
  *     A module to load immediately when RequireJS is available, via the
  *     data-main attribute. Defaults to nothing
  *   configure:
  *     Whether to specify the default configuration options before RequireJS
  *     is loaded.  Defaults to true, and should generally be left this way
  *     unless you need to perform Javascript logic to define the
  *     configuration (e.g. specifying a <code>ready</code> function), in
  *     which case the configuration should be specified manually either
  *     before or after RequireJS is loaded
  *
  * @param  array  $options An array of options
  * @return string
  * @link http://requirejs.org/docs/api.html#config
  */
 public function initialize(array $options = array())
 {
     $defaults = array('main' => null, 'configure' => true);
     $options = array_merge($defaults, $options);
     return $this->engine->render($this->initializeTemplate, array_merge(array('main' => $options['main'], 'config' => $options['configure'] ? $this->configurationBuilder->getConfiguration() : null), array_diff_key($options, $defaults)));
 }
 /**
  * @covers Hearsay\RequireJSBundle\Configuration\ConfigurationBuilder::__construct
  * @covers Hearsay\RequireJSBundle\Configuration\ConfigurationBuilder::getBaseUrl
  * @covers Hearsay\RequireJSBundle\Configuration\ConfigurationBuilder::setUseAlmond
  * @covers Hearsay\RequireJSBundle\Configuration\ConfigurationBuilder::getConfiguration
  */
 public function testUseAlmondProdEnvironment()
 {
     $mapping = $this->getMock('Hearsay\\RequireJSBundle\\Configuration\\NamespaceMappingInterface');
     $this->setRequestMock('/base');
     $this->container->setParameter('assetic.use_controller', true);
     $this->container->setParameter('kernel.debug', false);
     $builder = new ConfigurationBuilder($this->container, $mapping);
     $builder->setUseAlmond(true);
     $config = $builder->getConfiguration();
     $this->assertArrayHasKey('almond', $config, 'Almond key should exists');
     $this->assertTrue($config['almond'], 'Almond value should be true');
 }