From 44f67af518985499eeabb97b570f245afb3ee29c Mon Sep 17 00:00:00 2001 From: Dawid Nowak Date: Fri, 24 Mar 2017 04:07:57 +0100 Subject: [PATCH 1/2] MockArraySessionStorageTest: added clear() method tests --- .../Storage/MockArraySessionStorageTest.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php index 99da778b5fd87..047a6d701cbf5 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php @@ -97,6 +97,21 @@ public function testGetId() $this->assertNotEquals('', $this->storage->getId()); } + public function testClearClearsBags() + { + $this->storage->clear(); + + $this->assertSame(array(), $this->storage->getBag('attributes')->all()); + $this->assertSame(array(), $this->storage->getBag('flashes')->peekAll()); + } + + public function testClearStartsSession() + { + $this->storage->clear(); + + $this->assertTrue($this->storage->isStarted()); + } + /** * @expectedException \RuntimeException */ From f1a1068ce47700e14d0f4ac18dcc4dcb314dfa76 Mon Sep 17 00:00:00 2001 From: Dawid Nowak Date: Fri, 24 Mar 2017 04:12:30 +0100 Subject: [PATCH 2/2] MockArraySessionStorage: bugfix: $bags should be always initialized https://github.com/symfony/symfony/issues/21990 --- .../Session/Storage/MockArraySessionStorage.php | 2 +- .../Session/Storage/MockArraySessionStorageTest.php | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php b/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php index c26cc1334d6aa..78404d7b4405b 100644 --- a/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php +++ b/src/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php @@ -60,7 +60,7 @@ class MockArraySessionStorage implements SessionStorageInterface /** * @var array */ - protected $bags; + protected $bags = array(); /** * Constructor. diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php index 047a6d701cbf5..82df5543eb540 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php @@ -112,6 +112,15 @@ public function testClearStartsSession() $this->assertTrue($this->storage->isStarted()); } + public function testClearWithNoBagsStartsSession() + { + $storage = new MockArraySessionStorage(); + + $storage->clear(); + + $this->assertTrue($storage->isStarted()); + } + /** * @expectedException \RuntimeException */