mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * @link https://www.yiiframework.com/
 | 
						|
 * @copyright Copyright (c) 2008 Yii Software LLC
 | 
						|
 * @license https://www.yiiframework.com/license/
 | 
						|
 */
 | 
						|
 | 
						|
namespace yiiunit\framework\web\session;
 | 
						|
 | 
						|
use Yii;
 | 
						|
use yii\caching\FileCache;
 | 
						|
use yii\web\CacheSession;
 | 
						|
 | 
						|
/**
 | 
						|
 * @group web
 | 
						|
 */
 | 
						|
class CacheSessionTest extends \yiiunit\TestCase
 | 
						|
{
 | 
						|
    use SessionTestTrait;
 | 
						|
 | 
						|
    protected function setUp(): void
 | 
						|
    {
 | 
						|
        parent::setUp();
 | 
						|
        $this->mockApplication();
 | 
						|
        Yii::$app->set('cache', new FileCache());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testCacheSession()
 | 
						|
    {
 | 
						|
        $session = new CacheSession();
 | 
						|
 | 
						|
        $session->writeSession('test', 'sessionData');
 | 
						|
        $this->assertEquals('sessionData', $session->readSession('test'));
 | 
						|
        $session->destroySession('test');
 | 
						|
        $this->assertEquals('', $session->readSession('test'));
 | 
						|
    }
 | 
						|
 | 
						|
    public function testInvalidCache()
 | 
						|
    {
 | 
						|
        $this->expectException('\Exception');
 | 
						|
        new CacheSession(['cache' => 'invalid']);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * @see https://github.com/yiisoft/yii2/issues/13537
 | 
						|
     */
 | 
						|
    public function testNotWrittenSessionDestroying()
 | 
						|
    {
 | 
						|
        $session = new CacheSession();
 | 
						|
 | 
						|
        $session->set('foo', 'bar');
 | 
						|
        $this->assertEquals('bar', $session->get('foo'));
 | 
						|
 | 
						|
        $this->assertTrue($session->destroySession($session->getId()));
 | 
						|
    }
 | 
						|
 | 
						|
    public function testInitUseStrictMode()
 | 
						|
    {
 | 
						|
        $this->initStrictModeTest(CacheSession::className());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testUseStrictMode()
 | 
						|
    {
 | 
						|
        $this->useStrictModeTest(CacheSession::className());
 | 
						|
    }
 | 
						|
}
 |