/** * 指定された HelperObject の変換結果を返します. * このヘルパーに設定されている Builder を使って, 引数の HelperObject を build した結果を返します. * @param HelperObject $object * @return mixed */ public function write(HelperObject $object) { return $this->builder->build($object->getNode()); }
/** * attr() のテストです. 以下を確認します. * * - このオブジェクトがラップしているノードが Element ではなかった場合, 何も変化しないこと * - 引数が空の場合, 何も変化しないこと * - 引数に文字列を 1 つ指定した場合, 指定された名前の boolean 属性が追加されること * - 引数に文字列を 2 つ指定した場合, 指定された属性名および属性値を持つ属性が追加されること * - 引数に配列を指定した場合, キーを属性名, 値を属性値とする属性が追加されること * * @covers Peach\Markup\HelperObject::attr */ public function testAttr() { $h = $this->helper; $obj1 = new HelperObject($h, ""); $obj1->attr(array("class" => "test")); $this->assertEquals(new NodeList(), $obj1->getNode()); $obj2 = new HelperObject($h, "input"); $obj2->attr(); $this->assertEquals(array(), $obj2->getNode()->getAttributes()); $obj2->attr("readonly"); $obj2->attr("class", "test"); $obj2->attr(array("name" => "age", "value" => 18)); $attrList = array("readonly" => null, "class" => "test", "name" => "age", "value" => "18"); $this->assertEquals($attrList, $obj2->getNode()->getAttributes()); }