protected function _getRequest($url)
{
Router::$initialized = false;
Router::reload();
$request = new CakeRequest($url);
// コンソールからのテストの場合、requestのパラメーターが想定外のものとなってしまうので調整
if (isConsole()) {
$baseUrl = Configure::read('App.baseUrl');
if ($request->url === false) {
$request->here = $baseUrl . '/';
} elseif (preg_match('/^' . preg_quote($request->webroot, '/') . '/', $request->here)) {
$request->here = $baseUrl . '/' . preg_replace('/^' . preg_quote($request->webroot, '/') . '/', '', $request->here);
}
if ($baseUrl) {
if (preg_match('/^\\//', $baseUrl)) {
$request->base = $baseUrl;
} else {
$request->base = '/' . $baseUrl;
}
$request->webroot = $baseUrl;
} else {
$request->base = '';
$request->webroot = '/';
}
}
Router::setRequestInfo($request);
$params = Router::parse($request->url);
unset($params['?']);
$request = Router::getRequest(true);
$request->addParams($params);
return $request;
}