1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10:
11:
12: namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
13:
14: use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler;
15: use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
16:
17: 18: 19: 20: 21: 22: 23: 24:
25: class NativeFileSessionHandlerTest extends \PHPUnit_Framework_TestCase
26: {
27: public function testConstruct()
28: {
29: $storage = new NativeSessionStorage(array('name' => 'TESTING'), new NativeFileSessionHandler(sys_get_temp_dir()));
30:
31: if (PHP_VERSION_ID < 50400) {
32: $this->assertEquals('files', $storage->getSaveHandler()->getSaveHandlerName());
33: $this->assertEquals('files', ini_get('session.save_handler'));
34: } else {
35: $this->assertEquals('files', $storage->getSaveHandler()->getSaveHandlerName());
36: $this->assertEquals('user', ini_get('session.save_handler'));
37: }
38:
39: $this->assertEquals(sys_get_temp_dir(), ini_get('session.save_path'));
40: $this->assertEquals('TESTING', ini_get('session.name'));
41: }
42:
43: 44: 45:
46: public function testConstructSavePath($savePath, $expectedSavePath, $path)
47: {
48: $handler = new NativeFileSessionHandler($savePath);
49: $this->assertEquals($expectedSavePath, ini_get('session.save_path'));
50: $this->assertTrue(is_dir(realpath($path)));
51:
52: rmdir($path);
53: }
54:
55: public function savePathDataProvider()
56: {
57: $base = sys_get_temp_dir();
58:
59: return array(
60: array("$base/foo", "$base/foo", "$base/foo"),
61: array("5;$base/foo", "5;$base/foo", "$base/foo"),
62: array("5;0600;$base/foo", "5;0600;$base/foo", "$base/foo"),
63: );
64: }
65:
66: 67: 68:
69: public function testConstructException()
70: {
71: $handler = new NativeFileSessionHandler('something;invalid;with;too-many-args');
72: }
73:
74: public function testConstructDefault()
75: {
76: $path = ini_get('session.save_path');
77: $storage = new NativeSessionStorage(array('name' => 'TESTING'), new NativeFileSessionHandler());
78:
79: $this->assertEquals($path, ini_get('session.save_path'));
80: }
81: }
82: