public function testGetServices()
 {
     $template = new ServicesTraitTemplate();
     $services = new Services();
     Provider::setServices($services);
     $this->assertSame($services, $template->getServices());
 }
 public function testGetServer()
 {
     $server = new Server();
     $services = new Services();
     $services->set('Server', $server);
     Provider::setServices($services);
     $template = new ServerTraitTemplate();
     $this->assertSame($server, $template->getServer());
 }
 public function testGetControllers()
 {
     $controllers = new Controllers();
     $services = new Services();
     $services->set('Controllers', $controllers);
     Provider::setServices($services);
     $template = new ControllersTraitTemplate();
     $this->assertSame($controllers, $template->getControllers());
 }
 public function testSetPlugins()
 {
     $services = new Services();
     Provider::setServices($services);
     $plugins = new ControllerPlugins();
     $listener = new ConfigurePluginsListener();
     $listener->setPlugins($plugins);
     $this->assertSame($plugins, $services->get('ControllerPlugins'));
 }
 public function testGetListeners()
 {
     $listeners = new Listeners();
     $services = new Services();
     $services->set('Listeners', $listeners);
     Provider::setServices($services);
     $trigger = new Trigger('foo', 'bar');
     $this->assertSame($listeners, $trigger->getListeners());
 }
 public function testGetListeners()
 {
     $listeners = new Listeners();
     $services = new Services();
     $services->set('Listeners', $listeners);
     Provider::setServices($services);
     $template = new ListenersTraitTemplate();
     $this->assertSame($listeners, $template->getListeners());
 }
 public function testGetEvents()
 {
     $events = new Events();
     $services = new Services();
     $services->set('Events', $events);
     Provider::setServices($services);
     $template = new EventsTraitTemplate();
     $this->assertSame($events, $template->getEvents());
 }
 public function testSetResolver()
 {
     $resolver = new Resolver();
     $services = new Services();
     $services->set('ViewResolver', $resolver);
     Provider::setServices($services);
     $listener = new ConfigureResolverListener();
     $this->assertSame($resolver, $listener->getResolver());
 }
 public function testGetConfig()
 {
     $config = new SystemConfig();
     $services = new Services();
     $services->set('Config', $config);
     Provider::setServices($services);
     $template = new ConfigTraitTemplate();
     $this->assertSame($config, $template->getConfig());
 }
Exemple #10
0
 public function testGetView()
 {
     $view = new View();
     $services = new Services();
     $services->set('View', $view);
     Provider::setServices($services);
     $template = new ViewTraitTemplate();
     $this->assertSame($view, $template->getView());
 }
 public function testGetPlugins()
 {
     $plugins = new ControllerPlugins();
     $services = new Services();
     $services->set('ControllerPlugins', $plugins);
     Provider::setServices($services);
     $controller = new PluginsTraitTemplate();
     $this->assertSame($plugins, $controller->getPlugins());
 }
