/** * @return ContainerElement */ private static function createForm() { $text = new EmptyElement("input"); $text->setAttributes(array("type" => "text", "name" => "param1", "value" => "")); $br = new EmptyElement("br"); $check = new EmptyElement("input"); $check->setAttributes(array("type" => "checkbox", "name" => "flag1", "value" => "1")); $check->setAttribute("checked"); $submit = new EmptyElement("input"); $submit->setAttributes(array("type" => "submit", "name" => "submit", "value" => "Send")); $form = new ContainerElement("form"); $form->setAttributes(array("method" => "post", "action" => "sample.php")); $form->append("Name"); $form->append($text); $form->append($br); $form->append($check); $form->append("Enable something"); $form->append($br); $form->append($submit); return $form; }
/** * handleEmptyElement のテストです. 以下を確認します. * * - SGML 形式の場合 "<tagName>" となること * - XML 形式の場合 "<tagName />" となること * * @covers Peach\Markup\DefaultContext::handleEmptyElement * @covers Peach\Markup\DefaultContext::indent */ public function testHandleEmptyElement() { $input = new EmptyElement("input"); $input->setAttributes(array("type" => "checkbox", "name" => "flag", "value" => 1)); $input->setAttribute("checked"); $expected1 = '<input type="checkbox" name="flag" value="1" checked="checked" />'; $obj1 = new DefaultContext(XmlRenderer::getInstance()); $obj1->handleEmptyElement($input); $this->assertSame($expected1, $obj1->getResult()); $expected2 = '<input type="checkbox" name="flag" value="1" checked>'; $obj2 = new DefaultContext(SgmlRenderer::getInstance()); $obj2->handleEmptyElement($input); $this->assertSame($expected2, $obj2->getResult()); }