/** * Test the getInput method. * * @return void * * @since 11.1 */ public function testGetInput() { $form = new JFormInspector('form1'); $this->assertThat( $form->load('<form><field name="usergroup" type="usergroup" class="inputbox" disabled="true" onclick="window.reload()"><option value="*">None</option><item value="fake">Fake</item></field></form>'), $this->isTrue(), 'Line:' . __LINE__ . ' XML string should load successfully.' ); $field = new JFormFieldUsergroup($form); $this->assertThat( $field->setup($form->getXml()->field, 'value'), $this->isTrue(), 'Line:' . __LINE__ . ' The setup method should return true.' ); if (!is_null(self::$driver)) { $this->assertThat( strlen($field->input), $this->greaterThan(0), 'Line:' . __LINE__ . ' The getInput method should return something without error.' ); } else { $this->markTestSkipped(); } // TODO: Should check all the attributes have come in properly. }
/** * Test the getInput method. */ public function testGetInput() { $form = new JFormInspector('form1'); $this->assertThat( $form->load('<form><field name="usergroup" type="usergroup" /></form>'), $this->isTrue(), 'Line:'.__LINE__.' XML string should load successfully.' ); $field = new JFormFieldUsergroup($form); $this->assertThat( $field->setup($form->getXml()->field, 'value'), $this->isTrue(), 'Line:'.__LINE__.' The setup method should return true.' ); $this->markTestIncomplete('Problems encountered in next assertion'); $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. }
protected function getInput() { // JFormFieldUsergroup generates the value as an object e.g: (object(JObject)#247 (4) { ["_errors"rotected]=> array(0) {} [0] => 12, [1] => ,18) // we force the value to be an array $this->value = is_array($this->value) ? $this->value : explode(',', $this->value); $input = parent::getInput(); if ($groups = self::getAdminGroups()) { $replacements = array(); foreach ($groups as $group) { $replacements['value="' . $group . '"'] = 'value="" disabled="disabled"'; } $input = str_replace(array_keys($replacements), array_values($replacements), $input); } return $input; }
/** * Method to get certain otherwise inaccessible properties from the form field object. * * @param string $name The property name for which to the the value. * * @return mixed The property value or null. * * @since 2.0 */ public function __get($name) { switch ($name) { case 'static': if (empty($this->static)) { $this->static = $this->getStatic(); } return $this->static; break; case 'repeatable': if (empty($this->repeatable)) { $this->repeatable = $this->getRepeatable(); } return $this->repeatable; break; default: return parent::__get($name); } }