Merge "Add a hook into LanguageConverter#getPreferredVariant() to allow extensions...
[lhc/web/wiklou.git] / tests / phpunit / includes / auth / RememberMeAuthenticationRequestTest.php
1 <?php
2
3 namespace MediaWiki\Auth;
4
5 use Wikimedia\TestingAccessWrapper;
6
7 /**
8 * @group AuthManager
9 * @covers MediaWiki\Auth\RememberMeAuthenticationRequest
10 */
11 class RememberMeAuthenticationRequestTest extends AuthenticationRequestTestCase {
12
13 public static function provideGetFieldInfo() {
14 return [
15 [ [ 1 ] ],
16 [ [ null ] ],
17 ];
18 }
19
20 public function testGetFieldInfo_2() {
21 $req = new RememberMeAuthenticationRequest();
22 $reqWrapper = TestingAccessWrapper::newFromObject( $req );
23
24 $reqWrapper->expiration = 30 * 24 * 3600;
25 $this->assertNotEmpty( $req->getFieldInfo() );
26
27 $reqWrapper->expiration = null;
28 $this->assertEmpty( $req->getFieldInfo() );
29 }
30
31 protected function getInstance( array $args = [] ) {
32 $req = new RememberMeAuthenticationRequest();
33 $reqWrapper = TestingAccessWrapper::newFromObject( $req );
34 $reqWrapper->expiration = $args[0];
35 return $req;
36 }
37
38 public function provideLoadFromSubmission() {
39 return [
40 'Empty request' => [
41 [ 30 * 24 * 3600 ],
42 [],
43 [ 'expiration' => 30 * 24 * 3600, 'rememberMe' => false ]
44 ],
45 'RememberMe present' => [
46 [ 30 * 24 * 3600 ],
47 [ 'rememberMe' => '' ],
48 [ 'expiration' => 30 * 24 * 3600, 'rememberMe' => true ]
49 ],
50 'RememberMe present but session provider cannot remember' => [
51 [ null ],
52 [ 'rememberMe' => '' ],
53 false
54 ],
55 ];
56 }
57 }