public function PhpSessionStorageTest::testPhpSession53

File

drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php, line 62

Class

PhpSessionStorageTest
Test class for PhpSessionStorage.

Namespace

Symfony\Component\HttpFoundation\Tests\Session\Storage

Code

public function testPhpSession53() {
  if (version_compare(phpversion(), '5.4.0', '>=')) {
    $this
      ->markTestSkipped('Test skipped, for PHP 5.3 only.');
  }
  $storage = $this
    ->getStorage();
  $this
    ->assertFalse(isset($_SESSION));
  $this
    ->assertFalse($storage
    ->getSaveHandler()
    ->isActive());
  session_start();
  $this
    ->assertTrue(isset($_SESSION));

  // in PHP 5.3 we cannot reliably tell if a session has started
  $this
    ->assertFalse($storage
    ->getSaveHandler()
    ->isActive());

  // PHP session might have started, but the storage driver has not, so false is correct here
  $this
    ->assertFalse($storage
    ->isStarted());
  $key = $storage
    ->getMetadataBag()
    ->getStorageKey();
  $this
    ->assertFalse(isset($_SESSION[$key]));
  $storage
    ->start();
  $this
    ->assertTrue(isset($_SESSION[$key]));
}