Пример #1
0
 function it_should_parse_non_group_elements(Node $node1, Node $node2, Node $node3, Node $node4, Node $node5, Node $node6)
 {
     $node1->getElementType()->shouldBeCalled()->willReturn('input_text');
     $node2->getElementType()->shouldBeCalled()->willReturn('input_password');
     $node3->getElementType()->shouldBeCalled()->willReturn('input_file');
     $node4->getElementType()->shouldBeCalled()->willReturn('input_hidden');
     $node5->getElementType()->shouldBeCalled()->willReturn('textarea');
     $node6->getElementType()->shouldBeCalled()->willReturn('select');
     $node1->getAttribute('name')->willReturn('input1');
     $node2->getAttribute('name')->willReturn('input2');
     $node3->getAttribute('name')->willReturn('input3');
     $node4->getAttribute('name')->willReturn('input4');
     $node5->getAttribute('name')->willReturn('input5');
     $node6->getAttribute('name')->willReturn('input6');
     $this->createFromNodes(func_get_args())->shouldReturnNodes(['input1' => 'DeForm\\Element\\TextElement', 'input2' => 'DeForm\\Element\\PasswordElement', 'input3' => 'DeForm\\Element\\FileElement', 'input4' => 'DeForm\\Element\\TextElement', 'input5' => 'DeForm\\Element\\TextareaElement', 'input6' => 'DeForm\\Element\\SelectElement']);
 }
Пример #2
0
 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]);
 }
Пример #3
0
 /**
  * @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);
 }