public function createService(ServiceLocatorInterface $sm) { $config = $sm->get('config'); if (!isset($config['zf2datatable'])) { throw new InvalidArgumentException('Config key "zf2datatable" is missing'); } /* @var $application \Zend\Mvc\Application */ $application = $sm->get('application'); $grid = new Datagrid(); $grid->setOptions($config['zf2datatable']); $grid->setMvcEvent($application->getMvcEvent()); $grid->setServiceLocator($sm); $grid->setEventManager(new Zf2EventManager(array('Zf2datatable\\Datagrid', get_class($grid)))); if ($sm->has('translator') === true) { $grid->setTranslator($sm->get('translator')); } if ($sm->has('zf2datatable_logger') === true) { $grid->setLogger($sm->get('zf2datatable_logger')); } $grid->init(); return $grid; }
public function testRendererName() { // Default on HTTP $this->assertEquals('bootstrapTable', $this->grid->getRendererName()); // Default on CLI $_SERVER['argv'] = array('foo.php', 'foo' => 'baz', 'bar'); $_ENV["FOO_VAR"] = "bar"; $request = new \Zend\Console\Request(); $mvcEvent = $this->getMock('Zend\\Mvc\\MvcEvent'); $mvcEvent->expects($this->any())->method('getRequest')->will($this->returnValue($request)); $this->grid->setMvcEvent($mvcEvent); $this->assertEquals('zendTable', $this->grid->getRendererName()); // change default $this->grid->setRendererName('myRenderer'); $this->assertEquals('myRenderer', $this->grid->getRendererName()); // by HTTP request $_GET['rendererType'] = 'jqGrid'; $request = new \Zend\Http\PhpEnvironment\Request(); $mvcEvent = $this->getMock('Zend\\Mvc\\MvcEvent'); $mvcEvent->expects($this->any())->method('getRequest')->will($this->returnValue($request)); $this->grid->setMvcEvent($mvcEvent); $this->assertEquals('jqGrid', $this->grid->getRendererName()); }