/** * @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); } }
/** * @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)); }