/** * Sets up the extensions environment for Platform. * * @return void */ public function setupExtensions() { Extension::setMigrator($this->app['migrator']); Extension::setConnectionResolver($this->app['db']); Extension::setEventDispatcher($this->app['events']); $this->extensionBag->findAndRegisterExtensions(); $this->extensionBag->sortExtensions(); }
public function testExtensionsCanBeSorted() { $bag = new ExtensionBag($filesystem = m::mock('Illuminate\\Filesystem\\Filesystem'), $finder = m::mock('Cartalyst\\Extensions\\FinderInterface')); $extension1 = m::mock('Cartalyst\\Extensions\\ExtensionInterface'); $extension1->shouldReceive('getSlug')->times(3)->andReturn('foo/bar'); $extension1->shouldReceive('getDependencies')->once()->andReturn(array('baz/qux')); $extension1->shouldReceive('register')->once(); $bag->register($extension1); $extension2 = m::mock('Cartalyst\\Extensions\\ExtensionInterface'); $extension2->shouldReceive('getSlug')->times(3)->andReturn('baz/qux'); $extension2->shouldReceive('getDependencies')->once()->andReturn(array()); $extension2->shouldReceive('register')->once(); $bag->register($extension2); $bag->sortExtensions(); $expected = array('baz/qux', 'foo/bar'); $this->assertEquals(implode('.', $expected), implode('.', array_map(function ($extension) { return $extension->getSlug(); }, $bag->all()))); }
/** * Returns the container associated with the extension bag. * * @return \Illuminate\Container\Container */ public function getContainer() { return $this->extensionBag->getContainer(); }