Server IP : 127.0.0.2 / Your IP : 18.222.25.95 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/vendor/symfony/http-foundation/Tests/Session/Attribute/ |
Upload File : |
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpFoundation\Tests\Session\Attribute; use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; /** * Tests AttributeBag. * * @author Drak <drak@zikula.org> */ class AttributeBagTest extends \PHPUnit_Framework_TestCase { /** * @var array */ private $array; /** * @var AttributeBag */ private $bag; protected function setUp() { $this->array = array( 'hello' => 'world', 'always' => 'be happy', 'user.login' => 'drak', 'csrf.token' => array( 'a' => '1234', 'b' => '4321', ), 'category' => array( 'fishing' => array( 'first' => 'cod', 'second' => 'sole', ), ), ); $this->bag = new AttributeBag('_sf2'); $this->bag->initialize($this->array); } protected function tearDown() { $this->bag = null; $this->array = array(); } public function testInitialize() { $bag = new AttributeBag(); $bag->initialize($this->array); $this->assertEquals($this->array, $bag->all()); $array = array('should' => 'change'); $bag->initialize($array); $this->assertEquals($array, $bag->all()); } public function testGetStorageKey() { $this->assertEquals('_sf2', $this->bag->getStorageKey()); $attributeBag = new AttributeBag('test'); $this->assertEquals('test', $attributeBag->getStorageKey()); } public function testGetSetName() { $this->assertEquals('attributes', $this->bag->getName()); $this->bag->setName('foo'); $this->assertEquals('foo', $this->bag->getName()); } /** * @dataProvider attributesProvider */ public function testHas($key, $value, $exists) { $this->assertEquals($exists, $this->bag->has($key)); } /** * @dataProvider attributesProvider */ public function testGet($key, $value, $expected) { $this->assertEquals($value, $this->bag->get($key)); } public function testGetDefaults() { $this->assertNull($this->bag->get('user2.login')); $this->assertEquals('default', $this->bag->get('user2.login', 'default')); } /** * @dataProvider attributesProvider */ public function testSet($key, $value, $expected) { $this->bag->set($key, $value); $this->assertEquals($value, $this->bag->get($key)); } public function testAll() { $this->assertEquals($this->array, $this->bag->all()); $this->bag->set('hello', 'fabien'); $array = $this->array; $array['hello'] = 'fabien'; $this->assertEquals($array, $this->bag->all()); } public function testReplace() { $array = array(); $array['name'] = 'jack'; $array['foo.bar'] = 'beep'; $this->bag->replace($array); $this->assertEquals($array, $this->bag->all()); $this->assertNull($this->bag->get('hello')); $this->assertNull($this->bag->get('always')); $this->assertNull($this->bag->get('user.login')); } public function testRemove() { $this->assertEquals('world', $this->bag->get('hello')); $this->bag->remove('hello'); $this->assertNull($this->bag->get('hello')); $this->assertEquals('be happy', $this->bag->get('always')); $this->bag->remove('always'); $this->assertNull($this->bag->get('always')); $this->assertEquals('drak', $this->bag->get('user.login')); $this->bag->remove('user.login'); $this->assertNull($this->bag->get('user.login')); } public function testClear() { $this->bag->clear(); $this->assertEquals(array(), $this->bag->all()); } public function attributesProvider() { return array( array('hello', 'world', true), array('always', 'be happy', true), array('user.login', 'drak', true), array('csrf.token', array('a' => '1234', 'b' => '4321'), true), array('category', array('fishing' => array('first' => 'cod', 'second' => 'sole')), true), array('user2.login', null, false), array('never', null, false), array('bye', null, false), array('bye/for/now', null, false), ); } public function testGetIterator() { $i = 0; foreach ($this->bag as $key => $val) { $this->assertEquals($this->array[$key], $val); ++$i; } $this->assertEquals(count($this->array), $i); } public function testCount() { $this->assertEquals(count($this->array), count($this->bag)); } }