/**
	 * 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.
	}
Esempio n. 2
0
 /**
  * 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');
 }