From f24bb1c7322e8545f980f143028eae766ea00c06 Mon Sep 17 00:00:00 2001 From: Timm Friebe Date: Sun, 22 Oct 2023 13:35:12 +0200 Subject: [PATCH] Add tests for inverse variables --- .../unittest/InverseOfTest.class.php | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/test/php/com/handlebarsjs/unittest/InverseOfTest.class.php b/src/test/php/com/handlebarsjs/unittest/InverseOfTest.class.php index 389c8e1..3c76e4d 100755 --- a/src/test/php/com/handlebarsjs/unittest/InverseOfTest.class.php +++ b/src/test/php/com/handlebarsjs/unittest/InverseOfTest.class.php @@ -4,6 +4,30 @@ class InverseOfTest extends HelperTest { + #[Test, Values([[null, 'Guest'], ['Test', 'User Test']])] + public function inverse_variable($input, $outcome) { + Assert::equals($outcome, $this->evaluate( + '{{#person}}User {{.}}{{/person}}{{^person}}Guest{{/person}}', + ['person' => $input] + )); + } + + #[Test, Values([[null, 'Guest'], ['Test', 'User Test']])] + public function inverse_variable_with_else($input, $outcome) { + Assert::equals($outcome, $this->evaluate( + '{{#person}}User {{.}}{{else}}Guest{{/person}}', + ['person' => $input] + )); + } + + #[Test, Values([[null, 'Guest'], ['Test', 'User Test']])] + public function inverse_variable_with_short_else($input, $outcome) { + Assert::equals($outcome, $this->evaluate( + '{{#person}}User {{.}}{{^}}Guest{{/person}}', + ['person' => $input] + )); + } + #[Test, Values([[null, 'Guest'], [['name' => 'Test'], 'User Test']])] public function inverse_section($input, $outcome) { Assert::equals($outcome, $this->evaluate( @@ -12,6 +36,22 @@ public function inverse_section($input, $outcome) { )); } + #[Test, Values([[null, 'Guest'], [['name' => 'Test'], 'User Test']])] + public function inverse_section_with_else($input, $outcome) { + Assert::equals($outcome, $this->evaluate( + '{{#person}}User {{name}}{{else}}Guest{{/person}}', + ['person' => $input] + )); + } + + #[Test, Values([[null, 'Guest'], [['name' => 'Test'], 'User Test']])] + public function inverse_section_with_short_else($input, $outcome) { + Assert::equals($outcome, $this->evaluate( + '{{#person}}User {{name}}{{^}}Guest{{/person}}', + ['person' => $input] + )); + } + #[Test, Values([[[], 'no people'], [['A', 'B'], 'AB']])] public function inverse_iterator($input, $outcome) { Assert::equals($outcome, $this->evaluate(