X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fcore%2Fmodules%2Fsystem%2Ftests%2Fsrc%2FKernel%2FForm%2FFormElementMaxlengthTest.php;fp=web%2Fcore%2Fmodules%2Fsystem%2Ftests%2Fsrc%2FKernel%2FForm%2FFormElementMaxlengthTest.php;h=94026b65414f7f88025e6a81536570bf81f27738;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=0000000000000000000000000000000000000000;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/web/core/modules/system/tests/src/Kernel/Form/FormElementMaxlengthTest.php b/web/core/modules/system/tests/src/Kernel/Form/FormElementMaxlengthTest.php new file mode 100644 index 000000000..94026b654 --- /dev/null +++ b/web/core/modules/system/tests/src/Kernel/Form/FormElementMaxlengthTest.php @@ -0,0 +1,80 @@ + 'textfield', + '#maxlength' => 255, + ]; + + $form['description'] = [ + '#type' => 'textarea', + '#maxlength' => 255, + ]; + + $form['submit'] = [ + '#type' => 'submit', + '#value' => 'Submit', + ]; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) {} + + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) {} + + /** + * Ensures maxlength attribute can be used in compatible elements. + */ + public function testAttributes() { + + /** @var \Drupal\Core\Form\FormBuilderInterface $form_builder */ + $form_builder = $this->container->get('form_builder'); + $form_state = new FormState(); + $elements = $form_builder->buildForm($this, $form_state); + $this->render($elements); + + $css_selector_converter = new CssSelectorConverter(); + $elements = $this->xpath($css_selector_converter->toXPath('input[name=title][maxlength=255]')); + $this->assertCount(1, $elements, 'Text field has correct maxlength in form.'); + $elements = $this->xpath($css_selector_converter->toXPath('textarea[name=description][maxlength=255]')); + $this->assertCount(1, $elements, 'Textarea field has correct maxlength in form.'); + } + +}