Example #1
0
 /**
  * getInstance() をテストします.
  * 以下を確認します.
  * 
  * - 返り値が XmlRenderer のインスタンスである
  * - どの返り値も, 同一のインスタンスを返す
  * 
  * @covers Peach\Markup\XmlRenderer::getInstance
  */
 public function testGetInstance()
 {
     $obj1 = XmlRenderer::getInstance();
     $obj2 = XmlRenderer::getInstance();
     $this->assertSame("Peach\\Markup\\XmlRenderer", get_class($obj1));
     $this->assertSame($obj1, $obj2);
 }
Example #2
0
 /**
  * init() のテストです. 以下を確認します.
  * 
  * - 引数に true を指定した場合は XHTML 形式, false を指定した場合は HTML 形式のグローバル Helper が初期化されること
  * - 引数を省略した場合は HTML 形式で初期化されること
  * 
  * @covers Peach\Markup\Html::init
  * @covers Peach\Markup\Html::createHelper
  * @covers Peach\Markup\Html::createBuilder
  */
 public function testInit()
 {
     $xr = XmlRenderer::getInstance();
     $sr = SgmlRenderer::getInstance();
     Html::init(true);
     $b1 = Html::getBuilder();
     $this->assertSame($xr, $b1->getRenderer());
     Html::init(false);
     $b2 = Html::getBuilder();
     $this->assertSame($sr, $b2->getRenderer());
     Html::init();
     $b3 = Html::getBuilder();
     $this->assertSame($sr, $b3->getRenderer());
 }
Example #3
0
 /**
  * getRenderer() と setRenderer() のテストです. 以下について確認します.
  * 
  * - 初期状態では getRenderer() が null を返すこと
  * - setRenderer() でセットした Renderer オブジェクトが getRenderer() で取得できること
  * - null を指定するとセットした Renderer オブジェクトが解除されること
  * - 不正な値をセットした場合は InvalidArgumentException をスローすること
  * 
  * @covers Peach\Markup\DefaultBuilder::getRenderer
  * @covers Peach\Markup\DefaultBuilder::setRenderer
  * @covers Peach\Markup\DefaultBuilder::initRenderer
  */
 public function testAccessRenderer()
 {
     $builder = $this->object;
     $this->assertNull($builder->getRenderer());
     $subject = XmlRenderer::getInstance();
     $builder->setRenderer($subject);
     $this->assertSame($subject, $builder->getRenderer());
     $builder->setRenderer(null);
     $this->assertNull($builder->getRenderer());
     $builder->setRenderer("xhtml");
     $this->assertSame($subject, $builder->getRenderer());
     $builder->setRenderer("sgml");
     $this->assertSame(SgmlRenderer::getInstance(), $builder->getRenderer());
     $this->setExpectedException("InvalidArgumentException");
     $builder->setRenderer("InvalidValue");
 }
Example #4
0
 /**
  * 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());
 }