/** * Test the getInput method. * * @return void * * @since 12.1 */ public function testGetInput() { $form = new JFormInspector('form1'); $this->assertThat( $form->load('<form><field name="url" type="url" /></form>'), $this->isTrue(), 'Line:' . __LINE__ . ' XML string should load successfully.' ); $field = new JFormFieldUrl($form); $this->assertThat( $field->setup($form->getXml()->field, 'value'), $this->isTrue(), 'Line:' . __LINE__ . ' The setup method should return true.' ); $this->assertThat( strlen($field->input), $this->greaterThan(0), 'Line:' . __LINE__ . ' The getInput method should return something without error.' ); // TODO: Should check all the attributes have come in properly. }
/** * Test the getInput method where there is no value from the element * and no checked attribute. * * @param array $data @todo * @param string $expected @todo * * @return void * * @since 12.2 * * @dataProvider getInputData */ public function testGetInput($data, $expected) { $formField = new JFormFieldUrl(); $xml = '<field '; $curvalue = null; foreach ($data as $attr => $value) { if ($attr == 'value') { $curvalue = $value; } else { if ($value === false) { $value = 'false'; } $xml .= $attr . '="' . $value . '" '; } } $xml .= '/>'; $formField->setup(simplexml_load_string($xml), $curvalue); $replaces = array("\n", "\r", " ", "\t"); $this->assertEquals(str_replace($replaces, '', TestReflection::invoke($formField, 'getInput')), str_replace($replaces, '', $expected), 'Line:' . __LINE__ . ' The field did not produce the right html'); }