function WriteSafeSessionHandlerTest::testSetSessionWritable
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Session/WriteSafeSessionHandlerTest.php \Drupal\Tests\Core\Session\WriteSafeSessionHandlerTest::testSetSessionWritable()
- 8.9.x core/tests/Drupal/Tests/Core/Session/WriteSafeSessionHandlerTest.php \Drupal\Tests\Core\Session\WriteSafeSessionHandlerTest::testSetSessionWritable()
- 11.x core/tests/Drupal/Tests/Core/Session/WriteSafeSessionHandlerTest.php \Drupal\Tests\Core\Session\WriteSafeSessionHandlerTest::testSetSessionWritable()
Tests using setSessionWritable to enable/disable session writing.
@covers ::setSessionWritable @covers ::write
File
-
core/
tests/ Drupal/ Tests/ Core/ Session/ WriteSafeSessionHandlerTest.php, line 94
Class
Namespace
Drupal\Tests\Core\SessionCode
public function testSetSessionWritable() : void {
$session_id = 'some-id';
$session_data = 'serialized-session-data';
$this->assertTrue($this->sessionHandler
->isSessionWritable());
// Disable writing after construction.
$this->sessionHandler
->setSessionWritable(FALSE);
$this->assertFalse($this->sessionHandler
->isSessionWritable());
$this->sessionHandler = new WriteSafeSessionHandler($this->wrappedSessionHandler, FALSE);
$this->assertFalse($this->sessionHandler
->isSessionWritable());
$result = $this->sessionHandler
->write($session_id, $session_data);
$this->assertTrue($result);
// Enable writing again.
$this->sessionHandler
->setSessionWritable(TRUE);
$this->assertTrue($this->sessionHandler
->isSessionWritable());
// Writing should be enabled, return value passed to the caller by default.
$this->wrappedSessionHandler
->expects($this->exactly(2))
->method('write')
->with($session_id, $session_data)
->willReturnOnConsecutiveCalls(TRUE, FALSE);
$result = $this->sessionHandler
->write($session_id, $session_data);
$this->assertTrue($result);
$result = $this->sessionHandler
->write($session_id, $session_data);
$this->assertFalse($result);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.