aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/lib/flexi/TemplateTest.php
diff options
context:
space:
mode:
authorPhilipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de>2024-09-24 10:53:31 +0200
committerPhilipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de>2024-09-24 10:53:31 +0200
commit4459dd7917f4d1c34f40bb68f0e991e9c3d53e4c (patch)
tree5c07151ae61276d334e88f6309c30d439a85c12e /tests/unit/lib/flexi/TemplateTest.php
parentda0022e5c1abbf9825ae76debaabdff7e8623bb4 (diff)
parent97a188592c679890a25c37ab78463add76a52ff7 (diff)
Merge branch 'main' into issue-3911issue-3911
Diffstat (limited to 'tests/unit/lib/flexi/TemplateTest.php')
-rw-r--r--tests/unit/lib/flexi/TemplateTest.php68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/unit/lib/flexi/TemplateTest.php b/tests/unit/lib/flexi/TemplateTest.php
new file mode 100644
index 0000000..95e9145
--- /dev/null
+++ b/tests/unit/lib/flexi/TemplateTest.php
@@ -0,0 +1,68 @@
+<?php
+
+use Flexi\Factory;
+use Flexi\Template;
+
+final class TemplateTestCase extends \Codeception\Test\Unit
+{
+ private Factory $factory;
+
+ public function setUp(): void
+ {
+ $this->factory = $this->make(Factory::class, [
+ 'open' => $this->make(Template::class),
+ ]);
+ }
+
+ public function tearDown(): void
+ {
+ unset($this->factory);
+ }
+
+ public function testShouldReturnAPreviouslySetAttribute()
+ {
+ $template = $this->factory->open('foo');
+ $template->set_attribute('whom', 'bar');
+ $this->assertEquals('bar', $template->get_attribute('whom'));
+ }
+
+ public function testShouldReturnPreviouslySetAttributes()
+ {
+ $template = $this->factory->open('foo');
+ $template->set_attributes(['whom' => 'bar', 'foo' => 'baz']);
+
+ $attributes = $template->get_attributes();
+ $this->assertIsArray($attributes);
+ $this->assertCount(2, $attributes);
+ $this->assertEquals('bar', $attributes['whom']);
+ $this->assertEquals('baz', $attributes['foo']);
+ }
+
+ public function testShouldMergeAttributesWithSetAttributes()
+ {
+ $template = $this->factory->open('foo');
+ $template->set_attributes(['a' => 1, 'b' => 2]);
+
+ $this->assertCount(2, $template->get_attributes());
+ $this->assertEquals(1, $template->get_attribute('a'));
+ $this->assertEquals(2, $template->get_attribute('b'));
+
+ $template->set_attributes(['b' => 8, 'c' => 9]);
+
+ $this->assertCount(3, $template->get_attributes());
+ $this->assertEquals(1, $template->get_attribute('a'));
+ $this->assertEquals(8, $template->get_attribute('b'));
+ $this->assertEquals(9, $template->get_attribute('c'));
+ }
+
+ public function testShouldBeEmptyAfterClear()
+ {
+ $template = $this->factory->open('foo');
+
+ $template->set_attributes(['a' => 1, 'b' => 2]);
+ $this->assertNotEmpty($template->get_attributes());
+
+ $template->clear_attributes();
+ $this->assertCount(0, $template->get_attributes());
+ }
+}