コード例 #1
0
ファイル: DeForm.php プロジェクト: desmart/deform
 /**
  * Returns true if the form was submitted, false otherwise.
  *
  * @return boolean
  */
 public function isSubmitted()
 {
     if ($this->formNode->getAttribute('name') === $this->request->get(static::DEFORM_ID)) {
         return true;
     }
     return false;
 }
コード例 #2
0
ファイル: ElementFactorySpec.php プロジェクト: desmart/deform
 function it_should_parse_mixed_checkbox_elements(Node $node1, Node $node2, Node $node3, Node $node4, Node $node5, Node $node6)
 {
     foreach (func_get_args() as $node) {
         $node->getElementType()->shouldBeCalled()->willReturn('input_checkbox');
     }
     $node1->getAttribute('name')->willReturn('foo');
     $node2->getAttribute('name')->willReturn('foo');
     $node3->getAttribute('name')->willReturn('foo');
     $node4->getAttribute('name')->willReturn('bar');
     $node5->getAttribute('name')->willReturn('bar');
     $node6->getAttribute('name')->willReturn('foobar');
     $this->createFromNodes(func_get_args())->shouldReturnMixedNodes(['foo' => ['className' => 'DeForm\\Element\\CheckboxGroupElement', 'length' => 3], 'bar' => ['className' => 'DeForm\\Element\\CheckboxGroupElement', 'length' => 2], 'foobar' => 'DeForm\\Element\\CheckboxElement']);
 }
コード例 #3
0
ファイル: FormFactorySpec.php プロジェクト: desmart/deform
 function let(Request $request, Validator $validator, ElementFactory $elementFactory, ParserFactoryInterface $parserFactory, NodeInterface $formNode, NodeInterface $textInput, NodeInterface $hiddenInput, ElementInterface $textElement, DocumentInterface $document, ParserInterface $parser)
 {
     $this->beConstructedWith($request, $validator, $elementFactory, $parserFactory);
     $parserFactory->createDocument($this->html)->willReturn($document);
     $parserFactory->createParser($document)->willReturn($parser);
     $parser->getFormNode()->willReturn($formNode);
     $parser->getElementsNodes()->willReturn($nodes = [$textInput]);
     $formNode->getAttribute('name')->willReturn($form_name = 'testform');
     $formNode->createElement('input')->shouldBeCalled()->willReturn($hiddenInput);
     $hiddenInput->setAttribute('type', 'hidden')->shouldBeCalled();
     $hiddenInput->setAttribute('value', $form_name)->shouldBeCalled();
     $hiddenInput->setAttribute('name', DeForm::DEFORM_ID)->shouldBeCalled();
     $formNode->appendChild($hiddenInput)->shouldBeCalled();
     $textInput->getElementType()->willReturn('input_text');
     $textElement->getName()->willReturn('foo');
     $elementFactory->createFromNodes($nodes)->willReturn([$textElement]);
 }
コード例 #4
0
ファイル: SelectElementSpec.php プロジェクト: desmart/deform
 function it_throws_exception_when_try_to_set_multiple_values_on_single_select_element(NodeInterface $nodeInterface)
 {
     $value = [2, 3];
     $nodeInterface->hasAttribute('multi')->willReturn(false);
     $this->shouldThrow('\\InvalidArgumentException')->during('setValue', [$value]);
 }
コード例 #5
0
ファイル: AbstractElement.php プロジェクト: desmart/deform
 /**
  * Return the validation rules for element.
  *
  * @return string|null
  */
 public function getValidationRules()
 {
     return $this->node->getAttribute('data-validate');
 }
コード例 #6
0
ファイル: TextElementSpec.php プロジェクト: desmart/deform
 function it_should_be_invalid_element(NodeInterface $node)
 {
     $node->hasAttribute('data-invalid')->shouldBeCalled()->willReturn(true);
     $this->shouldNotBeValid();
 }
コード例 #7
0
ファイル: RadioElementSpec.php プロジェクト: desmart/deform
 function it_should_mark_as_unchecked_element(NodeInterface $node)
 {
     $node->removeAttribute('checked')->shouldBeCalled();
     $this->setUnchecked()->shouldBe($this);
 }
コード例 #8
0
ファイル: ElementFactory.php プロジェクト: desmart/deform
 /**
  * @param NodeInterface $node
  * @return \DeForm\Element\ElementInterface|null
  */
 protected function createElement(NodeInterface $node)
 {
     $element_type = $node->getElementType();
     if (false === isset($this->mapTypes[$element_type])) {
         return null;
     }
     $class_name = '\\DeForm\\Element\\' . $this->mapTypes[$element_type];
     if ('input_file' === $element_type) {
         return new $class_name($node, $this->request);
     }
     return new $class_name($node);
 }
コード例 #9
0
 function it_should_mark_as_unchecked_element(NodeInterface $node)
 {
     $node->removeAttribute('checked')->shouldBeCalled();
     $this->setUnchecked()->shouldHaveType('DeForm\\Element\\CheckboxElement');
 }
コード例 #10
0
ファイル: FileElementSpec.php プロジェクト: desmart/deform
 function it_should_return_element_value_from_request(NodeInterface $node, RequestInterface $request)
 {
     $node->getAttribute('name')->willReturn('foo')->shouldBeCalled();
     $request->file('foo')->willReturn('bar')->shouldBeCalled();
     $this->getValue()->shouldBe('bar');
 }
コード例 #11
0
ファイル: DeFormSpec.php プロジェクト: desmart/deform
 function let(Node $formNode, Document $document, Request $request, ValidationHelper $validationHelper)
 {
     $formNode->getAttribute('name')->willReturn('foo');
     $this->beConstructedWith($formNode, $document, $request, $validationHelper);
 }