/** * @covers Xoops\Core\Handler\Scheme\LegacyModule::build */ public function testBuild_optional() { $handler = Factory::getInstance()->newSpec()->scheme('legacy')->name('nosuchhandler')->dirname('avatars')->optional(true)->build(); $this->assertNull($handler); $handler = Factory::getInstance()->newSpec()->scheme('legacy')->name('avatar')->dirname('avatars')->optional(true)->build(); $this->assertInstanceOf('\\AvatarsAvatarHandler', $handler); }
/** * @covers Xoops\Core\Handler\Scheme\Kernel::build */ public function testBuild_optional() { $handler = Factory::getInstance()->newSpec()->scheme('kernel')->name('nosuchhandler')->optional(true)->build(); $this->assertNull($handler); $handler = Factory::getInstance()->newSpec()->scheme('kernel')->name('user')->optional(true)->build(); $this->assertInstanceOf('\\Xoops\\Core\\Kernel\\Handlers\\XoopsUserHandler', $handler); }
/** * @covers Xoops\Core\Handler\Scheme\FQN::build */ public function testBuild_optional() { $name = '\\Xoops\\Core\\Kernel\\Handlers\\NoSuchName'; $spec = Factory::getInstance()->newSpec()->scheme('fqn')->name($name)->optional(true); $handler = $this->object->build($spec); $this->assertNull($handler); $name = '\\Xoops\\Core\\Kernel\\Handlers\\XoopsUserHandler'; $spec = Factory::getInstance()->newSpec()->scheme('fqn')->name($name)->optional(true); $handler = $this->object->build($spec); $this->assertInstanceOf('\\Xoops\\Core\\Kernel\\Handlers\\XoopsUserHandler', $handler); }
/** * Get Module Handler * * @param string|null $name name of handler * @param string|null $module_dir dirname of module * @param boolean $optional true if failure to load handler should be considered a warning, not an error * * @return XoopsObjectHandler|XoopsPersistableObjectHandler|bool */ public function getModuleHandler($name = null, $module_dir = null, $optional = false) { // if $module_dir is not specified if (!isset($module_dir)) { // if a module is loaded if ($this->module instanceof XoopsModule) { $module_dir = $this->module->getVar('dirname', 'n'); } else { trigger_error('No Module is loaded', E_USER_ERROR); } } else { $module_dir = trim($module_dir); } $name = !isset($name) ? $module_dir : trim($name); if (!isset($this->moduleHandlers[$module_dir][$name])) { if (!isset($this->handlerFactory)) { $this->handlerFactory = HandlerFactory::getInstance(); } $handler = $this->handlerFactory->create($name, $module_dir, $optional); if ($handler === null) { $this->logger()->log(LogLevel::WARNING, sprintf('No handler for %s exists in module %s', $name, $module_dir)); } $this->moduleHandlers[$module_dir][$name] = $handler; } return $this->moduleHandlers[$module_dir][$name]; }
/** * @covers Xoops\Core\Handler\Scheme\SchemeInterface::build */ public function testBuild() { $spec = Factory::getInstance()->newSpec(); $this->assertNull($this->object->build($spec)); }
/** * @return FactorySpec */ public static function newSpec() { $instance = Factory::getInstance(); $spec = FactorySpec::getInstance($instance); return $spec; }
/** * @covers Xoops\Core\Handler\Factory::getInstance */ public function testGetInstance() { $instance = Factory::getInstance(); $this->assertSame($this->object, $instance, 'Singleton'); }