/** * createNode() のテストです. 引数によって, 以下の結果が返ることを確認します. * * - {@link Node} 型オブジェクトの場合: 引数自身 * - {@link NodeList} 型オブジェクトの場合: 引数自身 * - {@link HelperObject} 型オブジェクトの場合: 引数のオブジェクトがラップしているノード * - 文字列の場合: 引数の文字列を要素名に持つ新しい {@link Element} * - null または空文字列の場合: 空の {@link NodeList} * - それ以外: 引数の文字列表現のテキストノード * * @covers Peach\Markup\Helper::createNode * @covers Peach\Markup\Helper::createElement */ public function testCreateNode() { $h = $this->object; $node = new EmptyElement("br"); $this->assertSame($node, $h->createNode($node)); $nodeList = new NodeList(array("First", "Second", "Third")); $this->assertSame($nodeList, $h->createNode($nodeList)); $div = new ContainerElement("div"); $div->setAttribute("id", "test"); $div->append("Sample Text"); $ho = $h->createObject($div); $this->assertSame($div, $h->createNode($ho)); $p = new ContainerElement("p"); $this->assertEquals($p, $h->createNode("p")); $emptyList = new NodeList(); $this->assertEquals($emptyList, $h->createNode(null)); $this->assertEquals($emptyList, $h->createNode("")); $datetime = new Datetime(2012, 5, 21, 7, 34); $textNode = new Text("2012-05-21 07:34"); $this->assertEquals($textNode, $h->createNode($datetime)); }
/** * コンストラクタの第 2 引数に指定された値によって, 返される値が変化することを確認します. * * - {@link Node Node} 型オブジェクトの場合: 同一のオブジェクト * - {@link HelperObject HelperObject} 型オブジェクトの場合: 引数のオブジェクトがラップしているノード * - 文字列の場合: 引数の文字列を要素名に持つ新しい {@link Element} * - null または空文字列の場合: 空の {@link NodeList} * - それ以外: 引数の文字列表現のテキストノード * * @covers Peach\Markup\HelperObject::__construct * @covers Peach\Markup\HelperObject::getNode */ public function testGetNode() { $h = $this->helper; $node = new EmptyElement("br"); $obj1 = new HelperObject($h, $node); $this->assertSame($node, $obj1->getNode()); $div = new ContainerElement("div"); $div->setAttribute("id", "test"); $div->append("Sample Text"); $ho = new HelperObject($h, $div); $obj2 = new HelperObject($h, $ho); $this->assertSame($div, $obj2->getNode()); $obj3 = new HelperObject($h, "p"); $this->assertEquals(new ContainerElement("p"), $obj3->getNode()); $emptyList = new NodeList(); $obj4 = new HelperObject($h, null); $this->assertEquals($emptyList, $obj4->getNode()); $obj5 = new HelperObject($h, ""); $this->assertEquals($emptyList, $obj5->getNode()); $datetime = new Datetime(2012, 5, 21, 7, 34); $textNode = new Text("2012-05-21 07:34"); $obj6 = new HelperObject($h, $datetime); $this->assertEquals($textNode, $obj6->getNode()); }