Example #1
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->setAttribute('enable', $options['enable']);
     if ($builder->getAttribute('enable')) {
         $builder->setAttribute('autoload', $options['autoload']);
         $builder->setAttribute('inline', $options['inline']);
         $builder->setAttribute('jquery', $options['jquery']);
         $builder->setAttribute('input_sync', $options['input_sync']);
         $builder->setAttribute('base_path', $options['base_path']);
         $builder->setAttribute('js_path', $options['js_path']);
         $builder->setAttribute('jquery_path', $options['jquery_path']);
         $config = $options['config'];
         if ($options['config_name'] === null) {
             $name = uniqid('ivory', true);
             $options['config_name'] = $name;
             $this->configManager->setConfig($name, $config);
         } else {
             $this->configManager->mergeConfig($options['config_name'], $config);
         }
         $this->pluginManager->setPlugins($options['plugins']);
         $this->stylesSetManager->setStylesSets($options['styles']);
         $this->templateManager->setTemplates($options['templates']);
         $builder->setAttribute('config', $this->configManager->getConfig($options['config_name']));
         $builder->setAttribute('plugins', $this->pluginManager->getPlugins());
         $builder->setAttribute('styles', $this->stylesSetManager->getStylesSets());
         $builder->setAttribute('templates', $this->templateManager->getTemplates());
     }
 }
 public function testPluginsWithConfiguredAndExplicitPlugins()
 {
     $configuredPlugins = array('wordcount' => array('path' => '/my/explicit/path', 'filename' => 'plugin.js'));
     $explicitPlugins = array('autogrow' => array('path' => '/my/configured/path', 'filename' => 'plugin.js'));
     $this->pluginManagerMock->expects($this->once())->method('setPlugins')->with($this->equalTo($explicitPlugins));
     $this->pluginManagerMock->expects($this->once())->method('getPlugins')->will($this->returnValue(array_merge($explicitPlugins, $configuredPlugins)));
     $form = $this->factory->create('ckeditor', null, array('plugins' => $explicitPlugins));
     $view = $form->createView();
     $this->assertArrayHasKey('plugins', $view->vars);
     $this->assertSame(array_merge($explicitPlugins, $configuredPlugins), $view->vars['plugins']);
 }