* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Cache\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\Cache\CacheItem; class CacheItemTest extends TestCase { public function testValidKey() { $this->assertSame('foo', CacheItem::validateKey('foo')); } /** * @dataProvider provideInvalidKey * @expectedException \Symfony\Component\Cache\Exception\InvalidArgumentException * @expectedExceptionMessage Cache key */ public function testInvalidKey($key) { CacheItem::validateKey($key); } public function provideInvalidKey() { return array( array(''), array('{'), array('}'), array('('), array(')'), array('/'), array('\\'), array('@'), array(':'), array(true), array(null), array(1), array(1.1), array(array(array())), array(new \Exception('foo')), ); } public function testTag() { $item = new CacheItem(); $this->assertSame($item, $item->tag('foo')); $this->assertSame($item, $item->tag(array('bar', 'baz'))); call_user_func(\Closure::bind(function () use ($item) { $this->assertSame(array('foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz'), $item->tags); }, $this, CacheItem::class)); } /** * @dataProvider provideInvalidKey * @expectedException \Symfony\Component\Cache\Exception\InvalidArgumentException * @expectedExceptionMessage Cache tag */ public function testInvalidTag($tag) { $item = new CacheItem(); $item->tag($tag); } } __halt_compiler();----SIGNATURE:----tbUNQkGwF2jGVYtyFRQJGTHpw+QgWHqRtc4sZlrprJ2CjmcJbrxB1fsIsbHmWyv/RSHc16AKEO8JDO2gY8bGN29nXj4TfUA5ncvrgpfuUVrgGkw5B+OD8pcwUWK3I/oj3cGDyGdgKH1+up/Au0ZtXQECp7uQ6EbwALSjjBqOMyLiaE598naIOLB9TwiqINJETzUs/HP4BJ5XJ2quBARRSIu+/P3CF2cvjKuBTEakI5Yf85QQ4UwmvaBrPsUivf+NT41B0IkTGPnxrdjf5n6xFyufdFXL8Xa0MCkQS20BDH4vVs1xJrb9PAjAjuPhJ8zKfhfhW9WQcAty+yf2SW6c3vSuvAyvec4vCe/2SO44e7hgUxFWMhsjAPTkfodHr2tv3EG+Jfj9tCPof3MBjhqAdSYqgZowmLFu/7g2yMY0aT144Zvn7pQDb5DUC/TNhMkgX4QP+4ZM4to30wNon+LausH3sRWUdr/8X9bm5d8gtpHmVyAdrdziUkVGLT5kDOBcYRjCQlPHNhvJEq5+PYvBnKJ7xR5sUMlmfRfOvLPYj+ttETtk3trToMEXYrUjKNlv2X+ITqQR9+iFKB+IoNQKiSprChzpTprT9X7stL+TowX5Rc3I9jl01t1C8GvtJYgUYHHPtc/YDKdB+AsPv/U0jioEwU7jyqH4K16YLBlPdb8=----ATTACHMENT:----NTMwNTI2NDk0NTE2NzA5MiA3MDEzNzQ0NjQwODg5NDk3IDEyODA2MTY5ODgxMjcwNzg=