From 196b566a83d95ec72de0d508dfc87093b9df7c0e Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Wed, 17 Apr 2013 15:08:07 +0200 Subject: [PATCH] Add databox_descriptionStructure::toArray method --- lib/classes/databox/descriptionStructure.php | 7 +++++ .../databox_descriptionStructureTest.php | 27 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 tests/classes/databox/databox_descriptionStructureTest.php diff --git a/lib/classes/databox/descriptionStructure.php b/lib/classes/databox/descriptionStructure.php index 988322af6f..fdfce8d6c7 100644 --- a/lib/classes/databox/descriptionStructure.php +++ b/lib/classes/databox/descriptionStructure.php @@ -118,4 +118,11 @@ class databox_descriptionStructure implements IteratorAggregate { return isset($this->elements[$id]); } + + public function toArray() + { + return array_map(function ($element) { + return $element->toArray(); + }, array_values($this->elements)); + } } diff --git a/tests/classes/databox/databox_descriptionStructureTest.php b/tests/classes/databox/databox_descriptionStructureTest.php new file mode 100644 index 0000000000..e7c48efbcd --- /dev/null +++ b/tests/classes/databox/databox_descriptionStructureTest.php @@ -0,0 +1,27 @@ + 'value1', 'name2' => 'value2'); + + $element = $this->provideDataboxFieldMock(); + $element->expects($this->once()) + ->method('toArray') + ->will($this->returnValue($array)); + + $structure->add_element($element); + + $this->assertEquals(array($array), $structure->toArray()); + } + + private function provideDataboxFieldMock() + { + return $this->getMockBuilder('databox_field') + ->disableOriginalConstructor() + ->getMock(); + } +}