public function case_dispatch_return() { $this->given($dispatcher = new \Mock\Hoa\Dispatcher(), $this->calling($dispatcher)->resolve = 42, $router = new Router\Cli(), $router->get('a', '(?<foo>foo) (?<bar>bar)'), $router->route('foo bar'))->when($result = $dispatcher->dispatch($router))->then->integer($result)->isEqualTo(42); }
foreach ($core as $path) { if (file_exists($path)) { require_once $path; break; } } } } Core::enableErrorHandler(); Core::enableExceptionHandler(); /** * Here we go! */ try { $router = new Router\Cli(); $router->get('g', '(?:(?<vendor>\\w+)\\s+)?(?<library>\\w+)?(?::(?<command>\\w+))?(?<_tail>.*?)', 'main', 'main', ['vendor' => 'hoa', 'library' => 'core', 'command' => 'welcome']); $dispatcher = new Dispatcher\ClassMethod(['synchronous.call' => '(:%variables.vendor:lU:)\\(:%variables.library:lU:)\\Bin\\(:%variables.command:lU:)', 'synchronous.able' => 'main']); $dispatcher->setKitName('Hoa\\Console\\Dispatcher\\Kit'); exit((int) $dispatcher->dispatch($router)); } catch (Core\Exception $e) { $message = $e->raise(true); $code = 1; } catch (\Exception $e) { $message = $e->getMessage(); $code = 2; } ob_start(); Console\Cursor::colorize('foreground(white) background(red)'); echo $message, "\n"; Console\Cursor::colorize('normal'); $content = ob_get_contents();
<?php use Hoa\Console; use Hoa\Dispatcher; use Hoa\Exception; use Hoa\Router; Exception\Error::enableErrorHandler(); Exception::enableUncaughtHandler(); try { $router = new Router\Cli(); $router->get('g', '(?<command>\\w+)?(?<_tail>.*?)', 'Main', 'Main', ['command' => 'welcome']); $dispatcher = new Dispatcher\ClassMethod(['synchronous.call' => 'Jekxyl\\Bin\\(:%variables.command:ls/new/_New/U:)', 'synchronous.able' => 'main']); $dispatcher->setKitName('Hoa\\Console\\Dispatcher\\Kit'); exit($dispatcher->dispatch($router)); } catch (Core\Exception $e) { $message = $e->raise(true); $code = 1; } catch (\Exception $e) { $message = $e->getMessage(); $code = 2; } Console\Cursor::colorize('foreground(white) background(red)'); echo $message, "\n"; Console\Cursor::colorize('normal'); exit($code);