| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | <?phpuse 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');	}	// ---------------------------------------------------------------------	// Support Functions	// ---------------------------------------------------------------------	public function getDummyData()	{		return array('id' => 'something', 'last_activity' => time(), 'data' => array(				'name'        => 'Taylor',				':new:age'    => 25,				':old:gender' => 'male',				'state'       => 'Oregon',		));	}}
 |