diff --git a/src/Html/Renderables/Container.php b/src/Html/Renderables/Container.php
index ce52933..d45e8de 100644
--- a/src/Html/Renderables/Container.php
+++ b/src/Html/Renderables/Container.php
@@ -28,6 +28,10 @@ final class Container implements TransformableRenderable
return $this->Contents;
}
+ public function adding(Renderable $Renderable): Container
+ {
+ return new Container(\array_merge($this->Contents, [$Renderable]));
+ }
/** @return string */
public function getHtml()
diff --git a/tests/src/Html/Renderables/ContainerTest.php b/tests/src/Html/Renderables/ContainerTest.php
index d7cdff1..d6ff4ac 100644
--- a/tests/src/Html/Renderables/ContainerTest.php
+++ b/tests/src/Html/Renderables/ContainerTest.php
@@ -21,11 +21,15 @@ final class ContainerTest extends TestCase
new Text('bar'),
]);
+ $Container = $Container->adding(new Text('boo'));
+
$Contents = $Container->contents();
$this->assertTrue($Contents[0] instanceof Element);
$this->assertSame($Contents[0]->name(), 'foo');
$this->assertTrue($Contents[1] instanceof Text);
$this->assertSame($Contents[1]->getHtml(), 'bar');
+ $this->assertTrue($Contents[2] instanceof Text);
+ $this->assertSame($Contents[2]->getHtml(), 'boo');
}
}