/**
  * {@inheritdoc}
  */
 public function submitConfigurationForm(array &$form, FormStateInterface $form_state)
 {
     parent::submitConfigurationForm($form, $form_state);
     $this->configuration['layout'] = $form_state->getValue('layout');
     // Submit layout settings.
     if ($form_state->hasValue('layout_settings')) {
         $layout = $form_state->has('layout_plugin') ? $form_state->get('layout_plugin') : $this->getLayout();
         list($layout_settings_form, $layout_settings_form_state) = $this->getLayoutSettingsForm($form, $form_state);
         $layout->submitConfigurationForm($layout_settings_form, $layout_settings_form_state);
         $this->configuration['layout_settings'] = $layout->getConfiguration();
     }
 }
 /**
  * Tests the submitConfigurationForm() method.
  *
  * @covers ::submitConfigurationForm
  */
 public function testSubmitConfigurationForm()
 {
     $account = $this->prophesize(AccountInterface::class);
     $context_handler = $this->prophesize(ContextHandlerInterface::class);
     $uuid_generator = $this->prophesize(UuidInterface::class);
     $token = $this->prophesize(Token::class);
     $block_manager = $this->prophesize(BlockManager::class);
     $condition_manager = $this->prophesize(ConditionManager::class);
     $module_handler = $this->prophesize(ModuleHandlerInterface::class);
     $variant_plugin = new PageBlockDisplayVariant([], '', [], $context_handler->reveal(), $account->reveal(), $uuid_generator->reveal(), $token->reveal(), $block_manager->reveal(), $condition_manager->reveal(), $module_handler->reveal());
     $values = ['page_title' => "Go hang a salami, I'm a lasagna hog!"];
     $form = [];
     $form_state = (new FormState())->setValues($values);
     $variant_plugin->submitConfigurationForm($form, $form_state);
     $property = new \ReflectionProperty($variant_plugin, 'configuration');
     $property->setAccessible(TRUE);
     $this->assertSame($values['page_title'], $property->getValue($variant_plugin)['page_title']);
 }