Example #1
0
 /**
  * @covers \jjok\Flasher\Factory::createSessionFlasher
  */
 public function testSessionFlasherCanBeCreated()
 {
     $factory = new Factory();
     // 		$session = array();
     $namespace = 'test';
     // 		$flasher = $factory->createSessionFlasher($session, 'test');
     $mock_message = $this->getMockBuilder('jjok\\Flasher\\Messages\\AbstractMessage')->disableOriginalConstructor()->getMock();
     $serialized_message = serialize($mock_message);
     $session = array($namespace => array($serialized_message, $serialized_message), 'an unrelated thing' => 'some value');
     $flasher = $factory->createSessionFlasher($session, $namespace);
     $this->assertInstanceOf('\\jjok\\Flasher\\SessionFlasher', $flasher);
     # Check session has been emptied
     $this->assertCount(1, $session);
     $this->assertArrayNotHasKey($namespace, $session);
     $this->assertArrayHasKey('an unrelated thing', $session);
     $this->assertEquals('some value', $session['an unrelated thing']);
     # Destroy the queue and save to session
     unset($flasher);
     $this->assertArrayHasKey($namespace, $session);
     $this->assertCount(2, $session);
     $this->assertCount(2, $session[$namespace]);
     $this->assertInstanceOf('jjok\\Flasher\\Messages\\AbstractMessage', unserialize($session[$namespace][0]));
     $this->assertInstanceOf('jjok\\Flasher\\Messages\\AbstractMessage', unserialize($session[$namespace][1]));
 }
Example #2
0
<?php

use jjok\Flasher\Factory;
use jjok\Flasher\Messages\Message;
require __DIR__ . '/../src/jjok/Flasher/Factory.php';
require __DIR__ . '/../src/jjok/Flasher/Flasher.php';
require __DIR__ . '/../src/jjok/Flasher/SessionFlasher.php';
require __DIR__ . '/../src/jjok/Flasher/Messages/AbstractMessage.php';
require __DIR__ . '/../src/jjok/Flasher/Messages/Message.php';
session_start();
$factory = new Factory();
$message_queue = $factory->createSessionFlasher($_SESSION, 'queued_messages');
$message_queue->enqueue(new Message('This is a message that was stored in the session.'));
# Object is destroyed when page reloads or something
unset($message_queue);
$message_queue = $factory->createSessionFlasher($_SESSION, 'queued_messages');
while (!$message_queue->isEmpty()) {
    echo $message_queue->dequeue();
}