/** * @param \Twig_Token $token * * @return \Twig_Node * @throws \Twig_Error_Syntax */ public function parse(\Twig_Token $token) { $stream = $this->parser->getStream(); $form = $stream->expect(\Twig_Token::NAME_TYPE)->getValue(); $stream->expect(\Twig_Token::BLOCK_END_TYPE); if (FormState::$current !== null) { throw new \Twig_Error_Syntax(sprintf('form [%s] not closed while opening form [%s]', FormState::$current, $form), $token->getLine(), $stream->getFilename()); } else { FormState::$current = $form; } return new FormNode($form, $token->getLine(), $this->getTag()); }
/** * @param \Twig_Token $token Token consumed by the lexer. * * @return \Twig_Node * @throws \Twig_Error_Syntax */ public function parse(\Twig_Token $token) { $stream = $this->parser->getStream(); if ($stream->getCurrent()->getType() != \Twig_Token::BLOCK_END_TYPE) { $error = sprintf("'%s' does not require any arguments.", $this->getTag()); throw new \Twig_Error_Syntax($error, $token->getLine(), $this->parser->getFilename()); } $stream->expect(\Twig_Token::BLOCK_END_TYPE); if (FormState::$current === null) { throw new \Twig_Error_Syntax('Trying to close a form tag, while none opened', $token->getLine(), $this->parser->getFilename()); } else { FormState::$current = null; } return new FormEndNode($token->getLine(), $this->getTag()); }
public function testFormStateFirstPageUnprocessed_returnsValueByType() { $form_state = $this->formStateFirstPageUnprocessedStub(); $form = $this->formStub(); $formState = new FormState($this->webformNode, $form, $form_state); $value_reference = array('first_name' => 'Myfirstname', 'phone_number' => '01/1234568', 'last_name' => NULL, 'new_1400574602889' => NULL, 'date_of_birth' => NULL); $this->assertEqual($value_reference, $formState->valuesByType('textfield')); }