+ $this->assertTrue( $request->unpersist1 );
+ $this->assertFalse( $request->unpersist2 );
+ $request->unpersist1 = false;
+
+ $this->logger->setCollect( true );
+ $request->info1 = new SessionInfo( SessionInfo::MAX_PRIORITY, [
+ 'provider' => $provider1,
+ 'id' => ( $id1 = $manager->generateSessionId() ),
+ 'persisted' => true,
+ 'idIsSafe' => true,
+ ] );
+ $request->info2 = new SessionInfo( SessionInfo::MAX_PRIORITY, [
+ 'provider' => $provider2,
+ 'id' => ( $id2 = $manager->generateSessionId() ),
+ 'persisted' => true,
+ 'userInfo' => UserInfo::newFromName( 'UTSysop', false ),
+ 'idIsSafe' => true,
+ ] );
+ $session = $manager->getSessionForRequest( $request );
+ $this->assertInstanceOf( 'MediaWiki\\Session\\Session', $session );
+ $this->assertSame( $id1, $session->getId() );
+ $this->logger->setCollect( false );
+ $this->assertFalse( $request->unpersist1 );
+ $this->assertTrue( $request->unpersist2 );
+ $request->unpersist2 = false;