/** * Registers this service on the given app * * @param Silex\Application $app Application instance * * @return void */ public function register(Application $app) { $app['environ'] = $app->share(function () use($app) { $manager = new Manager(); foreach ($this->environments as $name => $environment) { $manager->add($name, $environment); } $manager->init(); return $manager; }); }
/** * @return Manager */ public function testAdd() { $manager = new Manager(); $environment = $this->getMock('Neemzy\\Environ\\Environment', ['test', 'run'], [], '', false); $manager->add('test', $environment); $reflection = new \ReflectionClass('Neemzy\\Environ\\Manager'); $environments = $reflection->getProperty('environments'); $environments->setAccessible(true); $this->assertSame($environment, $environments->getValue($manager)['test']); return $manager; }