Exemplo n.º 1
0
 /**
  * Test invoke
  */
 public function testInvoke()
 {
     $form = new Form('test_form', array('description' => array('label' => 'form description', 'translatable' => false, 'attributes' => array('class' => 'form-description'))));
     $fieldset = new Fieldset('test_fieldset', array('description' => array('label' => 'fieldset description', 'translatable' => false)));
     $text = new Element\Text('test_text', array('description' => 'text description', 'display_group' => 'display group'));
     $hidden = new Element\Hidden('test_hidden');
     $search = new Element\Search('test_search', array('display_group' => 'display group'));
     $submit = new Element\Submit('test_submit');
     $fieldset->setLabel('fieldset label');
     $text->setLabel('text label');
     $search->setLabel('search label');
     $submit->setValue('submit label');
     $fieldset->add($text);
     $fieldset->add($hidden);
     $fieldset->add($search);
     $form->add($fieldset);
     $form->add($submit);
     $translator = $this->getMock('Zend\\I18n\\Translator\\Translator');
     $translator->expects($this->at(1))->method('translate')->with('fieldset label', 'text domain')->will($this->returnValue('fieldset label at text domain'));
     $translator->expects($this->at(2))->method('translate')->with('display group', 'text domain')->will($this->returnValue('display group at text domain'));
     $translator->expects($this->at(3))->method('translate')->with('text label', 'text domain')->will($this->returnValue('text label at text domain'));
     $translator->expects($this->at(4))->method('translate')->with('text description', 'text domain')->will($this->returnValue('text description at text domain'));
     $translator->expects($this->at(5))->method('translate')->with('search label', 'text domain')->will($this->returnValue('search label at text domain'));
     $translator->expects($this->at(6))->method('translate')->with('submit label', 'text domain')->will($this->returnValue('submit label at text domain'));
     $rendered = $this->helper($form, $translator, 'text domain');
     $this->assertTag($formMatcher = array('tag' => 'form', 'attributes' => array('name' => 'test_form')), $rendered);
     $this->assertTag(array('class' => 'form-description description', 'ancestor' => $formMatcher, 'content' => 'form description'), $rendered);
     $this->assertTag($fieldsetMatcher = array('tag' => 'fieldset', 'ancestor' => $formMatcher, 'attributes' => array('name' => 'test_fieldset')), $rendered);
     $this->assertTag(array('tag' => 'legend', 'parent' => $fieldsetMatcher, 'content' => 'fieldset label at text domain'), $rendered);
     $this->assertTag(array('class' => 'description', 'ancestor' => $fieldsetMatcher, 'content' => 'fieldset description'), $rendered);
     $this->assertTag($displayGroupMatcher = array('tag' => 'fieldset', 'ancestor' => $fieldsetMatcher, 'attributes' => array('class' => 'display-group')), $rendered);
     $this->assertTag(array('tag' => 'label', 'ancestor' => $displayGroupMatcher, 'content' => 'text label at text domain'), $rendered);
     $this->assertTag(array('tag' => 'input', 'ancestor' => $displayGroupMatcher, 'attributes' => array('type' => 'text', 'name' => 'test_fieldset[test_text]')), $rendered);
     $this->assertTag(array('tag' => 'input', 'ancestor' => $fieldsetMatcher, 'attributes' => array('type' => 'hidden', 'name' => 'test_fieldset[test_hidden]')), $rendered);
     $this->assertTag(array('tag' => 'label', 'ancestor' => $displayGroupMatcher, 'content' => 'search label at text domain'), $rendered);
     $this->assertTag(array('tag' => 'input', 'ancestor' => $displayGroupMatcher, 'attributes' => array('type' => 'search', 'name' => 'test_fieldset[test_search]')), $rendered);
     $this->assertTag(array('tag' => 'input', 'ancestor' => $formMatcher, 'attributes' => array('type' => 'submit', 'name' => 'test_submit', 'value' => 'submit label at text domain')), $rendered);
 }
