diff options
author | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-07-06 23:31:35 +0200 |
---|---|---|
committer | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-07-06 23:31:35 +0200 |
commit | ca5d4fd31031a47cc3a485457473b82660b84ed1 (patch) | |
tree | f15546d84772f0970458059c46343739e8d4aa55 /tests | |
parent | 193c6d58b0fe9bcc53065bff30ea3b28fb02308c (diff) | |
parent | 108b9833a10ff657d5d55ba1f976ad7314ecbfa3 (diff) | |
download | forums-ca5d4fd31031a47cc3a485457473b82660b84ed1.tar forums-ca5d4fd31031a47cc3a485457473b82660b84ed1.tar.gz forums-ca5d4fd31031a47cc3a485457473b82660b84ed1.tar.bz2 forums-ca5d4fd31031a47cc3a485457473b82660b84ed1.tar.xz forums-ca5d4fd31031a47cc3a485457473b82660b84ed1.zip |
Merge pull request #3726 from CHItA/ticket/13961
[ticket/13961] Add orderable service collections
Diffstat (limited to 'tests')
-rw-r--r-- | tests/di/ordered_service_collection_test.php | 51 | ||||
-rw-r--r-- | tests/di/service_collection_test.php | 47 |
2 files changed, 98 insertions, 0 deletions
diff --git a/tests/di/ordered_service_collection_test.php b/tests/di/ordered_service_collection_test.php new file mode 100644 index 0000000000..47e6d23744 --- /dev/null +++ b/tests/di/ordered_service_collection_test.php @@ -0,0 +1,51 @@ +<?php +/** + * + * This file is part of the phpBB Forum Software package. + * + * @copyright (c) phpBB Limited <https://www.phpbb.com> + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +class phpbb_ordered_service_collection_test extends \phpbb_test_case +{ + /** + * @var \phpbb\di\ordered_service_collection + */ + protected $service_collection; + + public function setUp() + { + $container = new phpbb_mock_container_builder(); + $container->set('foo', new StdClass); + $container->set('bar', new StdClass); + $container->set('foobar', new StdClass); + $container->set('barfoo', new StdClass); + + $this->service_collection = new \phpbb\di\ordered_service_collection($container); + $this->service_collection->add('foo', 7); + $this->service_collection->add('bar', 3); + $this->service_collection->add('barfoo', 5); + $this->service_collection->add('foobar', 2); + + parent::setUp(); + } + + public function test_service_collection() + { + $service_names = array(); + + // Test the iterator + foreach ($this->service_collection as $name => $service) + { + $service_names[] = $name; + $this->assertInstanceOf('StdClass', $service); + } + + $this->assertSame(array('foobar', 'bar', 'barfoo', 'foo'), $service_names); + } +} diff --git a/tests/di/service_collection_test.php b/tests/di/service_collection_test.php new file mode 100644 index 0000000000..5b51254a4a --- /dev/null +++ b/tests/di/service_collection_test.php @@ -0,0 +1,47 @@ +<?php +/** + * + * This file is part of the phpBB Forum Software package. + * + * @copyright (c) phpBB Limited <https://www.phpbb.com> + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +class phpbb_service_collection_test extends \phpbb_test_case +{ + /** + * @var \phpbb\di\service_collection + */ + protected $service_collection; + + public function setUp() + { + $container = new phpbb_mock_container_builder(); + $container->set('foo', new StdClass); + $container->set('bar', new StdClass); + + $this->service_collection = new \phpbb\di\service_collection($container); + $this->service_collection->add('foo'); + $this->service_collection->add('bar'); + + parent::setUp(); + } + + public function test_service_collection() + { + $service_names = array(); + + // Test the iterator + foreach ($this->service_collection as $name => $service) + { + $service_names[] = $name; + $this->assertInstanceOf('StdClass', $service); + } + + $this->assertSame(array('foo', 'bar'), $service_names); + } +} |