/**
  * @dataProvider storageScalarDataProvider
  */
 public function testContainerBuiltWithStdClassContainsData(string $key, $value)
 {
     if ("" === $key || "" === $value || '' === $key) {
         $this->markTestSkipped('Null bytes or empty keys are not supported by PHP\'s stdClass');
     }
     $session = DefaultSessionData::fromDecodedTokenData((object) [$key => $value]);
     self::assertTrue($session->has($key));
     self::assertSame($value, $session->get($key));
 }
 /**
  * @param Token|null $token
  *
  * @return SessionInterface
  */
 public function extractSessionContainer(Token $token = null) : SessionInterface
 {
     try {
         if (null === $token || !$token->verify($this->signer, $this->verificationKey)) {
             return DefaultSessionData::newEmptySession();
         }
         return DefaultSessionData::fromDecodedTokenData((object) $token->getClaim(self::SESSION_CLAIM, new \stdClass()));
     } catch (\BadMethodCallException $invalidToken) {
         return DefaultSessionData::newEmptySession();
     }
 }