/** * dijit.form.RadioButton * * @param string $id * @param string $value * @param array $params Parameters to use for dijit creation * @param array $attribs HTML attributes * @param array $options Array of radio options * @param string $listsep String with which to separate options * @return string */ public function __invoke( $id = null, $value = null, array $params = array(), array $attribs = array(), array $options = null, $listsep = "<br />\n" ) { $attribs['name'] = $id; if (!array_key_exists('id', $attribs)) { $attribs['id'] = $id; } $attribs = $this->_prepareDijit($attribs, $params, 'element'); if (is_array($options) && $this->_useProgrammatic() && !$this->_useProgrammaticNoScript()) { $baseId = $id; if (array_key_exists('id', $attribs)) { $baseId = $attribs['id']; } $filter = new AlnumFilter(); foreach (array_keys($options) as $key) { $optId = $baseId . '-' . $filter->filter($key); $this->_createDijit($this->_dijit, $optId, array()); } } return $this->view->formRadio($id, $value, $attribs, $options, $listsep); }
/** * Returns true if and only if $value contains only alphabetic and digit characters * * @param string $value * @return boolean */ public function isValid($value) { if (!is_string($value) && !is_int($value) && !is_float($value)) { $this->_error(self::INVALID); return false; } $this->_setValue($value); if ('' === $value) { $this->_error(self::STRING_EMPTY); return false; } if (null === self::$_filter) { self::$_filter = new \Zend\Filter\Alnum(); } self::$_filter->allowWhiteSpace = $this->allowWhiteSpace; if ($value != self::$_filter->filter($value)) { $this->_error(self::NOT_ALNUM); return false; } return true; }
/** * Ensures that the allowWhiteSpace option works as expected * * @return void */ public function testAllowWhiteSpace() { $this->_filter->setAllowWhiteSpace(true); if (!self::$_unicodeEnabled) { // POSIX named classes are not supported, use alternative a-zA-Z match $valuesExpected = array('abc123' => 'abc123', 'abc 123' => 'abc 123', 'abcxyz' => 'abcxyz', 'AZ@#4.3' => 'AZ43', '' => '', "\n" => "\n", " \t " => " \t "); } if (self::$_meansEnglishAlphabet) { //The Alphabet means english alphabet. $valuesExpected = array('a B 45' => 'a B 5', 'z3 x' => 'z3x'); } else { //The Alphabet means each language's alphabet. $valuesExpected = array('abc123' => 'abc123', 'abc 123' => 'abc 123', 'abcxyz' => 'abcxyz', 'če2 t3ně' => 'če2 t3ně', 'gr z5e4gżółka' => 'gr z5e4gżółka', 'Be3l5 gië' => 'Be3l5 gië', '' => ''); } $filter = $this->_filter; foreach ($valuesExpected as $input => $output) { $this->assertEquals($output, $result = $filter($input), "Expected '{$input}' to filter to '{$output}', but received '{$result}' instead"); } }
public function testRadioLabelContainsForAttributeTag() { $options = array('foo bar' => 'Foo', 'bar baz' => 'Bar', 'baz' => 'Baz'); $html = $this->helper->__invoke(array('name' => 'foo[bar]', 'value' => 'bar', 'options' => $options)); $filter = new Filter\Alnum(); foreach ($options as $key => $value) { $id = 'foo-bar-' . $filter->filter($key); $this->assertRegexp('/<label([^>]*)(for="' . $id . '")/', $html); } }
/** * @group ZF-11631 */ public function testRegistryLocale() { $locale = new Locale('ja'); \Zend\Registry::set('Zend_Locale', $locale); if (!self::$_unicodeEnabled) { $this->markTestSkipped('Unicode not enabled'); } $valuesExpected = array('aABb3456' => 'aB35', 'z7 Y8 x9' => 'z8x', ',s1.2r3#:q,' => 's12rq'); $filter = new AlnumFilter(); $this->assertEquals('ja', (string) $filter->getLocale()); foreach ($valuesExpected as $input => $output) { $this->assertEquals($output, $result = $filter($input), "Expected '{$input}' to filter to '{$output}', but received '{$result}' instead"); } }