* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpFoundation\Tests\Session\Storage; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage; use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; /** * Test class for MockFileSessionStorage. * * @author Drak */ class MockFileSessionStorageTest extends TestCase { /** * @var string */ private $sessionDir; /** * @var MockFileSessionStorage */ protected $storage; protected function setUp() { $this->sessionDir = sys_get_temp_dir().'/sf2test'; $this->storage = $this->getStorage(); } protected function tearDown() { $this->sessionDir = null; $this->storage = null; array_map('unlink', glob($this->sessionDir.'/*.session')); if (is_dir($this->sessionDir)) { rmdir($this->sessionDir); } } public function testStart() { $this->assertEquals('', $this->storage->getId()); $this->assertTrue($this->storage->start()); $id = $this->storage->getId(); $this->assertNotEquals('', $this->storage->getId()); $this->assertTrue($this->storage->start()); $this->assertEquals($id, $this->storage->getId()); } public function testRegenerate() { $this->storage->start(); $this->storage->getBag('attributes')->set('regenerate', 1234); $this->storage->regenerate(); $this->assertEquals(1234, $this->storage->getBag('attributes')->get('regenerate')); $this->storage->regenerate(true); $this->assertEquals(1234, $this->storage->getBag('attributes')->get('regenerate')); } public function testGetId() { $this->assertEquals('', $this->storage->getId()); $this->storage->start(); $this->assertNotEquals('', $this->storage->getId()); } public function testSave() { $this->storage->start(); $id = $this->storage->getId(); $this->assertNotEquals('108', $this->storage->getBag('attributes')->get('new')); $this->assertFalse($this->storage->getBag('flashes')->has('newkey')); $this->storage->getBag('attributes')->set('new', '108'); $this->storage->getBag('flashes')->set('newkey', 'test'); $this->storage->save(); $storage = $this->getStorage(); $storage->setId($id); $storage->start(); $this->assertEquals('108', $storage->getBag('attributes')->get('new')); $this->assertTrue($storage->getBag('flashes')->has('newkey')); $this->assertEquals(array('test'), $storage->getBag('flashes')->peek('newkey')); } public function testMultipleInstances() { $storage1 = $this->getStorage(); $storage1->start(); $storage1->getBag('attributes')->set('foo', 'bar'); $storage1->save(); $storage2 = $this->getStorage(); $storage2->setId($storage1->getId()); $storage2->start(); $this->assertEquals('bar', $storage2->getBag('attributes')->get('foo'), 'values persist between instances'); } /** * @expectedException \RuntimeException */ public function testSaveWithoutStart() { $storage1 = $this->getStorage(); $storage1->save(); } private function getStorage() { $storage = new MockFileSessionStorage($this->sessionDir); $storage->registerBag(new FlashBag()); $storage->registerBag(new AttributeBag()); return $storage; } } __halt_compiler();----SIGNATURE:----bnyQ0Jv+pY0NIy8b6uAlKhA8WiAl4Nd2WXgOym9LVv08K2sNDSEONULrMcB30bWWq1u0R+aTjxGScDAyWDCqwK4Ae9HyNQFzIIfFbWhkerRUmdseeRvkO4Zb0V+/YpZZfYPTmQEXQGv3tyXoMGiFxdr4GzizN3z0WoZ0ACq0pIkV4vC1MhKLtDSkGNxmOTSgDMN0xPB+aa1ozttDURs8pvlY/Lpo1vbq+3wex1n5WgNSSs9Zdsck9c1eW7Utr7bpaZeELMSnrsdUDnBFVapnYBSuBOogcKn+ujaYJwKySCDgEJyhgFEw5zoDj3LU0WhQeZufyZg6tg5ZGhYm1fw1rxO1gNx8UZZOX0RhqVji8Wdw0v9pV2CIG6GFHUhahh/M4k+Sl6rcAXpuoHtBJsaPiSb1+IZMCU138ateOITB50BJaFurChC/Yl6mILyKhEmt5pFlwYU0Ga2CUU9gmpYsIHOwM4VO3wLO1xeoCxjIDMN15NMDF5QgB0ZO8HxIXPByppOfbd33Nvhx6ZQdlCdOtWT5ZK99pkyZs1Pbti+iiAcvts+rtNd7QyIicoiySzUwcjUsr5N+Z6Nx50fx7xtu95oV48+WI2NYikTkvkGm47xlOOoK4XJqAN//oz60bWLY/PPGfu5xtBBiPW+Ah5fhpcTyGIpIzhAsTKOHzzyfHvg=----ATTACHMENT:----MzEzNzg5MTYxNDM5NTg2MSA2OTk4MDg2NjUzNzIyMjAyIDg5MDE0MDQwMjE4OTY0MTg=