Exemple #12
0
 public function setUp()
 {
     if (!class_exists('Error', false)) {
         require_once 'Error.php';
     }
     require_once 'SystemTestHelper.php';
     require_once 'FakeComponent.php';
     $this->services = new Services();
     Provider::setServices($this->services);
     SystemTestHelper::resetSystem();
 }
 public function testSetStrategy()
 {
     $services = new Services();
     $listeners = new Listeners();
     $services->set('Listeners', $listeners);
     Provider::setServices($services);
     $strategy = new StrategyListener();
     $listener = new ConfigureStrategyListener();
     $listener->setStrategy($strategy);
     $this->assertSame($strategy, $listeners->get('Es.View.Listener.ViewStrategy'));
 }
 /**
  * Makes the resolver.
  *
  * @return TemplateResolver The resolver
  */
 public static function make()
 {
     $resolver = new TemplateResolver();
     $services = Provider::getServices();
     $config = $services->get('Config');
     if (isset($config['error']['html']['templates'])) {
         $templates = (array) $config['error']['html']['templates'];
         foreach ($templates as $template => $path) {
             $resolver->setTemplate($template, $path);
         }
     }
     return $resolver;
 }
 /**
  * Makes the error listener.
  *
  * @return \Es\Error\ErrorListener The error listener
  */
 public static function make()
 {
     $services = Provider::getServices();
     $config = $services->get('Config');
     $strategies = [];
     if (isset($config['error']['strategies'])) {
         $strategies = (array) $config['error']['strategies'];
     }
     $listener = new ErrorListener();
     foreach ($strategies as $name) {
         $strategy = $services->get($name);
         $listener->attachErrorStrategy($strategy);
     }
     return $listener;
 }
 public function testInvokeOnSuccess()
 {
     $result = 'Lorem ipsum dolor sit amet';
     $engine = $this->getMock(FakeTemplateEngine::CLASS);
     $services = new Services();
     $services->set('FooTemplateEngine', $engine);
     Provider::setServices($services);
     $resolver = $this->getMock(Resolver::CLASS);
     $listener = new StrategyListener();
     $listener->setResolver($resolver);
     $listener->setConfig(['phtml' => 'FooTemplateEngine']);
     $model = new ViewModel();
     $event = new ViewEvent($model);
     $resolver->expects($this->once())->method('resolve')->will($this->returnValue($this->fooTemplate));
     $engine->expects($this->once())->method('render')->with($this->identicalTo($model))->will($this->returnValue($result));
     $listener($event);
     $this->assertSame($result, $event->getResult());
 }
 public function testMake()
 {
     $config = new SystemConfig();
     $config['error'] = ['strategies' => ['JsonErrorStrategy']];
     $services = new Services();
     $services->set('Config', $config);
     $services->set('JsonErrorStrategy', JsonErrorStrategy::CLASS);
     Provider::setServices($services);
     $listener = ErrorListenerFactory::make();
     $this->assertInstanceOf(ErrorListener::CLASS, $listener);
     $reflection = new ReflectionProperty($listener, 'strategies');
     $reflection->setAccessible(true);
     $strategies = $reflection->getValue($listener);
     $strategies->rewind();
     $this->assertSame(1, count($strategies));
     $strategy = $strategies->current();
     $this->assertInstanceOf(JsonErrorStrategy::CLASS, $strategy);
 }
 /**
  * Gets the plugins.
  *
  * @return \Es\Mvc\ControllerPluginsInterface The plugins
  */
 public function getPlugins()
 {
     return Provider::getServices()->get('ControllerPlugins');
 }
 public function testInitOnSuccess()
 {
     $events = new Events();
     $config = new SystemConfig();
     $services = new Services();
     $listeners = new Listeners();
     $listeners->set('FakeListener', FakeListener::CLASS);
     $services->set('Listeners', $listeners);
     Provider::setServices($services);
     $components = new Components();
     $components->register(FakeComponent::CLASS);
     $components->init($services, $listeners, $events, $config);
     $component = $components->get(FakeComponent::CLASS);
     $this->assertSame($component->getServicesConfig(), $services->getRegistry());
     $this->assertSame($component->getListenersConfig(), $listeners->getRegistry());
     $this->assertSame($component->getSystemConfig(), $config->toArray());
     $event = new SystemEvent();
     $events->trigger($event);
     $this->assertTrue($event->getResult(SystemEvent::INIT));
 }
 /**
  * Gets the class loader.
  *
  * @return \Es\Loader\ClassLoader The class loader
  */
 public function getLoader()
 {
     return Provider::getServices()->get('ClassLoader');
 }
 /**
  * Gets the listeners.
  *
  * @return ListenersInterface The listeners
  */
 public function getListeners()
 {
     return Provider::getServices()->get('Listeners');
 }
 /**
  * Gets the renderer.
  *
  * @return Renderer The renderer
  */
 public function getRenderer()
 {
     return Provider::getServices()->get('DefaultTemplateRenderer');
 }
Exemple #23
0
 protected function buildListeners()
 {
     $listeners = new Listeners();
     $services = new Services();
     $services->set('Listeners', $listeners);
     Provider::setServices($services);
     return $listeners;
 }
Exemple #24
0
 /**
  * Gets the view.
  *
  * @return \Es\Mvc\ViewInterface The view
  */
 public function getView()
 {
     return Provider::getServices()->get('View');
 }
 /**
  * Gets the controllers.
  *
  * @return \Es\Mvc\ControllersInterface The controllers
  */
 public function getControllers()
 {
     return Provider::getServices()->get('Controllers');
 }
 /**
  * Gets the modules.
  *
  * @return ModulesInterface $modules The modules
  */
 public function getModules()
 {
     return Provider::getServices()->get('Modules');
 }
 /**
  * Gets router.
  *
  * @return \Es\Router\RouterInterface The router
  */
 public function getRouter()
 {
     return Provider::getServices()->get('Router');
 }
 /**
  * Gets the view helpers.
  *
  * @return \Es\Mvc\ViewHelpersInterface The view helpers
  */
 public function getHelpers()
 {
     return Provider::getServices()->get('ViewHelpers');
 }
 /**
  * Gets the view resolver.
  *
  * @return \Es\View\Resolver The view resolver
  */
 public function getResolver()
 {
     return Provider::getServices()->get('ViewResolver');
 }
 public function testSetServices()
 {
     $services = new Services();
     Provider::setServices($services);
     $this->assertSame(Provider::getServices(), $services);
 }