示例#1
0
 public function testArrayAccessExistsForContextData()
 {
     $name = 'foo';
     $this->context->data()->set($name, 'foo_id', 'val');
     $this->context->resolve();
     $this->registry->expects($this->once())->method('findDataProvider')->with($name)->will($this->returnValue(null));
     $this->assertTrue(isset($this->dataAccessor[$name]));
 }
 public function testConfigureContextOverride()
 {
     $request = new Request();
     $request->query->set('_wid', 'test_widget_id');
     $request->query->set('_widgetContainer', 'dialog');
     $this->requestStack->push($request);
     $context = new LayoutContext();
     $context['widget_container'] = 'updated_widget';
     $context->data()->set('widget_id', 'updated_id', 'updated_widget_id');
     $this->contextConfigurator->configureContext($context);
     $context->resolve();
     $this->assertEquals('updated_widget', $context['widget_container']);
     $this->assertEquals('updated_id', $context->data()->getIdentifier('widget_id'));
     $this->assertEquals('updated_widget_id', $context->data()->get('widget_id'));
 }
 /**
  * @param EmbeddedForm  $formEntity
  * @param FormInterface $form
  *
  * @return Layout
  */
 public function getLayout(EmbeddedForm $formEntity, FormInterface $form = null)
 {
     $formTypeName = $formEntity->getFormType();
     $customLayout = $this->formManager->getCustomFormLayoutByFormType($formTypeName);
     $layoutContext = new LayoutContext();
     $layoutContext->getResolver()->setRequired(['embedded_form_type'])->setOptional(['embedded_form', 'embedded_form_custom_layout']);
     $layoutContext->set('theme', 'embedded_default');
     $layoutContext->set('embedded_form', null === $form ? null : new FormAccessor($form));
     $layoutContext->set('embedded_form_type', $formTypeName);
     $layoutContext->set('embedded_form_custom_layout', $customLayout);
     $layoutContext->data()->set('embedded_form_entity', '', $formEntity);
     $layoutBuilder = $this->layoutManager->getLayoutBuilder();
     // TODO discuss adding root automatically
     $layoutBuilder->add('root', null, 'root');
     return $layoutBuilder->getLayout($layoutContext);
 }
示例#4
0
 public function testGetData()
 {
     $this->assertInstanceOf('Oro\\Component\\Layout\\ContextDataCollection', $this->context->data());
 }