public function __construct($theClass = '', $name = '') { parent::__construct($theClass, $name); if (!self::$script instanceof eZScript) { self::$script = eZScript::instance(array('description' => "eZ Publish Test Runner\n\nsets up an eZ Publish testing environment\n", 'use-session' => false, 'use-modules' => true, 'use-extensions' => true)); // Override INI override folder from settings/override to // tests/settings to not read local override settings $ini = eZINI::instance(); $ini->setOverrideDirs(array(array('tests/settings', true)), 'override'); $ini->loadCache(); // Be sure to have clean content language data eZContentLanguage::expireCache(); self::$script->startup(); self::$script->initialize(); // Avoids Fatal error: eZ Publish did not finish its request if die() is used. eZExecution::setCleanExit(); } }
/** * Runs a callback function in the legacy kernel environment. * This is useful to run eZ Publish 4.x code from a non-related context (like eZ Publish 5) * * @param \Closure $callback * @param boolean $postReinitialize Default is true. * If set to false, the kernel environment will not be reinitialized. * This can be useful to optimize several calls to the kernel within the same context. * @return mixed The result of the callback */ public function runCallback(\Closure $callback, $postReinitialize = true) { if (!$this->script->isInitialized()) { $this->script->initialize(); } $return = $callback(); $this->script->shutdown(); if (!$postReinitialize) { $this->script->setIsInitialized(true); } return $return; }