* * 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:----EV3dnIZdS01cC8h4e4E+0g/U4mK3KHpQHlK3TtzLtDb1hHOhPwUvSIf49l09+RIKKztLQEOQe4CDRAtyUa108HK6DN88EbSPnaNTemNL6Rpt1C0AB1XQOnSAWDsBzl+XMQgko1xXZlUvYN8t4Ah6SPmfDtM3oyiO9O6i/KmC/pfWBhhYQxBBITAQpBKnWgUYpjlR81xh8zzBHmVWqPhZcZd/dWpKT6/ijILYc8tvxhW3SWTUH36q6xL7cStQ9Tp5zHXudBlyLbCGx5QJMOkRs+r3Nkw79+mGt5YkoU8DdGAPiv73WLvZDfUSgNwnsvJCBoceDrz6u9kK5HVbeDCmKIwSXNQQ1Fg7GsJK5433AjtcCL1CCafYVchUShBopJrGPbbOtc9WMZIAs8TNCYPxrGyhOxCjpo4SJsGiGSoULXL8M/YIcxxbUHsdg4jauBLjUcyxYIzwNMBZ29TCJsZuqlkBssBgX0aiKED76MsYNAr3ol2iWZdp6gQAb6ULoUhj5Jdk/FH2FZVnza7N27yAjXgDJjPqFFOolHinVmwRt7tVpKHuYgnRvgUzKgjAtQQfHYiNAsu9JajF7yelAL5PQnuAM0cKGzpZvPa3z1S5uuu199PhxbDnxZb7F4Mz3/9AmxCtBphI3H6TtpQyOSWwPAcytvQcphF3l6u7dJHRMqo=----ATTACHMENT:----NTI1MjcyNjk1OTQ5MjE4OSAxNDgwNTUxODQ2NjE2MzA1IDQ4NzAzMjk1NTIxMjgxNDU=