From 76e0e6dbc8002c13274f21090ccd08661c7885ce Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michal=20=C4=8Ciha=C5=99?= Date: Tue, 1 Aug 2017 08:42:37 +0200 Subject: [PATCH] Implement Countable interface in OptionsPropertyGroup MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This is really needed in OptionsPropertyRootGroup, but makes sense here as well. Signed-off-by: Michal Čihař --- libraries/properties/options/OptionsPropertyGroup.php | 14 +++++++++++++- .../options/groups/OptionsPropertyRootGroupTest.php | 13 +++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/libraries/properties/options/OptionsPropertyGroup.php b/libraries/properties/options/OptionsPropertyGroup.php index d07d655efc..1ac67395d4 100644 --- a/libraries/properties/options/OptionsPropertyGroup.php +++ b/libraries/properties/options/OptionsPropertyGroup.php @@ -14,7 +14,7 @@ namespace PMA\libraries\properties\options; * @todo modify descriptions if needed, when the options are integrated * @package PhpMyAdmin */ -abstract class OptionsPropertyGroup extends OptionsPropertyItem +abstract class OptionsPropertyGroup extends OptionsPropertyItem implements \Countable { /** * Holds a group of properties (PMA\libraries\properties\options\OptionsPropertyItem instances) @@ -87,6 +87,18 @@ abstract class OptionsPropertyGroup extends OptionsPropertyItem */ public function getNrOfProperties() { + if (is_null($this->_properties)) { + return 0; + } return count($this->_properties); } + + /** + * Countable interface implementation. + * + * @return int + */ + public function count() { + return $this->getNrOfProperties(); + } } diff --git a/test/classes/properties/options/groups/OptionsPropertyRootGroupTest.php b/test/classes/properties/options/groups/OptionsPropertyRootGroupTest.php index b52eb4e1ae..7daa168f3a 100644 --- a/test/classes/properties/options/groups/OptionsPropertyRootGroupTest.php +++ b/test/classes/properties/options/groups/OptionsPropertyRootGroupTest.php @@ -50,4 +50,17 @@ class OptionsPropertyRootGroupTest extends PHPUnit_Framework_TestCase ); } + /** + * Test for contable interface + * + * @return void + */ + public function testCountable() + { + $this->assertEquals( + 0, + count($this->object) + ); + } + } -- 2.11.4.GIT