示例#1
0
 /**
  * @covers ::processMachineName
  */
 public function testProcessMachineName()
 {
     $form_state = new FormState();
     $element = ['#id' => 'test', '#field_suffix' => 'test_suffix', '#field_prefix' => 'test_prefix', '#machine_name' => ['source' => ['test_source'], 'maxlength' => 32, 'additional_property' => TRUE, '#additional_property_with_hash' => TRUE]];
     $complete_form = ['test_source' => ['#type' => 'textfield', '#id' => 'source'], 'test_machine_name' => $element];
     $form_state->setCompleteForm($complete_form);
     $language = $this->prophesize(LanguageInterface::class);
     $language->getId()->willReturn('xx-lolspeak');
     $language_manager = $this->prophesize(LanguageManagerInterface::class);
     $language_manager->getCurrentLanguage()->willReturn($language);
     $container = $this->prophesize(ContainerInterface::class);
     $container->get('language_manager')->willReturn($language_manager->reveal());
     \Drupal::setContainer($container->reveal());
     $element = MachineName::processMachineName($element, $form_state, $complete_form);
     $settings = $element['#attached']['drupalSettings']['machineName']['#source'];
     $allowed_options = ['replace_pattern', 'replace', 'maxlength', 'target', 'label', 'field_prefix', 'field_suffix', 'suffix'];
     $this->assertEmpty(array_diff_key($settings, array_flip($allowed_options)));
     foreach ($allowed_options as $key) {
         $this->assertArrayHasKey($key, $settings);
     }
 }
示例#2
0
 /**
  * @covers ::valueCallback
  *
  * @dataProvider providerTestValueCallback
  */
 public function testValueCallback($expected, $input)
 {
     $element = [];
     $form_state = $this->prophesize(FormStateInterface::class)->reveal();
     $this->assertSame($expected, MachineName::valueCallback($element, $input, $form_state));
 }