Exemplo n.º 2
0
 /**
  * Test options and specifications
  */
 public function testOptionsAndSpecifications()
 {
     $text = new Text('text', array('required' => true, 'multiple' => true, 'pattern' => '[a-z]+', 'minlength' => 1, 'maxlength' => 10, 'identical' => 'identical', 'not_identical' => 'not_identical', 'alternate' => 'alternate', 'less_than' => 'less_than', 'more_than' => 'more_than', 'forbidden' => array('forbidden'), 'rpc_validators' => array('Rpc1::method1', 'Rpc2', ''), 'display_group' => 'display_group', 'translatable' => true, 'text_domain' => 'text_domain', 'filters' => array('filter1'), 'validators' => array('validator1')));
     $this->assertTrue($text->getRequired());
     $this->assertTrue($text->getMultiple());
     $this->assertEquals('[a-z]+', $text->getPattern());
     $this->assertEquals(1, $text->getMinlength());
     $this->assertEquals(10, $text->getMaxlength());
     $this->assertEquals('identical', $text->getIdentical());
     $this->assertEquals('not_identical', $text->getNotIdentical());
     $this->assertEquals('alternate', $text->getAlternate());
     $this->assertEquals('less_than', $text->getLessThan());
     $this->assertEquals('more_than', $text->getMoreThan());
     $this->assertEquals(array('forbidden'), $text->getForbidden());
     $this->assertEquals('display_group', $text->getDisplayGroup());
     $this->assertTrue($text->isTranslatorEnabled());
     $this->assertEquals('text_domain', $text->getTranslatorTextDomain());
     $this->assertEquals(array('filter1'), $text->getInputFilters());
     $this->assertEquals(array('validator1'), $text->getInputValidators());
     $this->assertEquals(array('Rpc1::method1', 'Rpc2', ''), $text->getRpcValidators());
     $spec = $text->getInputSpecification();
     $this->assertInternalType('array', $spec);
     $this->assertArrayHasKey('name', $spec);
     $this->assertEquals('text', $spec['name']);
     $this->assertArrayHasKey('required', $spec);
     $this->assertTrue($spec['required']);
     $this->assertArrayHasKey('filters', $spec);
     $this->assertNotEmpty($spec['filters']);
     $this->assertContains('filter1', $spec['filters']);
     $this->assertArrayHasKey('validators', $spec);
     $this->assertNotEmpty($spec['validators']);
     $this->assertContains('validator1', $spec['validators']);
     $validators = $spec['validators'];
     /* @var $explode \Zend\Validator\Explode */
     $explode = $this->getValidator($validators, 'Zend\\Validator\\Explode');
     $this->assertTrue($explode->isValid(array('foo', 'bar', 'baz')));
     $this->assertFalse($explode->isValid(array('fo0', '123', 'baz')));
     /* @var $length \Zend\Validator\StringLength */
     $length = $this->getValidator($validators, 'Zend\\Validator\\StringLength');
     $this->assertEquals(1, $length->getMin());
     $this->assertEquals(10, $length->getMax());
     /* @var $identical \Zend\Validator\Identical */
     $identical = $this->getValidator($validators, 'Zend\\Validator\\Identical');
     $this->assertEquals('identical', $identical->getToken());
     /* @var $notIdentical \Zork\Validator\NotIdentical */
     $notIdentical = $this->getValidator($validators, 'Zork\\Validator\\NotIdentical');
     $this->assertEquals('not_identical', $notIdentical->getToken());
     /* @var $alternate \Zork\Validator\Alternate */
     $alternate = $this->getValidator($validators, 'Zork\\Validator\\Alternate');
     $this->assertEquals('alternate', $alternate->getToken());
     /* @var $lessThan \Zork\Validator\LessThan */
     $lessThan = $this->getValidator($validators, 'Zork\\Validator\\LessThan');
     $this->assertEquals('less_than', $lessThan->getToken());
     /* @var $moreThan \Zork\Validator\MoreThan */
     $moreThan = $this->getValidator($validators, 'Zork\\Validator\\MoreThan');
     $this->assertEquals('more_than', $moreThan->getToken());
     /* @var $forbidden \Zork\Validator\Forbidden */
     $forbidden = $this->getValidator($validators, 'Zork\\Validator\\Forbidden');
     $this->assertEquals(array('forbidden'), $forbidden->getHaystack());
     $this->assertEquals(array(array('name' => 'Zork\\Validator\\Rpc', 'options' => array('service' => 'Rpc1', 'method' => 'method1')), array('name' => 'Zork\\Validator\\Rpc', 'options' => array('service' => 'Rpc2'))), $text->getRpcValidatorSpecifications());
     $search = new Search('search');
     $spec2 = $search->getInputSpecification();
     $this->assertInternalType('array', $spec2);
     $this->assertArrayHasKey('name', $spec2);
     $this->assertEquals('search', $spec2['name']);
 }