123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?php
- use Laravel\Session\Payload;
- class SessionPayloadTest extends PHPUnit_Framework_TestCase {
- public function testHasMethodIndicatesIfItemExistsInPayload()
- {
- $payload = new Payload($this->getDummyData());
- $this->assertTrue($payload->has('name'));
- $this->assertTrue($payload->has('age'));
- $this->assertTrue($payload->has('gender'));
- $this->assertFalse($payload->has('something'));
- $this->assertFalse($payload->has('id'));
- $this->assertFalse($payload->has('last_activity'));
- }
- public function testGetMethodReturnsItemFromPayload()
- {
- $payload = new Payload($this->getDummyData());
- $this->assertEquals($payload->get('name'), 'Taylor');
- $this->assertEquals($payload->get('age'), 25);
- $this->assertEquals($payload->get('gender'), 'male');
- }
- public function testGetMethodReturnsDefaultWhenItemDoesntExist()
- {
- $payload = new Payload($this->getDummyData());
- $this->assertNull($payload->get('something'));
- $this->assertEquals('Taylor', $payload->get('something', 'Taylor'));
- $this->assertEquals('Taylor', $payload->get('something', function() {return 'Taylor';}));
- }
- public function testPutMethodAddsToPayload()
- {
- $payload = new Payload($this->getDummyData());
- $payload->put('name', 'Weldon');
- $payload->put('workmate', 'Joe');
- $this->assertEquals($payload->session['data']['name'], 'Weldon');
- $this->assertEquals($payload->session['data']['workmate'], 'Joe');
- $this->assertInstanceOf('Laravel\\Session\\Payload', $payload->put('something', 'test'));
- }
- public function testFlashMethodPutsItemInFlashData()
- {
- $payload = new Payload(array());
- $payload->flash('name', 'Taylor');
- $this->assertEquals($payload->session['data'][':new:name'], 'Taylor');
- $this->assertInstanceOf('Laravel\\Session\\Payload', $payload->flash('something', 'test'));
- }
- public function testReflashKeepsAllSessionData()
- {
- $payload = new Payload(array('data' => array(':old:name' => 'Taylor', ':old:age' => 25)));
- $payload->reflash();
- $this->assertTrue(isset($payload->session['data'][':new:name']));
- $this->assertTrue(isset($payload->session['data'][':new:age']));
- $this->assertFalse(isset($payload->session['data'][':old:name']));
- $this->assertFalse(isset($payload->session['data'][':old:age']));
- }
- public function testKeepMethodKeepsSpecificSessionData()
- {
- $payload = new Payload(array('data' => array(':old:name' => 'Taylor', ':old:age' => 25)));
- $payload->keep('name');
- $this->assertTrue(isset($payload->session['data'][':new:name']));
- $this->assertFalse(isset($payload->session['data'][':old:name']));
- $payload = new Payload(array('data' => array(':old:name' => 'Taylor', ':old:age' => 25)));
- $payload->keep(array('name', 'age'));
- $this->assertTrue(isset($payload->session['data'][':new:name']));
- $this->assertTrue(isset($payload->session['data'][':new:age']));
- $this->assertFalse(isset($payload->session['data'][':old:name']));
- $this->assertFalse(isset($payload->session['data'][':old:age']));
- }
- public function testFlushMethodShouldClearPayloadData()
- {
- $payload = new Payload(array('data' => array('name' => 'Taylor')));
- $payload->flush();
- $this->assertEquals(count($payload->session['data']), 0);
- }
- public function testRegenerateMethodSetsNewSessionID()
- {
- $payload = new Payload(array('id' => 'something'));
- $payload->regenerate();
- $this->assertEquals(strlen($payload->session['id']), 40);
- }
- public function testAgeMethodSetsLastActivityTime()
- {
- $data = $this->getDummyData();
- unset($data['last_activity']);
- $payload = new Payload($data);
- $payload->age();
- $this->assertTrue(isset($payload->session['last_activity']));
- }
- public function testAgeMethodAgesAllFlashData()
- {
- $payload = new Payload($this->getDummyData());
- $payload->age();
- $this->assertTrue(isset($payload->session['data'][':old:age']));
- $this->assertFalse(isset($payload->session['data'][':old:gender']));
- }
- public function testAgeMethodReturnsSessionArray()
- {
- $payload = new Payload($this->getDummyData());
- $age = $payload->age();
- $this->assertEquals($age['id'], 'something');
- }
-
-
-
- public function getDummyData()
- {
- return array('id' => 'something', 'last_activity' => time(), 'data' => array(
- 'name' => 'Taylor',
- ':new:age' => 25,
- ':old:gender' => 'male',
- 'state' => 'Oregon',
- ));
- }
- }
|