Exemplo n.º 1
0
 /**
  * @return ButtonTag
  */
 protected function getButton()
 {
     $button = new ButtonTag();
     $button->setAttribute('name', self::BUTTON_NAME);
     $button->setAttribute('value', self::BUTTON_VALUE);
     return $button;
 }
Exemplo n.º 2
0
 public function __construct()
 {
     parent::__construct();
     $this->attributeWhiteList[] = 'src';
     $this->attributeWhiteList[] = 'alt';
 }
Exemplo n.º 3
0
 /**
  * Tests form transformation with a simple and a more sophisticated example.
  */
 public function testTransform()
 {
     $form = new HtmlFormTag();
     $form->setParentObject(new Document());
     $form->setAction('/some-url');
     // setup reflection property to be able to inject the DOM structure to test
     $children = new ReflectionProperty(Document::class, 'children');
     $children->setAccessible(true);
     // set up group
     $group = new FormGroupTag();
     $group->setObjectId(XmlParser::generateUniqID());
     $group->setParentObject($form);
     // set up fields
     $user = new TextFieldTag();
     $user->setObjectId(XmlParser::generateUniqID());
     $user->setAttributes(['name' => 'user', 'value' => 'some user']);
     $user->setParentObject($form);
     $pass = new TextFieldTag();
     $pass->setObjectId(XmlParser::generateUniqID());
     $pass->setAttributes(['name' => 'pass', 'value' => 'some pass']);
     $pass->setParentObject($group);
     $button = new ButtonTag();
     $button->setObjectId(XmlParser::generateUniqID());
     $button->setAttributes(['name' => 'submit', 'value' => 'submit']);
     $button->setParentObject($form);
     // assemble group
     $children->setValue($group, array_merge($children->getValue($group), [$pass->getObjectId() => $pass]));
     $group->setContent('<div class="pass"><' . $pass->getObjectId() . ' /></div>');
     // assemble form
     $children->setValue($form, [$user->getObjectId() => $user, $group->getObjectId() => $group, $button->getObjectId() => $button]);
     $form->setContent('<p><' . $user->getObjectId() . ' /></p><' . $group->getObjectId() . ' /><' . $button->getObjectId() . ' />');
     // build children explicitly up and then check for HTML code...
     $actual = $form->transformForm();
     // general structure
     $this->assertContains('<form ', $actual);
     $this->assertContains('</form>', $actual);
     $this->assertContains('action="/some-url"', $actual);
     $this->assertContains('<input type="text" name="user" value="some user" />', $actual);
     $this->assertContains('<input type="text" name="pass" value="some pass" />', $actual);
     $this->assertContains('<input type="submit" name="submit" value="submit" />', $actual);
     $this->assertContains('<p>', $actual);
     $this->assertContains('</p>', $actual);
     $this->assertContains('<div class="pass">', $actual);
     $this->assertContains('</div>', $actual);
 }