public function testInvalidResponse() { $app = new Stubs\SanityApp(); $result = catch_output(function () use($app) { return $app->run(Request::create('http://example.com')); }); $this->assertContains('handleRequest', $result); }
public function testJSONResponse() { $appName = 'App15'; $projectFolder = ProjectUtil::createNewProject($appName, true); list($clazz, $loader) = ProjectUtil::initProjectClassLoader($projectFolder); ProjectUtil::appendOrCreateServicesConfig($projectFolder, ['custom-exception-handler' => CustomRequestExceptionHandler::class, 'controller-test-module' => ControllerTestModule::class]); $factory = new ApplicationFactory($clazz, $projectFolder); $app = $factory->create(); $output = catch_output(function () use($app) { $request = Request::create("/api/hello/world"); $app->run($request); }); $this->assertEquals('{"hello":"world"}', $output); self::$cleanup[] = $projectFolder; }
public function testRoutingExtension() { $appName = 'TwigRouting'; $projectFolder = ProjectUtil::createNewProject($appName, true); list($clazz, $loader) = ProjectUtil::initProjectClassLoader($projectFolder); ProjectUtil::appendOrCreateServicesConfig($projectFolder, ["runtime" => 'TwigRouting\\TwigRoutingRuntime', "twig-module" => TwigModule::class, 'locale-service' => LocaleService::class, TranslatorInterface::class => TranslatorFactory::class, 'test-translations' => TestTranslationProvider::class, EngineInterface::class => TwigEngineService::class]); $factory = new ApplicationFactory($clazz, $projectFolder, true); /* @var $app TestableApplication */ $app = $factory->create(); $request = Request::create("/urltest/am"); ProjectUtil::addSession($request); $output = catch_output(function () use($app, $request) { $app->run($request); }); $this->assertEquals("http://localhost/urltest/am?hello=world", $output); self::$cleanup[] = $projectFolder; }
public function testTranslationFactory() { $appName = 'TransApp1'; $projectFolder = ProjectUtil::createNewProject($appName, true); list($clazz, $loader) = ProjectUtil::initProjectClassLoader($projectFolder); ProjectUtil::appendOrCreateServicesConfig($projectFolder, ['acme-module' => [$projectFolder . '/src/Acme', 'Acme\\Acme'], 'locale-service' => LocaleService::class, TranslatorInterface::class => TranslatorFactory::class, 'test-translations' => Stubs\TestTranslationProvider::class]); $factory = new ApplicationFactory(TestableApplication::class, $projectFolder); /* @var $app TestableApplication */ $app = $factory->create(); $request = Request::create("/am"); ProjectUtil::addSession($request); $output = catch_output(function () use($app, $request) { $app->run($request); }); $translator = $app->getContainer()->get(TranslatorInterface::class); $this->assertEquals('Bari louys Blend!', $translator->trans('Good morning :name!', [':name' => 'Blend'])); self::$cleanup[] = $projectFolder; }
/** * @large */ public function testCustomExceptionHandler() { $appName = 'App14'; $projectFolder = ProjectUtil::createNewProject($appName, true); list($clazz, $loader) = ProjectUtil::initProjectClassLoader($projectFolder); ProjectUtil::appendOrCreateServicesConfig($projectFolder, ['custom-exception-handler' => CustomRequestExceptionHandler::class]); $factory = new ApplicationFactory($clazz, $projectFolder); $app = $factory->create(); $request = Request::create("/notexists"); $output = catch_output(function () use($app, $request) { $app->run($request); }); $this->assertEquals('Page not found /notexists', $output); self::$cleanup[] = $projectFolder; }
cache_file('js' . DIR_SEP . 'jquery.js', method_retrieve("script_jquery")); $writing = ''; $writing .= method_retrieve('style_default'); $writing .= NEWLINE; $writing .= '$output = <<< OUTPUT'; $writing .= NEWLINE; $writing .= NEWLINE; $writing .= method_retrieve('style_html'); $writing .= NEWLINE; $writing .= NEWLINE; $writing .= 'OUTPUT;'; $writing .= NEWLINE; $writing .= 'echo $output;'; $writing .= NEWLINE; $writing .= NEWLINE; cache_file('style' . DIR_SEP . 'style.css', catch_output($writing)); } include CMS_FILE_INCLUDE; // Page load time output (won't load on Style.css stuff) if (function_exists('br') && function_exists('isGroupMember')) { if (isGroupMember(1) && constant_test('SETTING_PHP_VARIABLES', 'show')) { echo '<div class="container-fluid">'; echo PtimerStop(); echo catch_output(method_retrieve('cms_verbose')); echo '</div>'; } } // ************************** Clean ************************** // Keep the tmp folder clean of error logs //if (file_exists(CMS_ERROR_PHP)) unlink(CMS_ERROR_PHP); //if (file_exists(ini_get('error_log'))) unlink(ini_get('error_log'));