From 3232277bc526602801225ac4fbc7aae3867f582e Mon Sep 17 00:00:00 2001 From: Simon Wisselink Date: Fri, 29 Mar 2024 23:32:49 +0100 Subject: Fix warning when calling hasVariable for an undefined variable (#978) Fixes #977 --- .../GetTemplateVars/GetTemplateVarsTest.php | 112 --------------------- .../GetTemplateVars/cache/.gitignore | 2 - .../GetTemplateVars/templates_c/.gitignore | 2 - .../TemplateVars/GetTemplateVarsTest.php | 112 +++++++++++++++++++++ .../TemplateVars/HasVariableTest.php | 32 ++++++ 5 files changed, 144 insertions(+), 116 deletions(-) delete mode 100644 tests/UnitTests/SmartyMethodsTests/GetTemplateVars/GetTemplateVarsTest.php delete mode 100644 tests/UnitTests/SmartyMethodsTests/GetTemplateVars/cache/.gitignore delete mode 100644 tests/UnitTests/SmartyMethodsTests/GetTemplateVars/templates_c/.gitignore create mode 100644 tests/UnitTests/SmartyMethodsTests/TemplateVars/GetTemplateVarsTest.php create mode 100644 tests/UnitTests/SmartyMethodsTests/TemplateVars/HasVariableTest.php (limited to 'tests') diff --git a/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/GetTemplateVarsTest.php b/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/GetTemplateVarsTest.php deleted file mode 100644 index 4aab7c3b..00000000 --- a/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/GetTemplateVarsTest.php +++ /dev/null @@ -1,112 +0,0 @@ -setUpSmarty(__DIR__); - } - - - public function testInit() - { - $this->cleanDirs(); - } - /** - * test root getTemplateVars single value - */ - public function testGetSingleTemplateVarScopeRoot() - { - $this->smarty->assign('foo', 'bar'); - $this->smarty->assign('blar', 'buh'); - $this->assertEquals("bar", $this->smarty->getTemplateVars('foo')); - } - - /** - * test root getTemplateVars all values - */ - public function testGetAllTemplateVarsScopeRoot() - { - $this->smarty->assign('foo', 'bar'); - $this->smarty->assign('blar', 'buh'); - $vars = $this->smarty->getTemplateVars(); - $this->assertTrue(is_array($vars)); - $this->assertEquals("bar", $vars['foo']); - $this->assertEquals("buh", $vars['blar']); - } - - /** - * test single variable with data object chain - */ - public function testGetSingleTemplateVarScopeAll() - { - $data1 = $this->smarty->createData($this->smarty); - $data2 = $this->smarty->createData($data1); - $this->smarty->assign('foo', 'bar'); - $this->smarty->assign('blar', 'buh'); - $this->assertEquals("bar", $data2->getTemplateVars('foo')); - } - - /** - * test get all variables with data object chain - */ - public function testGetAllTemplateVarsScopeAll() - { - $data1 = $this->smarty->createData($this->smarty); - $data2 = $this->smarty->createData($data1); - $this->smarty->assign('foo', 'bar'); - $data1->assign('blar', 'buh'); - $data2->assign('foo2', 'bar2'); - $vars = $data2->getTemplateVars(null); - $this->assertTrue(is_array($vars)); - $this->assertEquals("bar", $vars['foo']); - $this->assertEquals("bar2", $vars['foo2']); - $this->assertEquals("buh", $vars['blar']); - } - - /** - * test get all variables with data object chain search parents disabled - */ - public function testGetAllTemplateVarsScopeAllNoParents() - { - $data1 = $this->smarty->createData($this->smarty); - $data2 = $this->smarty->createData($data1); - $this->smarty->assign('foo', 'bar'); - $data1->assign('blar', 'buh'); - $data2->assign('foo2', 'bar2'); - $vars = $data2->getTemplateVars(null, false); - $this->assertTrue(is_array($vars)); - $this->assertFalse(isset($vars['foo'])); - $this->assertEquals("bar2", $vars['foo2']); - $this->assertFalse(isset($vars['blar'])); - } - - /** - * test get single variables with data object chain search parents disabled - */ - public function testGetSingleTemplateVarsScopeAllNoParents() - { - error_reporting(error_reporting() & ~(E_NOTICE | E_USER_NOTICE)); - $data1 = $this->smarty->createData($this->smarty); - $data2 = $this->smarty->createData($data1); - $this->smarty->assign('foo', 'bar'); - $data1->assign('blar', 'buh'); - $data2->assign('foo2', 'bar2'); - $this->assertEquals("", $data2->getTemplateVars('foo', false)); - $this->assertEquals("bar2", $data2->getTemplateVars('foo2', false)); - $this->assertEquals("", $data2->getTemplateVars('blar', false)); - } -} diff --git a/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/cache/.gitignore b/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/cache/.gitignore deleted file mode 100644 index d88cc144..00000000 --- a/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Ignore anything in here, but keep this directory -* diff --git a/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/templates_c/.gitignore b/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/templates_c/.gitignore deleted file mode 100644 index d88cc144..00000000 --- a/tests/UnitTests/SmartyMethodsTests/GetTemplateVars/templates_c/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Ignore anything in here, but keep this directory -* diff --git a/tests/UnitTests/SmartyMethodsTests/TemplateVars/GetTemplateVarsTest.php b/tests/UnitTests/SmartyMethodsTests/TemplateVars/GetTemplateVarsTest.php new file mode 100644 index 00000000..4aab7c3b --- /dev/null +++ b/tests/UnitTests/SmartyMethodsTests/TemplateVars/GetTemplateVarsTest.php @@ -0,0 +1,112 @@ +setUpSmarty(__DIR__); + } + + + public function testInit() + { + $this->cleanDirs(); + } + /** + * test root getTemplateVars single value + */ + public function testGetSingleTemplateVarScopeRoot() + { + $this->smarty->assign('foo', 'bar'); + $this->smarty->assign('blar', 'buh'); + $this->assertEquals("bar", $this->smarty->getTemplateVars('foo')); + } + + /** + * test root getTemplateVars all values + */ + public function testGetAllTemplateVarsScopeRoot() + { + $this->smarty->assign('foo', 'bar'); + $this->smarty->assign('blar', 'buh'); + $vars = $this->smarty->getTemplateVars(); + $this->assertTrue(is_array($vars)); + $this->assertEquals("bar", $vars['foo']); + $this->assertEquals("buh", $vars['blar']); + } + + /** + * test single variable with data object chain + */ + public function testGetSingleTemplateVarScopeAll() + { + $data1 = $this->smarty->createData($this->smarty); + $data2 = $this->smarty->createData($data1); + $this->smarty->assign('foo', 'bar'); + $this->smarty->assign('blar', 'buh'); + $this->assertEquals("bar", $data2->getTemplateVars('foo')); + } + + /** + * test get all variables with data object chain + */ + public function testGetAllTemplateVarsScopeAll() + { + $data1 = $this->smarty->createData($this->smarty); + $data2 = $this->smarty->createData($data1); + $this->smarty->assign('foo', 'bar'); + $data1->assign('blar', 'buh'); + $data2->assign('foo2', 'bar2'); + $vars = $data2->getTemplateVars(null); + $this->assertTrue(is_array($vars)); + $this->assertEquals("bar", $vars['foo']); + $this->assertEquals("bar2", $vars['foo2']); + $this->assertEquals("buh", $vars['blar']); + } + + /** + * test get all variables with data object chain search parents disabled + */ + public function testGetAllTemplateVarsScopeAllNoParents() + { + $data1 = $this->smarty->createData($this->smarty); + $data2 = $this->smarty->createData($data1); + $this->smarty->assign('foo', 'bar'); + $data1->assign('blar', 'buh'); + $data2->assign('foo2', 'bar2'); + $vars = $data2->getTemplateVars(null, false); + $this->assertTrue(is_array($vars)); + $this->assertFalse(isset($vars['foo'])); + $this->assertEquals("bar2", $vars['foo2']); + $this->assertFalse(isset($vars['blar'])); + } + + /** + * test get single variables with data object chain search parents disabled + */ + public function testGetSingleTemplateVarsScopeAllNoParents() + { + error_reporting(error_reporting() & ~(E_NOTICE | E_USER_NOTICE)); + $data1 = $this->smarty->createData($this->smarty); + $data2 = $this->smarty->createData($data1); + $this->smarty->assign('foo', 'bar'); + $data1->assign('blar', 'buh'); + $data2->assign('foo2', 'bar2'); + $this->assertEquals("", $data2->getTemplateVars('foo', false)); + $this->assertEquals("bar2", $data2->getTemplateVars('foo2', false)); + $this->assertEquals("", $data2->getTemplateVars('blar', false)); + } +} diff --git a/tests/UnitTests/SmartyMethodsTests/TemplateVars/HasVariableTest.php b/tests/UnitTests/SmartyMethodsTests/TemplateVars/HasVariableTest.php new file mode 100644 index 00000000..047af7b9 --- /dev/null +++ b/tests/UnitTests/SmartyMethodsTests/TemplateVars/HasVariableTest.php @@ -0,0 +1,32 @@ +setUpSmarty(__DIR__); + } + + + public function testInit() + { + $this->cleanDirs(); + } + + public function testSimpleTrue() + { + $this->smarty->assign('foo', 'bar'); + $this->assertTrue($this->smarty->hasVariable('foo')); + } + + + public function testSimpleFalse() + { + $this->smarty->assign('foo', 'bar'); + $this->assertFalse($this->smarty->hasVariable('foox')); + } + +} -- cgit v1.3