Exemplo n.º 1
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']);
 }