diff --git a/Composite/Form.php b/Composite/Form.php index e2ebc60..0cc16e1 100644 --- a/Composite/Form.php +++ b/Composite/Form.php @@ -32,7 +32,7 @@ class Form extends FormElement { $formCode = ''; foreach ($this->_elements as $element) { - $formCode .= $element->render(); + $formCode .= $element->render($indent + 1) . PHP_EOL; } return $formCode; diff --git a/Composite/InputElement.php b/Composite/InputElement.php index d042e72..786df45 100644 --- a/Composite/InputElement.php +++ b/Composite/InputElement.php @@ -6,6 +6,6 @@ class InputElement extends FormElement { public function render($indent = 0) { - return ''; + return str_repeat(' ', $indent) . ''; } } diff --git a/Composite/TextElement.php b/Composite/TextElement.php index 9e076e8..c8214ca 100644 --- a/Composite/TextElement.php +++ b/Composite/TextElement.php @@ -6,6 +6,6 @@ class TextElement extends FormElement { public function render($indent = 0) { - return 'this is a text element'; + return str_repeat(' ', $indent) . 'this is a text element'; } } diff --git a/Tests/Composite/FormTest.php b/Tests/Composite/FormTest.php index 85d56d5..2e10a8f 100644 --- a/Tests/Composite/FormTest.php +++ b/Tests/Composite/FormTest.php @@ -19,6 +19,11 @@ class FormTest extends \PHPUnit_Framework_TestCase $form = new Composite\Form(); $form->addElement(new Composite\TextElement()); $form->addElement(new Composite\InputElement()); + $embed = new Composite\Form(); + $embed->addElement(new Composite\TextElement()); + $embed->addElement(new Composite\InputElement()); + $form->addElement($embed); // here we have a tree ! + echo $form->render(); }