installSchema('system', ['key_value_expire', 'sequences']); } /** * {@inheritdoc} */ public function getFormId() { return 'datetime_test_injection_form'; } /** * Process callback. * * @param array $element * Form element. * * @return array * Processed element. */ public function process($element) { return $element; } /** * {@inheritdoc} */ public function buildForm(array $form, FormStateInterface $form_state) { $form['datelist_element'] = [ '#title' => 'datelist test', '#type' => 'datelist', '#default_value' => new DrupalDateTime('2000-01-01 00:00:00'), '#date_part_order' => [ 'month', 'day', 'year', 'hour', 'minute', 'ampm', ], '#date_text_parts' => ['year'], '#date_year_range' => '2010:2020', '#date_increment' => 15, ]; $form['#process'][] = [$this, 'process']; return $form; } /** * {@inheritdoc} */ public function validateForm(array &$form, FormStateInterface $form_state) {} /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $this->assertTrue(TRUE); $form_state->setRebuild(); } /** * Tests custom string injection serialization. */ public function testDatetimeSerialization() { $form_state = new FormState(); $form_state->setRequestMethod('POST'); $form_state->setCached(); $form_builder = $this->container->get('form_builder'); $form_id = $form_builder->getFormId($this, $form_state); $form = $form_builder->retrieveForm($form_id, $form_state); $form_builder->prepareForm($form_id, $form, $form_state); $form_builder->processForm($form_id, $form, $form_state); } }