diff --git a/CHANGELOG-2.1.md b/CHANGELOG-2.1.md
index ae87cee725..2a1d994881 100644
--- a/CHANGELOG-2.1.md
+++ b/CHANGELOG-2.1.md
@@ -235,13 +235,11 @@ To get the diff between two versions, go to https://github.com/symfony/symfony/c
* Added `FlashBag` (default). Flashes expire when retrieved by `popFlashes()`.
This makes the implementation ESI compatible.
* Added `AutoExpireFlashBag` to replicate Symfony 2.0.x auto expire behaviour of messages auto expiring
- after one page page load. Messages must be retrived by `popFlashes()` but will expire regardless of
- being retrieved or not, which retains th old behaviour.
- * [BC BREAK] Removed the following methods from the Session class: `close()`, `setFlash()`, `hasFlash()`,
- and `removeFlash()` and added new methods. Use `addFlashes()` to add new flash messages.
- `getFlashes()` now returns and array of flash messages.
+ after one page page load. Messages must be retrived by `pop()` or `popAll()`.
+ * [BC BREAK] Removed the following methods from the Session class: `close()`, `setFlash()`, `setFlashes()`
+ `getFlash()`, `hasFlash()`, andd `removeFlash()`. `getFlashes() returns a `FlashBagInterface`.
* `Session->clear()` now only clears session attributes as before it cleared flash messages and
- attributes. `Session->clearAllFlashes()` clears flashes now.
+ attributes. `Session->getFlashes()->popAll()` clears flashes now.
* Added `AbstractSessionStorage` base class for session storage drivers.
* Added `SessionSaveHandler` interface which storage drivers should implement after inheriting from
`AbstractSessionStorage` when writing custom session save handlers.
diff --git a/UPGRADE-2.1.md b/UPGRADE-2.1.md
index f1557e54be..220846aa6b 100644
--- a/UPGRADE-2.1.md
+++ b/UPGRADE-2.1.md
@@ -32,17 +32,17 @@ UPGRADE FROM 2.0 to 2.1
Retrieving the locale from a Twig template:
- Before: `{{ app.request.session.locale }}` or `{{ app.session.locale }}`
+ Before: `{{ app.request.session.locale }}` or `{{ app.session.locale }}`
After: `{{ app.request.locale }}`
Retrieving the locale from a PHP template:
- Before: `$view['session']->getLocale()`
+ Before: `$view['session']->getLocale()`
After: `$view['request']->getLocale()`
Retrieving the locale from PHP code:
- Before: `$session->getLocale()`
+ Before: `$session->getLocale()`
After: `$request->getLocale()`
* Method `equals` of `Symfony\Component\Security\Core\User\UserInterface` has
@@ -250,20 +250,18 @@ UPGRADE FROM 2.0 to 2.1
After (PHP):
- popFlashes('notice') as $notice): ?>
-
-
-
-
+ getFlashes()->has('notice')): ?>
+
+ getFlashes()->pop('notice') ?>
+
+
If You wanted to process all flash types you could also make use of the `popAllFlashes()` API:
- popAllFlashes() as $type => $flashes): ?>
-
-
-
-
-
+ getFlashes()->all() as $type => $flash): ?>
+
+
+
.. note::
@@ -283,20 +281,18 @@ UPGRADE FROM 2.0 to 2.1
After (Twig):
- {% for flashMessage in app.session.popFlashes('notice') %}
+ {% if app.session.getFlashes.has('notice') %}
- {{ flashMessage }}
+ {{ app.session.getFlashes.pop('notice') }}
- {% endforeach %}
+ {% endif %}
Again you can process all flash messages in one go with
- {% for type, flashMessages in app.session.popAllFlashes() %}
- {% for flashMessage in flashMessages) %}
-
- {{ flashMessage }}
-
- {% endforeach %}
+ {% for type, flashMessage in app.session.getFlashes.popAll() %}
+
+ {{ flashMessage }}
+
{% endforeach %}
.. note::
@@ -306,9 +302,10 @@ UPGRADE FROM 2.0 to 2.1
* Session object
- The methods, `setFlash()`, `hasFlash()`, and `removeFlash()` have been removed from the `Session`
- object. You may use `addFlash()` to add flashes. `getFlashes()`, now returns an array. Use
- `popFlashes()` to get flashes for display, or `popAllFlashes()` to process all flashes in on go.
+ The methods, `setFlash()`, `setFlashes()`, `getFlash()`, `hasFlash()`, and `removeFlash()`
+ have been removed from the `Session` object. `getFlashes()` now returns a `FlashBagInterface`.
+ Flashes should be popped off the stack using `getFlashes()->pop()` or `getFlashes()->popAll()`
+ to get all flashes in one go.
* Session storage drivers
diff --git a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/SessionHelper.php b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/SessionHelper.php
index a60b14997f..c861e23e01 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/SessionHelper.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/SessionHelper.php
@@ -47,19 +47,19 @@ class SessionHelper extends Helper
return $this->session->get($name, $default);
}
- public function getFlashes($type)
+ public function getFlash($type)
{
- return $this->session->getFlashes($type);
+ return $this->session->getFlashes()->get($type);
}
- public function getAllFlashes()
+ public function getFlashes()
{
- return $this->session->getAllFlashes();
+ return $this->session->getFlashes()->all();
}
- public function hasFlashes($type)
+ public function hasFlash($type)
{
- return $this->session->hasFlashes($type);
+ return $this->session->getFlashes()->has($type);
}
/**
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/SessionController.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/SessionController.php
index f1e30fd001..0a1aa0c66c 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/SessionController.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/SessionController.php
@@ -51,7 +51,7 @@ class SessionController extends ContainerAware
{
$request = $this->container->get('request');
$session = $request->getSession();
- $session->addFlash($message, 'notice');
+ $session->getFlashes()->set('notice', $message);
return new RedirectResponse($this->container->get('router')->generate('session_showflash'));
}
@@ -61,8 +61,8 @@ class SessionController extends ContainerAware
$request = $this->container->get('request');
$session = $request->getSession();
- if ($session->hasFlashes('notice')) {
- list($output) = $session->popFlashes('notice');
+ if ($session->getFlashes()->has('notice')) {
+ $output = $session->getFlashes()->pop('notice');
} else {
$output = 'No flash was set.';
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php
index b20dc33cad..b18526f836 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php
@@ -26,9 +26,9 @@ class SessionHelperTest extends \PHPUnit_Framework_TestCase
{
$this->request = new Request();
- $session = new Session(new MockArraySessionStorage(new AttributeBag(), new FlashBag()));
+ $session = new Session(new MockArraySessionStorage());
$session->set('foobar', 'bar');
- $session->addFlash('bar', FlashBag::NOTICE);
+ $session->getFlashes()->set(FlashBag::NOTICE, 'bar');
$this->request->setSession($session);
}
@@ -42,11 +42,11 @@ class SessionHelperTest extends \PHPUnit_Framework_TestCase
{
$helper = new SessionHelper($this->request);
- $this->assertTrue($helper->hasFlashes(FlashBag::NOTICE));
+ $this->assertTrue($helper->hasFlash(FlashBag::NOTICE));
- $this->assertEquals(array('bar'), $helper->getFlashes(FlashBag::NOTICE));
+ $this->assertEquals('bar', $helper->getFlash(FlashBag::NOTICE));
- $this->assertEquals(array(FlashBag::NOTICE => array('bar')), $helper->getAllFlashes());
+ $this->assertEquals(array(FlashBag::NOTICE => 'bar'), $helper->getFlashes());
}
public function testGet()
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/PhpEngineTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/PhpEngineTest.php
index 7950df497d..463df19ffc 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/PhpEngineTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/PhpEngineTest.php
@@ -19,8 +19,6 @@ use Symfony\Component\HttpFoundation\SessionStorage\MockArraySessionStorage;
use Symfony\Component\Templating\TemplateNameParser;
use Symfony\Bundle\FrameworkBundle\Templating\GlobalVariables;
use Symfony\Bundle\FrameworkBundle\Tests\TestCase;
-use Symfony\Component\HttpFoundation\FlashBag;
-use Symfony\Component\HttpFoundation\AttributeBag;
class PhpEngineTest extends TestCase
{
@@ -66,7 +64,7 @@ class PhpEngineTest extends TestCase
{
$container = new Container();
$request = new Request();
- $session = new Session(new MockArraySessionStorage(new AttributeBag(), new FlashBag()));
+ $session = new Session(new MockArraySessionStorage());
$request->setSession($session);
$container->set('request', $request);
diff --git a/src/Symfony/Component/HttpFoundation/AutoExpireFlashBag.php b/src/Symfony/Component/HttpFoundation/AutoExpireFlashBag.php
index 5c435a2821..2767e4817a 100644
--- a/src/Symfony/Component/HttpFoundation/AutoExpireFlashBag.php
+++ b/src/Symfony/Component/HttpFoundation/AutoExpireFlashBag.php
@@ -57,36 +57,46 @@ class AutoExpireFlashBag implements FlashBagInterface
$this->flashes['new'] = array();
}
- /**
- * {@inheritdoc}
- */
- public function add($message, $type = self::NOTICE)
- {
- $this->flashes['new'][$type][] = $message;
- }
-
/**
* {@inheritdoc}
*/
public function get($type)
{
if (!$this->has($type)) {
- return array();
+ throw new \InvalidArgumentException(sprintf('Flash type %s not found', $type));
}
return $this->flashes['display'][$type];
}
+ /**
+ * {@inheritdoc}
+ */
+ public function all()
+ {
+ return array_key_exists('display', $this->flashes) ? (array)$this->flashes['display'] : array();
+ }
+
/**
* {@inheritdoc}
*/
public function pop($type)
{
if (!$this->has($type)) {
- return array();
+ throw new \InvalidArgumentException(sprintf('Flash type %s not found', $type));
}
- return $this->clear($type);
+ $return = null;
+ if (isset($this->flashes['new'][$type])) {
+ unset($this->flashes['new'][$type]);
+ }
+
+ if (isset($this->flashes['display'][$type])) {
+ $return = $this->flashes['display'][$type];
+ unset($this->flashes['display'][$type]);
+ }
+
+ return $return;
}
/**
@@ -94,15 +104,26 @@ class AutoExpireFlashBag implements FlashBagInterface
*/
public function popAll()
{
- return $this->clearAll();
+ $return = $this->flashes['display'];
+ $this->flashes = array('new' => array(), 'display' => array());
+
+ return $return;
}
/**
* {@inheritdoc}
*/
- public function set($type, array $array)
+ public function setAll(array $messages)
{
- $this->flashes['new'][$type] = $array;
+ $this->flashes['new'] = $messages;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function set($type, $message)
+ {
+ $this->flashes['new'][$type] = $message;
}
/**
@@ -121,43 +142,6 @@ class AutoExpireFlashBag implements FlashBagInterface
return array_keys($this->flashes['display']);
}
- /**
- * {@inheritdoc}
- */
- public function all()
- {
- return array_key_exists('display', $this->flashes) ? (array)$this->flashes['display'] : array();
- }
-
- /**
- * {@inheritdoc}
- */
- public function clear($type)
- {
- $return = array();
- if (isset($this->flashes['new'][$type])) {
- unset($this->flashes['new'][$type]);
- }
-
- if (isset($this->flashes['display'][$type])) {
- $return = $this->flashes['display'][$type];
- unset($this->flashes['display'][$type]);
- }
-
- return $return;
- }
-
- /**
- * {@inheritdoc}
- */
- public function clearAll()
- {
- $return = $this->flashes['display'];
- $this->flashes = array('new' => array(), 'display' => array());
-
- return $return;
- }
-
/**
* {@inheritdoc}
*/
diff --git a/src/Symfony/Component/HttpFoundation/FlashBag.php b/src/Symfony/Component/HttpFoundation/FlashBag.php
index 89d7dfffc2..31ccce4447 100644
--- a/src/Symfony/Component/HttpFoundation/FlashBag.php
+++ b/src/Symfony/Component/HttpFoundation/FlashBag.php
@@ -50,36 +50,47 @@ class FlashBag implements FlashBagInterface
$this->flashes = &$flashes;
}
- /**
- * {@inheritdoc}
- */
- public function add($message, $type = self::NOTICE)
- {
- $this->flashes[$type][] = $message;
- }
-
/**
* {@inheritdoc}
*/
public function get($type)
{
if (!$this->has($type)) {
- return array();
+ throw new \InvalidArgumentException(sprintf('Flash type %s not found', $type));
}
return $this->flashes[$type];
}
+ /**
+ * {@inheritdoc}
+ */
+ public function set($type, $message)
+ {
+ $this->flashes[$type] = $message;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function all()
+ {
+ return $this->flashes;
+ }
+
/**
* {@inheritdoc}
*/
public function pop($type)
{
if (!$this->has($type)) {
- return array();
+ throw new \InvalidArgumentException(sprintf('Flash type %s not found', $type));
}
- return $this->clear($type);
+ $return = $this->get($type);
+ unset($this->flashes[$type]);
+
+ return $return;
}
/**
@@ -87,15 +98,18 @@ class FlashBag implements FlashBagInterface
*/
public function popAll()
{
- return $this->clearAll();
+ $return = $this->all();
+ $this->flashes = array();
+
+ return $return;
}
/**
* {@inheritdoc}
*/
- public function set($type, array $array)
+ public function setAll(array $messages)
{
- $this->flashes[$type] = $array;
+ $this->flashes = $messages;
}
/**
@@ -114,39 +128,6 @@ class FlashBag implements FlashBagInterface
return array_keys($this->flashes);
}
- /**
- * {@inheritdoc}
- */
- public function all()
- {
- return $this->flashes;
- }
-
- /**
- * {@inheritdoc}
- */
- public function clear($type)
- {
- $return = array();
- if (isset($this->flashes[$type])) {
- $return = $this->flashes[$type];
- unset($this->flashes[$type]);
- }
-
- return $return;
- }
-
- /**
- * {@inheritdoc}
- */
- public function clearAll()
- {
- $return = $this->flashes;
- $this->flashes = array();
-
- return $return;
- }
-
/**
* {@inheritdoc}
*/
diff --git a/src/Symfony/Component/HttpFoundation/FlashBagInterface.php b/src/Symfony/Component/HttpFoundation/FlashBagInterface.php
index 7d3eff4595..c8dd96f14f 100644
--- a/src/Symfony/Component/HttpFoundation/FlashBagInterface.php
+++ b/src/Symfony/Component/HttpFoundation/FlashBagInterface.php
@@ -24,47 +24,49 @@ interface FlashBagInterface extends SessionBagInterface
const ERROR = 'error';
/**
- * Adds a flash to the stack for a given type.
+ * Registers a message for a given type.
*
- * @param string $message
* @param string $type
+ * @param string $message
*/
- function add($message, $type = self::NOTICE);
+ function set($type, $message);
/**
- * Gets flash messages for a given type.
+ * Gets flash message for a given type.
*
- * @param string $type Message category type.
+ * @param string $type Message category type.
*
- * @return array
+ * @return string
*/
function get($type);
/**
- * Pops and clears flashes from the stack.
+ * Gets all flash messages.
+ *
+ * @return array
+ */
+ function all();
+
+ /**
+ * Pops and clears flash from the stack.
*
* @param string $type
*
- * @return array
+ * @return string
*/
function pop($type);
/**
- * Pops all flashes from the stack and clears flashes.
+ * Pops and clears flashes from the stack.
*
- * @param string $type
- *
- * @return array Empty array, or indexed array of arrays.
+ * @return array
*/
function popAll();
/**
- * Sets an array of flash messages for a given type.
- *
- * @param string $type
- * @param array $array
+ * Sets all flash messages.
*/
- function set($type, array $array);
+ function setAll(array $messages);
/**
* Has flash messages for a given type?
@@ -81,27 +83,4 @@ interface FlashBagInterface extends SessionBagInterface
* @return array
*/
function keys();
-
- /**
- * Gets all flash messages.
- *
- * @return array
- */
- function all();
-
- /**
- * Clears flash messages for a given type.
- *
- * @param string $type
- *
- * @return array Returns an array of what was just cleared.
- */
- function clear($type);
-
- /**
- * Clears all flash messages.
- *
- * @return array Empty array or indexed arrays or array if none.
- */
- function clearAll();
}
diff --git a/src/Symfony/Component/HttpFoundation/Session.php b/src/Symfony/Component/HttpFoundation/Session.php
index e0961c411f..b6d2f142c9 100644
--- a/src/Symfony/Component/HttpFoundation/Session.php
+++ b/src/Symfony/Component/HttpFoundation/Session.php
@@ -218,113 +218,13 @@ class Session implements SessionInterface
$this->storage = $storage;
}
- /**
- * Adds a flash to the stack for a given type.
- *
- * @param string $message
- * @param string $type
- */
- public function addFlash($message, $type = FlashBagInterface::NOTICE)
- {
- $this->storage->getFlashes()->add($message, $type);
- }
-
- /**
- * Gets flash messages for a given type.
- *
- * @param string $type Message category type.
- *
- * @return array
- */
- public function getFlashes($type = FlashBagInterface::NOTICE)
- {
- return $this->storage->getFlashes()->get($type);
- }
-
- /**
- * Pops flash messages off th stack for a given type.
- *
- * @param string $type Message category type.
- *
- * @return array
- */
- public function popFlashes($type = FlashBagInterface::NOTICE)
- {
- return $this->storage->getFlashes()->pop($type);
- }
-
- /**
- * Pop all flash messages from the stack.
- *
- * @return array Empty array or indexed array of arrays.
- */
- public function popAllFlashes()
- {
- return $this->storage->getFlashes()->popAll();
- }
-
- /**
- * Sets an array of flash messages for a given type.
- *
- * @param string $type
- * @param array $array
- */
- public function setFlashes($type, array $array)
- {
- $this->storage->getFlashes()->set($type, $array);
- }
-
- /**
- * Has flash messages for a given type?
- *
- * @param string $type
- *
- * @return boolean
- */
- public function hasFlashes($type)
- {
- return $this->storage->getFlashes()->has($type);
- }
-
- /**
- * Returns a list of all defined types.
- *
- * @return array
- */
- public function getFlashKeys()
- {
- return $this->storage->getFlashes()->keys();
- }
-
/**
* Gets all flash messages.
*
- * @return array
+ * @return FlashBagInterface
*/
- public function getAllFlashes()
+ public function getFlashes()
{
- return $this->storage->getFlashes()->all();
- }
-
- /**
- * Clears flash messages for a given type.
- *
- * @param string $type
- *
- * @return array Returns an array of what was just cleared.
- */
- public function clearFlashes($type)
- {
- return $this->storage->getFlashes()->clear($type);
- }
-
- /**
- * Clears all flash messages.
- *
- * @return array Empty array or indexed arrays or array if none.
- */
- public function clearAllFlashes()
- {
- return $this->storage->getFlashes()->clearAll();
+ return $this->storage->getFlashes();
}
}
diff --git a/src/Symfony/Component/HttpFoundation/SessionInterface.php b/src/Symfony/Component/HttpFoundation/SessionInterface.php
index acc53635fc..9cbadbe2c0 100644
--- a/src/Symfony/Component/HttpFoundation/SessionInterface.php
+++ b/src/Symfony/Component/HttpFoundation/SessionInterface.php
@@ -57,82 +57,9 @@ interface SessionInterface extends AttributeInterface, \Serializable
function save();
/**
- * Adds a flash to the stack for a given type.
+ * Gets the flashbag interface.
*
- * @param string $message
- * @param string $type
+ * @return FlashBagInterface
*/
- function addFlash($message, $type = FlashBagInterface::NOTICE);
-
- /**
- * Gets flash messages for a given type.
- *
- * @param string $type Message category type.
- *
- * @return array
- */
- function getFlashes($type = FlashBagInterface::NOTICE);
-
- /**
- * Pops flash messages off th stack for a given type.
- *
- * @param string $type Message category type.
- *
- * @return array
- */
- function popFlashes($type = FlashBagInterface::NOTICE);
-
- /**
- * Pop all flash messages from the stack.
- *
- * @return array Empty array or indexed array of arrays.
- */
- function popAllFlashes();
-
- /**
- * Sets an array of flash messages for a given type.
- *
- * @param string $type
- * @param array $array
- */
- function setFlashes($type, array $array);
-
- /**
- * Has flash messages for a given type?
- *
- * @param string $type
- *
- * @return boolean
- */
- function hasFlashes($type);
-
- /**
- * Returns a list of all defined types.
- *
- * @return array
- */
- function getFlashKeys();
-
- /**
- * Gets all flash messages.
- *
- * @return array
- */
- function getAllFlashes();
-
- /**
- * Clears flash messages for a given type.
- *
- * @param string $type
- *
- * @return array Returns an array of what was just cleared.
- */
- function clearFlashes($type);
-
- /**
- * Clears all flash messages.
- *
- * @return array Array of arrays or array if none.
- */
- function clearAllFlashes();
+ function getFlashes();
}
diff --git a/src/Symfony/Component/HttpFoundation/SessionStorage/AbstractSessionStorage.php b/src/Symfony/Component/HttpFoundation/SessionStorage/AbstractSessionStorage.php
index bef9a28ca6..7301f42110 100644
--- a/src/Symfony/Component/HttpFoundation/SessionStorage/AbstractSessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/SessionStorage/AbstractSessionStorage.php
@@ -195,7 +195,7 @@ abstract class AbstractSessionStorage implements SessionStorageInterface
{
// clear out the bags
$this->attributeBag->clear();
- $this->flashBag->clearAll();
+ $this->flashBag->popAll();
// clear out the session
$_SESSION = array();
@@ -297,12 +297,12 @@ abstract class AbstractSessionStorage implements SessionStorageInterface
// so long as ini_set() is called before the session is started.
if ($this instanceof SessionSaveHandlerInterface) {
session_set_save_handler(
- array($this, 'sessionOpen'),
- array($this, 'sessionClose'),
- array($this, 'sessionRead'),
- array($this, 'sessionWrite'),
- array($this, 'sessionDestroy'),
- array($this, 'sessionGc')
+ array($this, 'openSession'),
+ array($this, 'closeSession'),
+ array($this, 'readSession'),
+ array($this, 'writeSession'),
+ array($this, 'destroySession'),
+ array($this, 'gcSession')
);
}
}
diff --git a/src/Symfony/Component/HttpFoundation/SessionStorage/MemcacheSessionStorage.php b/src/Symfony/Component/HttpFoundation/SessionStorage/MemcacheSessionStorage.php
index 6176cb8560..91424a68cf 100644
--- a/src/Symfony/Component/HttpFoundation/SessionStorage/MemcacheSessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/SessionStorage/MemcacheSessionStorage.php
@@ -89,7 +89,7 @@ class MemcacheSessionStorage extends AbstractSessionStorage implements SessionSa
/**
* {@inheritdoc}
*/
- public function sessionOpen($savePath, $sessionName)
+ public function openSession($savePath, $sessionName)
{
foreach ($this->memcacheOptions['serverpool'] as $server) {
$this->addServer($server);
@@ -101,7 +101,7 @@ class MemcacheSessionStorage extends AbstractSessionStorage implements SessionSa
/**
* {@inheritdoc}
*/
- public function sessionClose()
+ public function closeSession()
{
return $this->memcache->close();
}
@@ -109,17 +109,15 @@ class MemcacheSessionStorage extends AbstractSessionStorage implements SessionSa
/**
* {@inheritdoc}
*/
- public function sessionRead($sessionId)
+ public function readSession($sessionId)
{
return $this->memcache->get($this->prefix.$sessionId) ?: '';
-
- return ($result) ? $result : '';
}
/**
* {@inheritdoc}
*/
- public function sessionWrite($sessionId, $data)
+ public function writeSession($sessionId, $data)
{
return $this->memcache->set($this->prefix.$sessionId, $data, $this->memcacheOptions['expiretime']);
}
@@ -127,7 +125,7 @@ class MemcacheSessionStorage extends AbstractSessionStorage implements SessionSa
/**
* {@inheritdoc}
*/
- public function sessionDestroy($sessionId)
+ public function destroySession($sessionId)
{
return $this->memcache->delete($this->prefix.$sessionId);
}
@@ -135,7 +133,7 @@ class MemcacheSessionStorage extends AbstractSessionStorage implements SessionSa
/**
* {@inheritdoc}
*/
- public function sessionGc($lifetime)
+ public function gcSession($lifetime)
{
// not required here because memcache will auto expire the records anyhow.
return true;
diff --git a/src/Symfony/Component/HttpFoundation/SessionStorage/MemcachedSessionStorage.php b/src/Symfony/Component/HttpFoundation/SessionStorage/MemcachedSessionStorage.php
index 85bb358e9e..4d72f062f1 100644
--- a/src/Symfony/Component/HttpFoundation/SessionStorage/MemcachedSessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/SessionStorage/MemcachedSessionStorage.php
@@ -72,7 +72,7 @@ class MemcachedSessionStorage extends AbstractSessionStorage implements SessionS
/**
* {@inheritdoc}
*/
- public function sessionOpen($savePath, $sessionName)
+ public function openSession($savePath, $sessionName)
{
foreach ($this->memcachedOptions['serverpool'] as $server) {
$this->addServer($server);
@@ -86,7 +86,7 @@ class MemcachedSessionStorage extends AbstractSessionStorage implements SessionS
*
* @return boolean
*/
- public function sessionClose()
+ public function closeSession()
{
return $this->memcached->close();
}
@@ -94,7 +94,7 @@ class MemcachedSessionStorage extends AbstractSessionStorage implements SessionS
/**
* {@inheritdoc}
*/
- public function sessionRead($sessionId)
+ public function readSession($sessionId)
{
return $this->memcached->get($this->prefix.$sessionId) ?: '';
}
@@ -102,7 +102,7 @@ class MemcachedSessionStorage extends AbstractSessionStorage implements SessionS
/**
* {@inheritdoc}
*/
- public function sessionWrite($sessionId, $data)
+ public function writeSession($sessionId, $data)
{
return $this->memcached->set($this->prefix.$sessionId, $data, false, $this->memcachedOptions['expiretime']);
}
@@ -110,7 +110,7 @@ class MemcachedSessionStorage extends AbstractSessionStorage implements SessionS
/**
* {@inheritdoc}
*/
- public function sessionDestroy($sessionId)
+ public function destroySession($sessionId)
{
return $this->memcached->delete($this->prefix.$sessionId);
}
@@ -118,7 +118,7 @@ class MemcachedSessionStorage extends AbstractSessionStorage implements SessionS
/**
* {@inheritdoc}
*/
- public function sessionGc($lifetime)
+ public function gcSession($lifetime)
{
// not required here because memcached will auto expire the records anyhow.
return true;
diff --git a/src/Symfony/Component/HttpFoundation/SessionStorage/NullSessionStorage.php b/src/Symfony/Component/HttpFoundation/SessionStorage/NullSessionStorage.php
index bb62c50bd4..1ba5d5b898 100644
--- a/src/Symfony/Component/HttpFoundation/SessionStorage/NullSessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/SessionStorage/NullSessionStorage.php
@@ -28,7 +28,7 @@ class NullSessionStorage extends AbstractSessionStorage implements SessionSaveHa
/**
* {@inheritdoc}
*/
- public function sessionOpen($savePath, $sessionName)
+ public function openSession($savePath, $sessionName)
{
return true;
}
@@ -38,7 +38,7 @@ class NullSessionStorage extends AbstractSessionStorage implements SessionSaveHa
*
* @return boolean
*/
- public function sessionClose()
+ public function closeSession()
{
return true;
}
@@ -46,7 +46,7 @@ class NullSessionStorage extends AbstractSessionStorage implements SessionSaveHa
/**
* {@inheritdoc}
*/
- public function sessionRead($sessionId)
+ public function readSession($sessionId)
{
return '';
}
@@ -54,7 +54,7 @@ class NullSessionStorage extends AbstractSessionStorage implements SessionSaveHa
/**
* {@inheritdoc}
*/
- public function sessionWrite($sessionId, $data)
+ public function writeSession($sessionId, $data)
{
return true;
}
@@ -62,7 +62,7 @@ class NullSessionStorage extends AbstractSessionStorage implements SessionSaveHa
/**
* {@inheritdoc}
*/
- public function sessionDestroy($sessionId)
+ public function destroySession($sessionId)
{
return true;
}
@@ -70,7 +70,7 @@ class NullSessionStorage extends AbstractSessionStorage implements SessionSaveHa
/**
* {@inheritdoc}
*/
- public function sessionGc($lifetime)
+ public function gcSession($lifetime)
{
return true;
}
diff --git a/src/Symfony/Component/HttpFoundation/SessionStorage/PdoSessionStorage.php b/src/Symfony/Component/HttpFoundation/SessionStorage/PdoSessionStorage.php
index 1a264f1753..4f1c037153 100644
--- a/src/Symfony/Component/HttpFoundation/SessionStorage/PdoSessionStorage.php
+++ b/src/Symfony/Component/HttpFoundation/SessionStorage/PdoSessionStorage.php
@@ -70,7 +70,7 @@ class PdoSessionStorage extends AbstractSessionStorage implements SessionSaveHan
/**
* {@inheritdoc}
*/
- public function sessionOpen($path = null, $name = null)
+ public function openSession($path = null, $name = null)
{
return true;
}
@@ -78,7 +78,7 @@ class PdoSessionStorage extends AbstractSessionStorage implements SessionSaveHan
/**
* {@inheritdoc}
*/
- public function sessionClose()
+ public function closeSession()
{
return true;
}
@@ -88,7 +88,7 @@ class PdoSessionStorage extends AbstractSessionStorage implements SessionSaveHan
*
* @throws \RuntimeException If the session cannot be destroyed
*/
- public function sessionDestroy($id)
+ public function destroySession($id)
{
// get table/column
$dbTable = $this->dbOptions['db_table'];
@@ -113,7 +113,7 @@ class PdoSessionStorage extends AbstractSessionStorage implements SessionSaveHan
*
* @throws \RuntimeException If any old sessions cannot be cleaned
*/
- public function sessionGc($lifetime)
+ public function gcSession($lifetime)
{
// get table/column
$dbTable = $this->dbOptions['db_table'];
@@ -138,7 +138,7 @@ class PdoSessionStorage extends AbstractSessionStorage implements SessionSaveHan
*
* @throws \RuntimeException If the session cannot be read
*/
- public function sessionRead($id)
+ public function readSession($id)
{
// get table/columns
$dbTable = $this->dbOptions['db_table'];
@@ -174,7 +174,7 @@ class PdoSessionStorage extends AbstractSessionStorage implements SessionSaveHan
*
* @throws \RuntimeException If the session data cannot be written
*/
- public function sessionWrite($id, $data)
+ public function writeSession($id, $data)
{
// get table/column
$dbTable = $this->dbOptions['db_table'];
diff --git a/src/Symfony/Component/HttpFoundation/SessionStorage/SessionSaveHandlerInterface.php b/src/Symfony/Component/HttpFoundation/SessionStorage/SessionSaveHandlerInterface.php
index c45b9d22dc..774bfa946a 100644
--- a/src/Symfony/Component/HttpFoundation/SessionStorage/SessionSaveHandlerInterface.php
+++ b/src/Symfony/Component/HttpFoundation/SessionStorage/SessionSaveHandlerInterface.php
@@ -66,7 +66,7 @@ interface SessionSaveHandlerInterface
*
* @return boolean
*/
- function sessionOpen($savePath, $sessionName);
+ function openSession($savePath, $sessionName);
/**
* Close session.
@@ -75,7 +75,7 @@ interface SessionSaveHandlerInterface
*
* @return boolean
*/
- function sessionClose();
+ function closeSession();
/**
* Read session.
@@ -98,7 +98,7 @@ interface SessionSaveHandlerInterface
*
* @return string String as stored in persistent storage or empty string in all other cases.
*/
- function sessionRead($sessionId);
+ function readSession($sessionId);
/**
* Commit session to storage.
@@ -120,7 +120,7 @@ interface SessionSaveHandlerInterface
*
* @return boolean
*/
- function sessionWrite($sessionId, $data);
+ function writeSession($sessionId, $data);
/**
* Destroys this session.
@@ -137,7 +137,7 @@ interface SessionSaveHandlerInterface
*
* @return boolean
*/
- function sessionDestroy($sessionId);
+ function destroySession($sessionId);
/**
* Garbage collection for storage.
@@ -153,5 +153,5 @@ interface SessionSaveHandlerInterface
*
* @return boolean
*/
- function sessionGc($lifetime);
+ function gcSession($lifetime);
}
diff --git a/tests/Symfony/Tests/Component/HttpFoundation/AutoExpireFlashBagTest.php b/tests/Symfony/Tests/Component/HttpFoundation/AutoExpireFlashBagTest.php
index d3c21c6c06..f7cd4d5dc6 100644
--- a/tests/Symfony/Tests/Component/HttpFoundation/AutoExpireFlashBagTest.php
+++ b/tests/Symfony/Tests/Component/HttpFoundation/AutoExpireFlashBagTest.php
@@ -35,7 +35,7 @@ class AutoExpireFlashBagTest extends \PHPUnit_Framework_TestCase
{
parent::setUp();
$this->bag = new FlashBag();
- $this->array = array('new' => array(FlashBag::NOTICE => array('A previous flash message')));
+ $this->array = array('new' => array(FlashBag::NOTICE => 'A previous flash message'));
$this->bag->initialize($this->array);
}
@@ -48,36 +48,36 @@ class AutoExpireFlashBagTest extends \PHPUnit_Framework_TestCase
public function testInitialize()
{
$bag = new FlashBag();
- $array = array('new' => array(FlashBag::NOTICE => array('A previous flash message')));
+ $array = array('new' => array(FlashBag::NOTICE => 'A previous flash message'));
$bag->initialize($array);
- $this->assertEquals(array('A previous flash message'), $bag->get(FlashBag::NOTICE));
+ $this->assertEquals('A previous flash message', $bag->get(FlashBag::NOTICE));
$array = array('new' => array(
- FlashBag::NOTICE => array('Something else'),
- FlashBag::ERROR => array('a', 'b'),
+ FlashBag::NOTICE => 'Something else',
+ FlashBag::ERROR => 'a',
));
$bag->initialize($array);
- $this->assertEquals(array('Something else'), $bag->get(FlashBag::NOTICE));
- $this->assertEquals(array('a', 'b'), $bag->get(FlashBag::ERROR));
- }
-
- public function testAdd()
- {
- $this->bag->add('Something new', FlashBag::NOTICE);
- $this->bag->add('Smile, it might work next time', FlashBag::ERROR);
- $this->assertEquals(array('A previous flash message'), $this->bag->get(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->get(FlashBag::ERROR));
+ $this->assertEquals('Something else', $bag->get(FlashBag::NOTICE));
+ $this->assertEquals('a', $bag->get(FlashBag::ERROR));
}
public function testGet()
{
- $this->assertEquals(array('A previous flash message'), $this->bag->get(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->get('non_existing_type'));
+ $this->assertEquals('A previous flash message', $this->bag->get(FlashBag::NOTICE));
+ $this->assertEquals('A previous flash message', $this->bag->get(FlashBag::NOTICE));
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testGetException()
+ {
+ $this->bag->get('non_existing_type');
}
public function testSet()
{
- $this->bag->set(FlashBag::NOTICE, array('Foo', 'Bar'));
- $this->assertNotEquals(array('Foo', 'Bar'), $this->bag->get(FlashBag::NOTICE));
+ $this->bag->set(FlashBag::NOTICE, 'Foo');
+ $this->assertNotEquals('Foo', $this->bag->get(FlashBag::NOTICE));
}
public function testHas()
@@ -95,58 +95,45 @@ class AutoExpireFlashBagTest extends \PHPUnit_Framework_TestCase
{
$array = array(
'new' => array(
- FlashBag::NOTICE => array('Foo'),
- FlashBag::ERROR => array('Bar'),
+ FlashBag::NOTICE => 'Foo',
+ FlashBag::ERROR => 'Bar',
),
);
$this->bag->initialize($array);
$this->assertEquals(array(
- FlashBag::NOTICE => array('Foo'),
- FlashBag::ERROR => array('Bar'),
+ FlashBag::NOTICE => 'Foo',
+ FlashBag::ERROR => 'Bar',
), $this->bag->all()
);
}
+ /**
+ * @expectedException \InvalidArgumentException
+ */
public function testPop()
{
- $this->assertEquals(array('A previous flash message'), $this->bag->pop(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->pop(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->pop('non_existing_type'));
+ $this->assertEquals('A previous flash message', $this->bag->pop(FlashBag::NOTICE));
+ $this->bag->pop(FlashBag::NOTICE);
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testPopException()
+ {
+ $this->bag->pop('non_existing_type');
}
public function testPopAll()
{
- $this->bag->set(FlashBag::NOTICE, array('Foo'));
- $this->bag->set(FlashBag::ERROR, array('Bar'));
+ $this->bag->set(FlashBag::NOTICE, 'Foo');
+ $this->bag->set(FlashBag::ERROR, 'Bar');
$this->assertEquals(array(
- FlashBag::NOTICE => array('A previous flash message'),
+ FlashBag::NOTICE => 'A previous flash message',
), $this->bag->popAll()
);
$this->assertEquals(array(), $this->bag->popAll());
}
-
- public function testClear()
- {
- $this->assertTrue($this->bag->has(FlashBag::NOTICE));
- $this->assertEquals(array('A previous flash message'), $this->bag->clear(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->clear(FlashBag::NOTICE));
- $this->assertFalse($this->bag->has(FlashBag::NOTICE));
- }
-
- public function testClearAll()
- {
- $this->assertTrue($this->bag->has(FlashBag::NOTICE));
- $this->bag->add('Smile, it might work next time', FlashBag::ERROR);
- $this->assertFalse($this->bag->has(FlashBag::ERROR));
- $this->assertEquals(array(
- FlashBag::NOTICE => array('A previous flash message'),
- ), $this->bag->clearAll()
- );
- $this->assertEquals(array(), $this->bag->clearAll());
- $this->assertFalse($this->bag->has(FlashBag::NOTICE));
- $this->assertFalse($this->bag->has(FlashBag::ERROR));
- }
-
}
diff --git a/tests/Symfony/Tests/Component/HttpFoundation/FlashBagTest.php b/tests/Symfony/Tests/Component/HttpFoundation/FlashBagTest.php
index 0d5a8a1ac5..356fd42516 100644
--- a/tests/Symfony/Tests/Component/HttpFoundation/FlashBagTest.php
+++ b/tests/Symfony/Tests/Component/HttpFoundation/FlashBagTest.php
@@ -35,7 +35,7 @@ class FlashBagTest extends \PHPUnit_Framework_TestCase
{
parent::setUp();
$this->bag = new FlashBag();
- $this->array = array(FlashBag::NOTICE => array('A previous flash message'));
+ $this->array = array(FlashBag::NOTICE => 'A previous flash message');
$this->bag->initialize($this->array);
}
@@ -55,43 +55,58 @@ class FlashBagTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($array, $bag->all());
}
- public function testAdd()
- {
- $this->bag->add('Something new', FlashBag::NOTICE);
- $this->bag->add('Smile, it might work next time', FlashBag::ERROR);
- $this->assertEquals(array('A previous flash message', 'Something new'), $this->bag->get(FlashBag::NOTICE));
- $this->assertEquals(array('Smile, it might work next time'), $this->bag->get(FlashBag::ERROR));
- }
-
public function testGet()
{
- $this->assertEquals(array('A previous flash message'), $this->bag->get(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->get('non_existing_type'));
+ $this->assertEquals('A previous flash message', $this->bag->get(FlashBag::NOTICE));
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testGetException()
+ {
+ $this->bag->get('non_existing_type');
}
public function testPop()
{
- $this->assertEquals(array('A previous flash message'), $this->bag->pop(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->pop(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->pop('non_existing_type'));
+ $this->assertEquals('A previous flash message', $this->bag->pop(FlashBag::NOTICE));
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testPopException()
+ {
+ $this->assertEquals('A previous flash message', $this->bag->pop(FlashBag::NOTICE));
+ $this->bag->pop(FlashBag::NOTICE);
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testPopExceptionNotExisting()
+ {
+ $this->bag->pop('non_existing_type');
}
public function testPopAll()
{
- $this->bag->set(FlashBag::NOTICE, array('Foo'));
- $this->bag->set(FlashBag::ERROR, array('Bar'));
+ $this->bag->set(FlashBag::NOTICE, 'Foo');
+ $this->bag->set(FlashBag::ERROR, 'Bar');
$this->assertEquals(array(
- FlashBag::NOTICE => array('Foo'),
- FlashBag::ERROR => array('Bar')), $this->bag->popAll()
+ FlashBag::NOTICE => 'Foo',
+ FlashBag::ERROR => 'Bar'), $this->bag->popAll()
);
$this->assertEquals(array(), $this->bag->popAll());
}
- public function testSet()
+ public function testset()
{
- $this->bag->set(FlashBag::NOTICE, array('Foo', 'Bar'));
- $this->assertEquals(array('Foo', 'Bar'), $this->bag->get(FlashBag::NOTICE));
+ $this->bag->set(FlashBag::NOTICE, 'Foo');
+ $this->bag->set(FlashBag::NOTICE, 'Bar');
+ $this->assertEquals('Bar', $this->bag->get(FlashBag::NOTICE));
}
public function testHas()
@@ -107,42 +122,19 @@ class FlashBagTest extends \PHPUnit_Framework_TestCase
public function testAll()
{
- $this->bag->set(FlashBag::NOTICE, array('Foo'));
- $this->bag->set(FlashBag::ERROR, array('Bar'));
+ $this->bag->set(FlashBag::NOTICE, 'Foo');
+ $this->bag->set(FlashBag::ERROR, 'Bar');
$this->assertEquals(array(
- FlashBag::NOTICE => array('Foo'),
- FlashBag::ERROR => array('Bar')), $this->bag->all()
+ FlashBag::NOTICE => 'Foo',
+ FlashBag::ERROR => 'Bar',
+ ), $this->bag->all()
);
$this->assertTrue($this->bag->has(FlashBag::NOTICE));
$this->assertTrue($this->bag->has(FlashBag::ERROR));
$this->assertEquals(array(
- FlashBag::NOTICE => array('Foo'),
- FlashBag::ERROR => array('Bar'),
+ FlashBag::NOTICE => 'Foo',
+ FlashBag::ERROR => 'Bar',
), $this->bag->all()
);
}
-
- public function testClear()
- {
- $this->assertTrue($this->bag->has(FlashBag::NOTICE));
- $this->assertEquals(array('A previous flash message'), $this->bag->clear(FlashBag::NOTICE));
- $this->assertEquals(array(), $this->bag->clear(FlashBag::NOTICE));
- $this->assertFalse($this->bag->has(FlashBag::NOTICE));
- }
-
- public function testClearAll()
- {
- $this->assertTrue($this->bag->has(FlashBag::NOTICE));
- $this->bag->add('Smile, it might work next time', FlashBag::ERROR);
- $this->assertTrue($this->bag->has(FlashBag::ERROR));
- $this->assertEquals(array(
- FlashBag::NOTICE => array('A previous flash message'),
- FlashBag::ERROR => array('Smile, it might work next time'),
- ), $this->bag->clearAll()
- );
- $this->assertEquals(array(), $this->bag->clearAll());
- $this->assertFalse($this->bag->has(FlashBag::NOTICE));
- $this->assertFalse($this->bag->has(FlashBag::ERROR));
- }
-
}
diff --git a/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/AbstractSessionStorageTest.php b/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/AbstractSessionStorageTest.php
index c98d03cd87..1f00b059a5 100644
--- a/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/AbstractSessionStorageTest.php
+++ b/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/AbstractSessionStorageTest.php
@@ -2,14 +2,13 @@
namespace Symfony\Tests\Component\HttpFoundation\SessionStorage;
-use Symfony\Component\HttpFoundation\AttributeBag;
-use Symfony\Component\HttpFoundation\FlashBag;
use Symfony\Component\HttpFoundation\SessionStorage\AbstractSessionStorage;
use Symfony\Component\HttpFoundation\SessionStorage\SessionSaveHandlerInterface;
/**
* Turn AbstractSessionStorage into something concrete because
- * certain mocking features are broken in PHPUnit 3.6.4
+ * certain mocking features are broken in PHPUnit-Mock-Objects < 1.1.2
+ * @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/73
*/
class ConcreteSessionStorage extends AbstractSessionStorage
{
@@ -17,27 +16,27 @@ class ConcreteSessionStorage extends AbstractSessionStorage
class CustomHandlerSessionStorage extends AbstractSessionStorage implements SessionSaveHandlerInterface
{
- public function sessionOpen($path, $id)
+ public function openSession($path, $id)
{
}
- public function sessionClose()
+ public function closeSession()
{
}
- public function sessionRead($id)
+ public function readSession($id)
{
}
- public function sessionWrite($id, $data)
+ public function writeSession($id, $data)
{
}
- public function sessionDestroy($id)
+ public function destroySession($id)
{
}
- public function sessionGc($lifetime)
+ public function gcSession($lifetime)
{
}
}
@@ -58,7 +57,7 @@ class AbstractSessionStorageTest extends \PHPUnit_Framework_TestCase
*/
protected function getStorage()
{
- return new CustomHandlerSessionStorage(new AttributeBag(), new FlashBag());
+ return new CustomHandlerSessionStorage();
}
public function testGetFlashBag()
@@ -106,13 +105,13 @@ class AbstractSessionStorageTest extends \PHPUnit_Framework_TestCase
public function testCustomSaveHandlers()
{
- $storage = new CustomHandlerSessionStorage(new AttributeBag(), new FlashBag());
+ $storage = new CustomHandlerSessionStorage();
$this->assertEquals('user', ini_get('session.save_handler'));
}
public function testNativeSaveHandlers()
{
- $storage = new ConcreteSessionStorage(new AttributeBag(), new FlashBag());
+ $storage = new ConcreteSessionStorage();
$this->assertNotEquals('user', ini_get('session.save_handler'));
}
}
diff --git a/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/MockFileSessionStorageTest.php b/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/MockFileSessionStorageTest.php
index 58f44ccf2e..f0ba864b31 100644
--- a/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/MockFileSessionStorageTest.php
+++ b/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/MockFileSessionStorageTest.php
@@ -3,10 +3,6 @@
namespace Symfony\Test\Component\HttpFoundation\SessionStorage;
use Symfony\Component\HttpFoundation\SessionStorage\MockFileSessionStorage;
-use Symfony\Component\HttpFoundation\FlashBag;
-use Symfony\Component\HttpFoundation\FlashBagInterface;
-use Symfony\Component\HttpFoundation\AttributeBag;
-use Symfony\Component\HttpFoundation\AttributeBagInterface;
/**
* Test class for MockFileSessionStorage.
@@ -74,14 +70,14 @@ class MockFileSessionStorageTest extends \PHPUnit_Framework_TestCase
$this->assertNotEquals('108', $this->storage->getAttributes()->get('new'));
$this->assertFalse($this->storage->getFlashes()->has('newkey'));
$this->storage->getAttributes()->set('new', '108');
- $this->storage->getFlashes()->add('test', 'newkey');
+ $this->storage->getFlashes()->set('newkey', 'test');
$this->storage->save();
$storage = $this->getStorage();
$storage->start();
$this->assertEquals('108', $storage->getAttributes()->get('new'));
$this->assertTrue($storage->getFlashes()->has('newkey'));
- $this->assertEquals(array('test'), $storage->getFlashes()->get('newkey'));
+ $this->assertEquals('test', $storage->getFlashes()->get('newkey'));
}
public function testMultipleInstances()
@@ -98,6 +94,6 @@ class MockFileSessionStorageTest extends \PHPUnit_Framework_TestCase
private function getStorage(array $options = array())
{
- return new MockFileSessionStorage($this->sessionDir, $options, new AttributeBag(), new FlashBag());
+ return new MockFileSessionStorage($this->sessionDir, $options);
}
}
diff --git a/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/NullSessionStorageTest.php b/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/NullSessionStorageTest.php
index a8fcf98c40..6bc94def52 100644
--- a/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/NullSessionStorageTest.php
+++ b/tests/Symfony/Tests/Component/HttpFoundation/SessionStorage/NullSessionStorageTest.php
@@ -2,8 +2,6 @@
namespace Symfony\Tests\Component\HttpFoundation\SessionStorage;
use Symfony\Component\HttpFoundation\SessionStorage\NullSessionStorage;
-use Symfony\Component\HttpFoundation\AttributeBag;
-use Symfony\Component\HttpFoundation\FlashBag;
use Symfony\Component\HttpFoundation\Session;
/**
diff --git a/tests/Symfony/Tests/Component/HttpFoundation/SessionTest.php b/tests/Symfony/Tests/Component/HttpFoundation/SessionTest.php
index f4e3ee00d3..3066319463 100644
--- a/tests/Symfony/Tests/Component/HttpFoundation/SessionTest.php
+++ b/tests/Symfony/Tests/Component/HttpFoundation/SessionTest.php
@@ -123,28 +123,28 @@ class SessionTest extends \PHPUnit_Framework_TestCase
public function testInvalidate()
{
$this->session->set('invalidate', 123);
- $this->session->addFlash('OK');
+ $this->session->getFlashes()->set(FlashBag::NOTICE, 'OK');
$this->session->invalidate();
$this->assertEquals(array(), $this->session->all());
- $this->assertEquals(array(), $this->session->getAllFlashes());
+ $this->assertEquals(array(), $this->session->getFlashes()->all());
}
public function testMigrate()
{
$this->session->set('migrate', 321);
- $this->session->addFlash('HI');
+ $this->session->getFlashes()->set(FlashBag::NOTICE, 'HI');
$this->session->migrate();
$this->assertEquals(321, $this->session->get('migrate'));
- $this->assertEquals(array('HI'), $this->session->getFlashes(FlashBag::NOTICE));
+ $this->assertEquals('HI', $this->session->getFlashes()->get(FlashBag::NOTICE));
}
public function testMigrateDestroy()
{
$this->session->set('migrate', 333);
- $this->session->addFlash('Bye');
+ $this->session->getFlashes()->set(FlashBag::NOTICE, 'Bye');
$this->session->migrate(true);
$this->assertEquals(333, $this->session->get('migrate'));
- $this->assertEquals(array('Bye'), $this->session->getFlashes(FlashBag::NOTICE));
+ $this->assertEquals('Bye', $this->session->getFlashes()->get(FlashBag::NOTICE));
}
public function testSerialize()
@@ -176,167 +176,4 @@ class SessionTest extends \PHPUnit_Framework_TestCase
$this->session->start();
$this->assertNotEquals('', $this->session->getId());
}
-
- /**
- * @dataProvider provideFlashes
- */
- public function testAddFlash($type, $flashes)
- {
- foreach ($flashes as $message) {
- $this->session->addFlash($message, $type);
- }
-
- $this->assertEquals($flashes, $this->session->getFlashes($type));
- }
-
- /**
- * @dataProvider provideFlashes
- */
- public function testGetFlashes($type, $flashes)
- {
- $this->session->setFlashes($type, $flashes);
- $this->assertEquals($flashes, $this->session->getFlashes($type));
- }
-
- /**
- * @dataProvider provideFlashes
- */
- public function testPopFlashes($type, $flashes)
- {
- $this->session->setFlashes($type, $flashes);
- $this->assertEquals($flashes, $this->session->popFlashes($type));
- $this->assertEquals(array(), $this->session->popFlashes($type));
- }
-
- /**
- * @dataProvider provideFlashes
- */
- public function testPopAllFlashes($type, $flashes)
- {
- $this->session->setFlashes(FlashBag::NOTICE, array('First', 'Second'));
- $this->session->setFlashes(FlashBag::ERROR, array('Third'));
-
- $expected = array(
- FlashBag::NOTICE => array('First', 'Second'),
- FlashBag::ERROR => array('Third'),
- );
-
- $this->assertEquals($expected, $this->session->popAllFlashes());
- $this->assertEquals(array(), $this->session->popAllFlashes());
- }
-
- public function testSetFlashes()
- {
- $this->session->setFlashes(FlashBag::NOTICE, array('First', 'Second'));
- $this->session->setFlashes(FlashBag::ERROR, array('Third'));
- $this->assertEquals(array('First', 'Second'), $this->session->getFlashes(FlashBag::NOTICE, false));
- $this->assertEquals(array('Third'), $this->session->getFlashes(FlashBag::ERROR, false));
- }
-
- /**
- * @dataProvider provideFlashes
- */
- public function testHasFlashes($type, $flashes)
- {
- $this->assertFalse($this->session->hasFlashes($type));
- $this->session->setFlashes($type, $flashes);
- $this->assertTrue($this->session->hasFlashes($type));
- }
-
- /**
- * @dataProvider provideFlashes
- */
- public function testGetFlashKeys($type, $flashes)
- {
- $this->assertEquals(array(), $this->session->getFlashKeys());
- $this->session->setFlashes($type, $flashes);
- $this->assertEquals(array($type), $this->session->getFlashKeys());
- }
-
- public function testGetFlashKeysBulk()
- {
- $this->loadFlashes();
- $this->assertEquals(array(
- FlashBag::NOTICE, FlashBag::ERROR, FlashBag::WARNING, FlashBag::INFO), $this->session->getFlashKeys()
- );
- }
-
- public function testGetAllFlashes()
- {
- $this->assertEquals(array(), $this->session->getAllFlashes());
-
- $this->session->addFlash('a', FlashBag::NOTICE);
- $this->assertEquals(array(
- FlashBag::NOTICE => array('a')
- ), $this->session->getAllFlashes()
- );
-
- $this->session->addFlash('a', FlashBag::ERROR);
- $this->assertEquals(array(
- FlashBag::NOTICE => array('a'),
- FlashBag::ERROR => array('a'),
- ), $this->session->getAllFlashes());
-
- $this->session->addFlash('a', FlashBag::WARNING);
- $this->assertEquals(array(
- FlashBag::NOTICE => array('a'),
- FlashBag::ERROR => array('a'),
- FlashBag::WARNING => array('a'),
- ), $this->session->getAllFlashes()
- );
-
- $this->session->addFlash('a', FlashBag::INFO);
- $this->assertEquals(array(
- FlashBag::NOTICE => array('a'),
- FlashBag::ERROR => array('a'),
- FlashBag::WARNING => array('a'),
- FlashBag::INFO => array('a'),
- ), $this->session->getAllFlashes()
- );
-
- $this->assertEquals(array(
- FlashBag::NOTICE => array('a'),
- FlashBag::ERROR => array('a'),
- FlashBag::WARNING => array('a'),
- FlashBag::INFO => array('a'),
- ), $this->session->getAllFlashes()
- );
- }
-
- /**
- * @dataProvider provideFlashes
- */
- public function testClearFlashes($type, $flashes)
- {
- $this->session->setFlashes($type, $flashes);
- $this->session->clearFlashes($type);
- $this->assertEquals(array(), $this->session->getFlashes($type));
- }
-
- public function testClearAllFlashes()
- {
- $this->loadFlashes();
- $this->assertNotEquals(array(), $this->session->getAllFlashes());
- $this->session->clearAllFlashes();
- $this->assertEquals(array(), $this->session->getAllFlashes());
- }
-
- protected function loadFlashes()
- {
- $flashes = $this->provideFlashes();
- foreach ($flashes as $data) {
- $this->session->setFlashes($data[0], $data[1]);
- }
- }
-
- public function provideFlashes()
- {
- return array(
- array(FlashBag::NOTICE, array('a', 'b', 'c')),
- array(FlashBag::ERROR, array('d', 'e', 'f')),
- array(FlashBag::WARNING, array('g', 'h', 'i')),
- array(FlashBag::INFO, array('j', 'k', 'l')),
- );
- }
-
}