mirror of
https://github.com/yiisoft/yii2.git
synced 2026-03-23 07:27:13 +01:00
20160611
This commit is contained in:
@@ -78,4 +78,130 @@ class RequestTest extends TestCase
|
||||
$request->acceptableLanguages = ['en-us', 'de'];
|
||||
$this->assertEquals('pl', $request->getPreferredLanguage(['pl', 'ru-ru']));
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
public function testCsrfTokenValidation()
|
||||
{
|
||||
$this->mockWebApplication();
|
||||
|
||||
$request = new Request();
|
||||
$request->enableCsrfCookie = false;
|
||||
|
||||
$token = $request->getCsrfToken();
|
||||
|
||||
$this->assertTrue($request->validateCsrfToken($token));
|
||||
}
|
||||
|
||||
public function testResolve()
|
||||
{
|
||||
$this->mockWebApplication([
|
||||
'components' => [
|
||||
'urlManager' => [
|
||||
'enablePrettyUrl' => true,
|
||||
'showScriptName' => false,
|
||||
'cache' => null,
|
||||
'rules' => [
|
||||
'posts' => 'post/list',
|
||||
'post/<id>' => 'post/view',
|
||||
],
|
||||
]
|
||||
]
|
||||
]);
|
||||
|
||||
$request = new Request();
|
||||
$request->pathInfo = 'posts';
|
||||
|
||||
$_GET['page'] = 1;
|
||||
$result = $request->resolve();
|
||||
$this->assertEquals(['post/list', ['page' => 1]], $result);
|
||||
$this->assertEquals($_GET, ['page' => 1]);
|
||||
|
||||
$request->setQueryParams(['page' => 5]);
|
||||
$result = $request->resolve();
|
||||
$this->assertEquals(['post/list', ['page' => 5]], $result);
|
||||
$this->assertEquals($_GET, ['page' => 1]);
|
||||
|
||||
$request->setQueryParams(['custom-page' => 5]);
|
||||
$result = $request->resolve();
|
||||
$this->assertEquals(['post/list', ['custom-page' => 5]], $result);
|
||||
$this->assertEquals($_GET, ['page' => 1]);
|
||||
|
||||
unset($_GET['page']);
|
||||
|
||||
$request = new Request();
|
||||
$request->pathInfo = 'post/21';
|
||||
|
||||
$this->assertEquals($_GET, []);
|
||||
$result = $request->resolve();
|
||||
$this->assertEquals(['post/view', ['id' => 21]], $result);
|
||||
$this->assertEquals($_GET, ['id' => 21]);
|
||||
|
||||
$_GET['id'] = 42;
|
||||
$result = $request->resolve();
|
||||
$this->assertEquals(['post/view', ['id' => 21]], $result);
|
||||
$this->assertEquals($_GET, ['id' => 21]);
|
||||
|
||||
$_GET['id'] = 63;
|
||||
$request->setQueryParams(['token' => 'secret']);
|
||||
$result = $request->resolve();
|
||||
$this->assertEquals(['post/view', ['id' => 21, 'token' => 'secret']], $result);
|
||||
$this->assertEquals($_GET, ['id' => 63]);
|
||||
}
|
||||
|
||||
public function testGetHostInfo()
|
||||
{
|
||||
$request = new Request();
|
||||
|
||||
unset($_SERVER['SERVER_NAME'], $_SERVER['HTTP_HOST']);
|
||||
$this->assertEquals(null, $request->getHostInfo());
|
||||
|
||||
$request->setHostInfo('http://servername.com:80');
|
||||
$this->assertEquals('http://servername.com:80', $request->getHostInfo());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \yii\base\InvalidConfigException
|
||||
*/
|
||||
public function testGetScriptFileWithEmptyServer()
|
||||
{
|
||||
$request = new Request();
|
||||
$_SERVER = [];
|
||||
|
||||
$request->getScriptFile();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \yii\base\InvalidConfigException
|
||||
*/
|
||||
public function testGetScriptUrlWithEmptyServer()
|
||||
{
|
||||
$request = new Request();
|
||||
$_SERVER = [];
|
||||
|
||||
$request->getScriptUrl();
|
||||
}
|
||||
|
||||
public function testGetServerName()
|
||||
{
|
||||
$request = new Request();
|
||||
|
||||
$_SERVER['SERVER_NAME'] = 'servername';
|
||||
$this->assertEquals('servername', $request->getServerName());
|
||||
|
||||
unset($_SERVER['SERVER_NAME']);
|
||||
$this->assertEquals(null, $request->getServerName());
|
||||
}
|
||||
|
||||
public function testGetServerPort()
|
||||
{
|
||||
$request = new Request();
|
||||
|
||||
$_SERVER['SERVER_PORT'] = 33;
|
||||
$this->assertEquals(33, $request->getServerPort());
|
||||
|
||||
unset($_SERVER['SERVER_PORT']);
|
||||
$this->assertEquals(null, $request->getServerPort());
|
||||
}
|
||||
>>>>>>> master
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user