Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace Cake\Test\TestCase\Cache\Engine; use Cake\Cache\Cache; use Cake\Cache\En..

Decoded Output download

<?php
  namespace Cake\Test\TestCase\Cache\Engine; use Cake\Cache\Cache; use Cake\Cache\Engine\RedisEngine; use Cake\TestSuite\TestCase; use DateInterval; use function Cake\Core\env; class RedisEngineTest extends TestCase { protected $port = "6379"; public function setUp() : void { parent::setUp(); $this->skipIf(!class_exists("Redis"), "Redis extension is not installed or configured properly."); $this->port = env("REDIS_PORT", $this->port); $socket = @fsockopen("127.0.0.1", (int) $this->port, $errno, $errstr, 1); $this->skipIf(!$socket, "Redis is not running."); fclose($socket); Cache::enable(); $this->_configCache(); } public function tearDown() : void { parent::tearDown(); Cache::drop("redis"); Cache::drop("redis_groups"); Cache::drop("redis_helper"); } protected function _configCache($config = array()) : void { $defaults = array("className" => "Redis", "prefix" => "cake_", "duration" => 3600, "port" => $this->port); Cache::drop("redis"); Cache::setConfig("redis", array_merge($defaults, $config)); } public function testConfig() : void { $config = Cache::pool("redis")->getConfig(); $expecting = array("prefix" => "cake_", "duration" => 3600, "groups" => array(), "server" => "127.0.0.1", "port" => $this->port, "timeout" => 0, "persistent" => true, "password" => false, "database" => 0, "unix_socket" => false, "host" => null, "scanCount" => 10); $this->assertEquals($expecting, $config); } public function testConfigDsn() : void { Cache::setConfig("redis_dsn", array("url" => "redis://localhost:" . $this->port . "?database=1&prefix=redis_")); $config = Cache::pool("redis_dsn")->getConfig(); $expecting = array("prefix" => "redis_", "duration" => 3600, "groups" => array(), "server" => "localhost", "port" => $this->port, "timeout" => 0, "persistent" => true, "password" => false, "database" => "1", "unix_socket" => false, "host" => "localhost", "scheme" => "redis", "scanCount" => 10); $this->assertEquals($expecting, $config); Cache::drop("redis_dsn"); } public function testConnect() : void { $Redis = new RedisEngine(); $this->assertTrue($Redis->init(Cache::pool("redis")->getConfig())); } public function testMultiDatabaseOperations() : void { Cache::setConfig("redisdb0", array("engine" => "Redis", "prefix" => "cake2_", "duration" => 3600, "persistent" => false, "port" => $this->port)); Cache::setConfig("redisdb1", array("engine" => "Redis", "database" => 1, "prefix" => "cake2_", "duration" => 3600, "persistent" => false, "port" => $this->port)); $result = Cache::write("save_in_0", true, "redisdb0"); $exist = Cache::read("save_in_0", "redisdb0"); $this->assertTrue($result); $this->assertTrue($exist); $result = Cache::write("save_in_1", true, "redisdb1"); $this->assertTrue($result); $exist = Cache::read("save_in_0", "redisdb1"); $this->assertNull($exist); $exist = Cache::read("save_in_1", "redisdb1"); $this->assertTrue($exist); Cache::delete("save_in_0", "redisdb0"); $exist = Cache::read("save_in_0", "redisdb0"); $this->assertNull($exist); Cache::delete("save_in_1", "redisdb1"); $exist = Cache::read("save_in_1", "redisdb1"); $this->assertNull($exist); Cache::drop("redisdb0"); Cache::drop("redisdb1"); } public function testWriteNumbers() : void { Cache::write("test-counter", 1, "redis"); $this->assertSame(1, Cache::read("test-counter", "redis")); Cache::write("test-counter", 0, "redis"); $this->assertSame(0, Cache::read("test-counter", "redis")); Cache::write("test-counter", -1, "redis"); $this->assertSame(-1, Cache::read("test-counter", "redis")); } public function testReadAndWriteCache() : void { $this->_configCache(array("duration" => 1)); $result = Cache::read("test", "redis"); $this->assertNull($result); $data = "this is a test of the emergency broadcasting system"; $result = Cache::write("test", $data, "redis"); $this->assertTrue($result); $result = Cache::read("test", "redis"); $this->assertSame($data, $result); $data = array(1, 2, 3); $this->assertTrue(Cache::write("array_data", $data, "redis")); $this->assertEquals($data, Cache::read("array_data", "redis")); $result = Cache::write("test", false, "redis"); $this->assertTrue($result); $result = Cache::read("test", "redis"); $this->assertFalse($result); $result = Cache::write("test", null, "redis"); $this->assertTrue($result); $result = Cache::read("test", "redis"); $this->assertNull($result); Cache::delete("test", "redis"); } public function testGetDefaultValue() : void { $redis = Cache::pool("redis"); $this->assertFalse($redis->get("nope", false)); $this->assertNull($redis->get("nope", null)); $this->assertTrue($redis->get("nope", true)); $this->assertSame(0, $redis->get("nope", 0)); $redis->set("yep", 0); $this->assertSame(0, $redis->get("yep", false)); } public function testExpiry() : void { $this->_configCache(array("duration" => 1)); $result = Cache::read("test", "redis"); $this->assertNull($result); $data = "this is a test of the emergency broadcasting system"; $result = Cache::write("other_test", $data, "redis"); $this->assertTrue($result); sleep(2); $result = Cache::read("other_test", "redis"); $this->assertNull($result); $this->_configCache(array("duration" => "+1 second")); $data = "this is a test of the emergency broadcasting system"; $result = Cache::write("other_test", $data, "redis"); $this->assertTrue($result); sleep(2); $result = Cache::read("other_test", "redis"); $this->assertNull($result); sleep(2); $result = Cache::read("other_test", "redis"); $this->assertNull($result); $this->_configCache(array("duration" => "+29 days")); $data = "this is a test of the emergency broadcasting system"; $result = Cache::write("long_expiry_test", $data, "redis"); $this->assertTrue($result); sleep(2); $result = Cache::read("long_expiry_test", "redis"); $expecting = $data; $this->assertSame($expecting, $result); } public function testSetWithTtl() : void { $this->_configCache(array("duration" => 99)); $engine = Cache::pool("redis"); $this->assertNull($engine->get("test")); $data = "this is a test of the emergency broadcasting system"; $this->assertTrue($engine->set("default_ttl", $data)); $this->assertTrue($engine->set("int_ttl", $data, 1)); $this->assertTrue($engine->set("interval_ttl", $data, new DateInterval("PT1S"))); sleep(2); $this->assertNull($engine->get("int_ttl")); $this->assertNull($engine->get("interval_ttl")); $this->assertSame($data, $engine->get("default_ttl")); } public function testDeleteCache() : void { $data = "this is a test of the emergency broadcasting system"; $result = Cache::write("delete_test", $data, "redis"); $this->assertTrue($result); $result = Cache::delete("delete_test", "redis"); $this->assertTrue($result); } public function testDeleteCacheAsync() : void { $data = "this is a test of the emergency broadcasting system"; $result = Cache::write("delete_async_test", $data, "redis"); $this->assertTrue($result); $result = Cache::pool("redis")->deleteAsync("delete_async_test"); $this->assertTrue($result); } public function testDecrement() : void { Cache::delete("test_decrement", "redis"); $result = Cache::write("test_decrement", 5, "redis"); $this->assertTrue($result); $result = Cache::decrement("test_decrement", 1, "redis"); $this->assertSame(4, $result); $result = Cache::read("test_decrement", "redis"); $this->assertSame(4, $result); $result = Cache::decrement("test_decrement", 2, "redis"); $this->assertSame(2, $result); $result = Cache::read("test_decrement", "redis"); $this->assertSame(2, $result); } public function testIncrement() : void { Cache::delete("test_increment", "redis"); $result = Cache::increment("test_increment", 1, "redis"); $this->assertSame(1, $result); $result = Cache::read("test_increment", "redis"); $this->assertSame(1, $result); $result = Cache::increment("test_increment", 2, "redis"); $this->assertSame(3, $result); $result = Cache::read("test_increment", "redis"); $this->assertSame(3, $result); } public function testIncrementAfterWrite() : void { Cache::delete("test_increment", "redis"); $result = Cache::write("test_increment", 1, "redis"); $this->assertTrue($result); $result = Cache::read("test_increment", "redis"); $this->assertSame(1, $result); $result = Cache::increment("test_increment", 2, "redis"); $this->assertSame(3, $result); $result = Cache::read("test_increment", "redis"); $this->assertSame(3, $result); } public function testIncrementDecrementForvever() : void { $this->_configCache(array("duration" => 0)); Cache::delete("test_increment", "redis"); Cache::delete("test_decrement", "redis"); $result = Cache::increment("test_increment", 1, "redis"); $this->assertSame(1, $result); $result = Cache::decrement("test_decrement", 1, "redis"); $this->assertSame(-1, $result); $this->assertSame(1, Cache::read("test_increment", "redis")); $this->assertSame(-1, Cache::read("test_decrement", "redis")); } public function testIncrementDecrementExpiring() : void { $this->_configCache(array("duration" => 1)); Cache::delete("test_increment", "redis"); Cache::delete("test_decrement", "redis"); $this->assertSame(1, Cache::increment("test_increment", 1, "redis")); $this->assertSame(-1, Cache::decrement("test_decrement", 1, "redis")); sleep(2); $this->assertNull(Cache::read("test_increment", "redis")); $this->assertNull(Cache::read("test_decrement", "redis")); } public function testClear() : void { Cache::setConfig("redis2", array("engine" => "Redis", "prefix" => "cake2_", "duration" => 3600, "port" => $this->port)); Cache::write("some_value", "cache1", "redis"); $result = Cache::clear("redis"); $this->assertTrue($result); $this->assertNull(Cache::read("some_value", "redis")); Cache::write("some_value", "cache2", "redis2"); $result = Cache::clear("redis"); $this->assertTrue($result); $this->assertNull(Cache::read("some_value", "redis")); $this->assertSame("cache2", Cache::read("some_value", "redis2")); Cache::clear("redis2"); } public function testClearBlocking() : void { Cache::setConfig("redis_clear_blocking", array("engine" => "Redis", "prefix" => "cake2_", "duration" => 3600, "port" => $this->port)); Cache::write("some_value", "cache1", "redis"); $result = Cache::pool("redis")->clearBlocking(); $this->assertTrue($result); $this->assertNull(Cache::read("some_value", "redis")); Cache::write("some_value", "cache2", "redis_clear_blocking"); $result = Cache::pool("redis")->clearBlocking(); $this->assertTrue($result); $this->assertNull(Cache::read("some_value", "redis")); $this->assertSame("cache2", Cache::read("some_value", "redis_clear_blocking")); Cache::pool("redis_clear_blocking")->clearBlocking(); } public function testZeroDuration() : void { $this->_configCache(array("duration" => 0)); $result = Cache::write("test_key", "written!", "redis"); $this->assertTrue($result); $result = Cache::read("test_key", "redis"); $this->assertSame("written!", $result); } public function testGroupReadWrite() : void { Cache::setConfig("redis_groups", array("engine" => "Redis", "duration" => 3600, "groups" => array("group_a", "group_b"), "prefix" => "test_", "port" => $this->port)); Cache::setConfig("redis_helper", array("engine" => "Redis", "duration" => 3600, "prefix" => "test_", "port" => $this->port)); $this->assertTrue(Cache::write("test_groups", "value", "redis_groups")); $this->assertSame("value", Cache::read("test_groups", "redis_groups")); Cache::increment("group_a", 1, "redis_helper"); $this->assertNull(Cache::read("test_groups", "redis_groups")); $this->assertTrue(Cache::write("test_groups", "value2", "redis_groups")); $this->assertSame("value2", Cache::read("test_groups", "redis_groups")); Cache::increment("group_b", 1, "redis_helper"); $this->assertNull(Cache::read("test_groups", "redis_groups")); $this->assertTrue(Cache::write("test_groups", "value3", "redis_groups")); $this->assertSame("value3", Cache::read("test_groups", "redis_groups")); } public function testGroupDelete() : void { Cache::setConfig("redis_groups", array("engine" => "Redis", "duration" => 3600, "groups" => array("group_a", "group_b"), "port" => $this->port)); $this->assertTrue(Cache::write("test_groups", "value", "redis_groups")); $this->assertSame("value", Cache::read("test_groups", "redis_groups")); $this->assertTrue(Cache::delete("test_groups", "redis_groups")); $this->assertNull(Cache::read("test_groups", "redis_groups")); } public function testGroupClear() : void { Cache::setConfig("redis_groups", array("engine" => "Redis", "duration" => 3600, "groups" => array("group_a", "group_b"), "port" => $this->port)); $this->assertTrue(Cache::write("test_groups", "value", "redis_groups")); $this->assertTrue(Cache::clearGroup("group_a", "redis_groups")); $this->assertNull(Cache::read("test_groups", "redis_groups")); $this->assertTrue(Cache::write("test_groups", "value2", "redis_groups")); $this->assertTrue(Cache::clearGroup("group_b", "redis_groups")); $this->assertNull(Cache::read("test_groups", "redis_groups")); } public function testAdd() : void { Cache::delete("test_add_key", "redis"); $result = Cache::add("test_add_key", "test data", "redis"); $this->assertTrue($result); $expected = "test data"; $result = Cache::read("test_add_key", "redis"); $this->assertSame($expected, $result); $result = Cache::add("test_add_key", "test data 2", "redis"); $this->assertFalse($result); } } ?>

Did this file decode correctly?

Original Code

<?php
  namespace Cake\Test\TestCase\Cache\Engine; use Cake\Cache\Cache; use Cake\Cache\Engine\RedisEngine; use Cake\TestSuite\TestCase; use DateInterval; use function Cake\Core\env; class RedisEngineTest extends TestCase { protected $port = "\66\x33\67\x39"; public function setUp() : void { parent::setUp(); $this->skipIf(!class_exists("\x52\145\144\151\x73"), "\122\x65\x64\151\x73\x20\145\170\164\145\x6e\163\151\157\156\40\x69\x73\40\156\157\x74\40\151\156\163\164\141\x6c\x6c\145\x64\40\x6f\162\x20\143\x6f\156\x66\x69\147\165\162\x65\144\40\160\x72\157\160\x65\162\154\171\56"); $this->port = env("\122\x45\x44\111\x53\137\120\117\122\x54", $this->port); $socket = @fsockopen("\x31\x32\x37\56\60\56\x30\56\61", (int) $this->port, $errno, $errstr, 1); $this->skipIf(!$socket, "\122\145\144\151\x73\x20\x69\163\x20\156\157\x74\40\162\165\156\x6e\x69\156\x67\x2e"); fclose($socket); Cache::enable(); $this->_configCache(); } public function tearDown() : void { parent::tearDown(); Cache::drop("\x72\x65\x64\151\163"); Cache::drop("\162\145\x64\x69\163\137\147\x72\x6f\165\x70\163"); Cache::drop("\x72\x65\144\151\163\137\x68\145\154\160\145\x72"); } protected function _configCache($config = array()) : void { $defaults = array("\143\154\x61\163\x73\116\141\155\145" => "\122\x65\144\x69\163", "\160\x72\x65\x66\x69\x78" => "\x63\x61\x6b\145\x5f", "\x64\x75\x72\141\x74\x69\157\156" => 3600, "\x70\157\162\x74" => $this->port); Cache::drop("\162\145\144\x69\163"); Cache::setConfig("\x72\x65\144\x69\163", array_merge($defaults, $config)); } public function testConfig() : void { $config = Cache::pool("\x72\x65\x64\x69\x73")->getConfig(); $expecting = array("\x70\x72\145\146\x69\x78" => "\143\141\153\145\x5f", "\x64\x75\162\141\x74\151\157\156" => 3600, "\x67\162\157\x75\x70\x73" => array(), "\x73\x65\162\x76\145\x72" => "\61\62\x37\x2e\x30\x2e\x30\x2e\x31", "\160\157\x72\x74" => $this->port, "\164\151\155\145\x6f\x75\x74" => 0, "\x70\x65\x72\x73\151\x73\x74\x65\x6e\x74" => true, "\160\x61\x73\163\x77\x6f\x72\144" => false, "\x64\x61\164\141\x62\141\163\x65" => 0, "\165\156\151\x78\137\x73\x6f\143\153\x65\x74" => false, "\150\x6f\x73\164" => null, "\163\143\141\156\x43\157\165\156\164" => 10); $this->assertEquals($expecting, $config); } public function testConfigDsn() : void { Cache::setConfig("\162\145\144\x69\x73\x5f\144\x73\156", array("\x75\162\154" => "\162\145\144\151\163\x3a\x2f\x2f\x6c\x6f\x63\x61\x6c\x68\157\x73\x74\72" . $this->port . "\77\x64\x61\x74\x61\x62\x61\x73\x65\x3d\61\46\160\x72\x65\x66\x69\x78\x3d\x72\x65\x64\151\x73\x5f")); $config = Cache::pool("\162\x65\x64\151\163\x5f\144\x73\156")->getConfig(); $expecting = array("\160\162\145\x66\151\x78" => "\162\x65\x64\x69\163\137", "\x64\165\162\141\164\x69\x6f\156" => 3600, "\147\x72\x6f\x75\160\x73" => array(), "\x73\145\162\166\145\x72" => "\x6c\x6f\143\x61\154\x68\x6f\163\x74", "\x70\x6f\x72\164" => $this->port, "\164\151\x6d\145\x6f\x75\x74" => 0, "\x70\145\162\x73\151\163\164\145\x6e\164" => true, "\x70\141\163\163\x77\x6f\162\144" => false, "\x64\x61\164\x61\x62\x61\x73\x65" => "\x31", "\x75\156\151\170\137\163\x6f\143\153\x65\164" => false, "\150\x6f\x73\x74" => "\x6c\157\x63\x61\154\150\x6f\163\x74", "\163\143\x68\145\155\145" => "\162\145\144\151\163", "\163\x63\141\x6e\103\x6f\165\x6e\x74" => 10); $this->assertEquals($expecting, $config); Cache::drop("\162\145\144\x69\x73\x5f\144\x73\x6e"); } public function testConnect() : void { $Redis = new RedisEngine(); $this->assertTrue($Redis->init(Cache::pool("\162\145\144\151\163")->getConfig())); } public function testMultiDatabaseOperations() : void { Cache::setConfig("\162\145\144\151\x73\144\x62\60", array("\x65\156\x67\151\156\145" => "\122\145\x64\151\x73", "\x70\x72\145\x66\x69\170" => "\x63\141\153\145\x32\137", "\x64\165\162\141\164\x69\157\x6e" => 3600, "\160\x65\162\x73\151\x73\164\145\x6e\x74" => false, "\x70\157\162\164" => $this->port)); Cache::setConfig("\x72\145\x64\x69\163\x64\x62\x31", array("\x65\x6e\147\x69\x6e\x65" => "\122\145\144\151\163", "\144\141\164\141\x62\141\x73\x65" => 1, "\x70\162\x65\x66\x69\170" => "\x63\x61\x6b\x65\62\x5f", "\x64\x75\162\141\164\151\x6f\156" => 3600, "\x70\x65\162\163\x69\x73\164\145\156\x74" => false, "\160\157\162\x74" => $this->port)); $result = Cache::write("\163\141\166\x65\137\151\x6e\137\60", true, "\x72\145\144\151\x73\144\x62\x30"); $exist = Cache::read("\163\141\x76\x65\137\x69\x6e\x5f\x30", "\162\x65\x64\x69\163\x64\x62\60"); $this->assertTrue($result); $this->assertTrue($exist); $result = Cache::write("\163\x61\166\x65\137\x69\156\x5f\x31", true, "\x72\145\144\x69\x73\144\142\61"); $this->assertTrue($result); $exist = Cache::read("\163\141\166\145\x5f\151\x6e\x5f\60", "\x72\x65\x64\151\x73\144\142\61"); $this->assertNull($exist); $exist = Cache::read("\163\x61\x76\x65\x5f\x69\156\137\x31", "\162\145\x64\x69\x73\x64\142\x31"); $this->assertTrue($exist); Cache::delete("\163\x61\x76\x65\137\x69\x6e\x5f\x30", "\x72\x65\x64\x69\163\x64\142\x30"); $exist = Cache::read("\x73\141\166\145\x5f\151\156\x5f\60", "\x72\x65\x64\151\x73\x64\142\60"); $this->assertNull($exist); Cache::delete("\x73\141\x76\145\137\151\156\x5f\x31", "\x72\145\144\x69\163\144\x62\x31"); $exist = Cache::read("\x73\141\x76\x65\137\x69\x6e\x5f\61", "\162\x65\x64\151\x73\x64\x62\61"); $this->assertNull($exist); Cache::drop("\x72\145\x64\x69\x73\144\x62\60"); Cache::drop("\x72\x65\x64\x69\x73\144\x62\61"); } public function testWriteNumbers() : void { Cache::write("\x74\x65\x73\x74\55\x63\x6f\x75\156\x74\145\x72", 1, "\162\x65\144\x69\163"); $this->assertSame(1, Cache::read("\164\145\163\164\55\x63\x6f\165\x6e\x74\x65\x72", "\x72\145\x64\151\163")); Cache::write("\164\145\163\164\55\143\157\x75\x6e\164\x65\x72", 0, "\162\145\x64\x69\163"); $this->assertSame(0, Cache::read("\164\x65\163\x74\55\x63\157\165\156\164\145\x72", "\162\145\144\151\x73")); Cache::write("\164\x65\163\x74\55\x63\x6f\x75\x6e\x74\145\162", -1, "\x72\x65\x64\x69\x73"); $this->assertSame(-1, Cache::read("\x74\145\163\x74\x2d\143\157\165\x6e\x74\x65\x72", "\162\x65\x64\x69\x73")); } public function testReadAndWriteCache() : void { $this->_configCache(array("\x64\x75\x72\141\x74\x69\157\x6e" => 1)); $result = Cache::read("\164\145\163\x74", "\x72\145\x64\x69\x73"); $this->assertNull($result); $data = "\x74\150\151\x73\x20\151\x73\x20\141\x20\x74\x65\x73\164\40\x6f\x66\40\164\150\x65\40\145\x6d\145\162\x67\x65\156\143\171\40\x62\x72\157\141\144\143\x61\163\164\x69\x6e\x67\40\163\x79\x73\164\x65\x6d"; $result = Cache::write("\x74\x65\163\164", $data, "\162\x65\144\151\163"); $this->assertTrue($result); $result = Cache::read("\164\x65\163\x74", "\x72\145\x64\x69\163"); $this->assertSame($data, $result); $data = array(1, 2, 3); $this->assertTrue(Cache::write("\141\162\x72\x61\171\x5f\x64\x61\x74\x61", $data, "\162\145\144\x69\163")); $this->assertEquals($data, Cache::read("\141\x72\162\x61\x79\x5f\144\x61\164\141", "\x72\x65\x64\x69\163")); $result = Cache::write("\x74\145\x73\x74", false, "\x72\x65\144\151\163"); $this->assertTrue($result); $result = Cache::read("\x74\145\x73\164", "\162\145\x64\151\163"); $this->assertFalse($result); $result = Cache::write("\164\145\x73\x74", null, "\x72\x65\x64\x69\x73"); $this->assertTrue($result); $result = Cache::read("\x74\145\x73\164", "\x72\145\x64\x69\x73"); $this->assertNull($result); Cache::delete("\164\x65\x73\x74", "\162\145\144\151\x73"); } public function testGetDefaultValue() : void { $redis = Cache::pool("\x72\145\x64\151\163"); $this->assertFalse($redis->get("\156\157\160\x65", false)); $this->assertNull($redis->get("\156\x6f\x70\145", null)); $this->assertTrue($redis->get("\x6e\x6f\x70\145", true)); $this->assertSame(0, $redis->get("\156\157\160\x65", 0)); $redis->set("\x79\145\160", 0); $this->assertSame(0, $redis->get("\171\145\160", false)); } public function testExpiry() : void { $this->_configCache(array("\144\165\x72\141\164\151\157\x6e" => 1)); $result = Cache::read("\164\145\163\164", "\x72\145\x64\x69\x73"); $this->assertNull($result); $data = "\x74\150\151\x73\x20\151\163\x20\x61\40\164\x65\163\164\x20\157\146\x20\x74\150\x65\40\145\x6d\145\x72\147\x65\156\143\x79\40\x62\162\x6f\141\x64\143\141\x73\164\151\156\x67\40\x73\171\163\164\145\x6d"; $result = Cache::write("\157\x74\x68\145\162\137\164\x65\x73\164", $data, "\x72\145\144\151\163"); $this->assertTrue($result); sleep(2); $result = Cache::read("\x6f\x74\150\145\162\137\164\145\x73\164", "\162\x65\144\151\163"); $this->assertNull($result); $this->_configCache(array("\x64\x75\162\x61\x74\151\157\156" => "\x2b\x31\40\x73\145\143\157\156\144")); $data = "\164\x68\x69\163\x20\x69\x73\40\141\x20\x74\145\x73\x74\x20\157\x66\x20\x74\150\x65\40\x65\x6d\145\x72\147\145\156\x63\x79\x20\142\162\157\141\x64\143\141\163\164\x69\x6e\147\x20\163\x79\163\164\145\155"; $result = Cache::write("\x6f\164\150\145\x72\x5f\x74\x65\x73\164", $data, "\x72\x65\x64\x69\163"); $this->assertTrue($result); sleep(2); $result = Cache::read("\157\164\150\145\x72\x5f\x74\x65\x73\164", "\x72\x65\x64\x69\x73"); $this->assertNull($result); sleep(2); $result = Cache::read("\157\164\150\145\x72\x5f\x74\145\163\x74", "\162\x65\144\x69\x73"); $this->assertNull($result); $this->_configCache(array("\144\165\162\141\164\x69\x6f\156" => "\x2b\x32\x39\40\x64\141\x79\163")); $data = "\x74\150\x69\163\40\x69\x73\x20\x61\x20\x74\x65\163\164\x20\157\146\x20\x74\x68\145\40\x65\x6d\x65\x72\x67\145\156\143\171\x20\x62\x72\x6f\x61\144\x63\x61\x73\x74\151\156\x67\x20\163\171\x73\164\145\155"; $result = Cache::write("\x6c\x6f\x6e\147\137\145\x78\160\x69\x72\x79\x5f\164\145\x73\x74", $data, "\162\x65\x64\x69\163"); $this->assertTrue($result); sleep(2); $result = Cache::read("\154\157\x6e\x67\x5f\145\x78\x70\x69\x72\x79\137\x74\x65\x73\164", "\162\x65\144\151\x73"); $expecting = $data; $this->assertSame($expecting, $result); } public function testSetWithTtl() : void { $this->_configCache(array("\x64\165\x72\141\x74\151\157\156" => 99)); $engine = Cache::pool("\x72\145\144\x69\163"); $this->assertNull($engine->get("\164\145\163\164")); $data = "\x74\x68\x69\163\40\x69\x73\x20\x61\40\164\145\163\164\x20\157\x66\40\x74\150\x65\x20\145\x6d\145\x72\147\145\156\x63\171\x20\142\x72\157\x61\x64\x63\x61\x73\x74\151\156\x67\40\163\x79\163\x74\x65\155"; $this->assertTrue($engine->set("\x64\x65\146\141\x75\x6c\164\x5f\x74\x74\154", $data)); $this->assertTrue($engine->set("\151\156\x74\137\164\164\x6c", $data, 1)); $this->assertTrue($engine->set("\x69\156\164\145\162\166\141\x6c\137\x74\x74\154", $data, new DateInterval("\120\124\x31\x53"))); sleep(2); $this->assertNull($engine->get("\x69\x6e\x74\x5f\x74\164\154")); $this->assertNull($engine->get("\x69\156\164\x65\x72\x76\x61\154\137\164\164\154")); $this->assertSame($data, $engine->get("\x64\145\146\x61\x75\154\164\137\x74\164\x6c")); } public function testDeleteCache() : void { $data = "\164\x68\151\x73\x20\x69\x73\40\141\40\164\145\x73\x74\x20\157\x66\40\164\x68\x65\x20\x65\x6d\x65\162\147\145\x6e\x63\x79\x20\x62\162\x6f\x61\x64\143\x61\163\x74\x69\156\147\x20\163\171\163\x74\x65\155"; $result = Cache::write("\x64\145\x6c\x65\164\145\137\x74\x65\x73\164", $data, "\x72\145\144\151\163"); $this->assertTrue($result); $result = Cache::delete("\144\145\154\145\x74\x65\137\x74\145\163\x74", "\162\x65\x64\151\163"); $this->assertTrue($result); } public function testDeleteCacheAsync() : void { $data = "\x74\x68\151\163\40\x69\x73\x20\x61\40\x74\x65\x73\x74\x20\157\x66\x20\x74\x68\145\40\145\155\x65\x72\x67\x65\x6e\x63\171\x20\x62\x72\x6f\x61\x64\x63\141\163\x74\151\156\147\40\x73\x79\x73\164\x65\155"; $result = Cache::write("\144\x65\x6c\x65\x74\145\137\x61\x73\171\x6e\143\137\x74\x65\x73\x74", $data, "\x72\145\144\151\163"); $this->assertTrue($result); $result = Cache::pool("\x72\145\144\x69\163")->deleteAsync("\144\145\x6c\x65\x74\145\x5f\141\163\171\156\143\x5f\x74\145\163\164"); $this->assertTrue($result); } public function testDecrement() : void { Cache::delete("\164\145\163\164\137\144\145\x63\162\x65\155\145\x6e\164", "\x72\145\x64\151\x73"); $result = Cache::write("\x74\x65\163\x74\x5f\144\145\x63\162\145\155\145\156\164", 5, "\x72\145\x64\x69\x73"); $this->assertTrue($result); $result = Cache::decrement("\x74\145\x73\x74\137\144\145\x63\162\145\155\145\x6e\164", 1, "\162\145\144\151\163"); $this->assertSame(4, $result); $result = Cache::read("\164\145\x73\164\137\144\145\143\x72\145\x6d\x65\156\x74", "\x72\145\144\151\x73"); $this->assertSame(4, $result); $result = Cache::decrement("\x74\145\x73\164\137\x64\145\x63\x72\x65\x6d\x65\156\x74", 2, "\x72\145\x64\151\163"); $this->assertSame(2, $result); $result = Cache::read("\x74\x65\x73\x74\x5f\144\x65\x63\x72\x65\155\145\156\x74", "\x72\145\144\151\163"); $this->assertSame(2, $result); } public function testIncrement() : void { Cache::delete("\x74\145\163\x74\x5f\151\x6e\x63\x72\x65\155\145\x6e\x74", "\162\145\144\151\x73"); $result = Cache::increment("\x74\x65\x73\x74\137\x69\x6e\143\162\145\x6d\145\156\164", 1, "\162\x65\144\151\163"); $this->assertSame(1, $result); $result = Cache::read("\164\x65\163\x74\x5f\151\156\x63\x72\145\x6d\x65\156\164", "\162\145\x64\151\163"); $this->assertSame(1, $result); $result = Cache::increment("\x74\145\163\x74\x5f\151\x6e\143\162\145\x6d\x65\x6e\x74", 2, "\162\145\144\151\163"); $this->assertSame(3, $result); $result = Cache::read("\x74\x65\x73\164\x5f\151\156\x63\162\145\x6d\145\156\x74", "\162\145\x64\x69\x73"); $this->assertSame(3, $result); } public function testIncrementAfterWrite() : void { Cache::delete("\164\x65\163\x74\137\151\156\143\162\145\x6d\145\156\164", "\x72\145\144\x69\x73"); $result = Cache::write("\164\145\163\x74\x5f\x69\156\143\x72\145\155\145\x6e\164", 1, "\162\145\x64\x69\163"); $this->assertTrue($result); $result = Cache::read("\x74\145\x73\x74\x5f\x69\x6e\x63\162\145\155\145\x6e\x74", "\162\145\144\151\x73"); $this->assertSame(1, $result); $result = Cache::increment("\x74\145\163\x74\x5f\151\x6e\143\162\145\x6d\145\x6e\164", 2, "\162\145\144\151\163"); $this->assertSame(3, $result); $result = Cache::read("\x74\145\x73\164\137\x69\156\x63\x72\145\x6d\145\x6e\x74", "\162\145\x64\x69\163"); $this->assertSame(3, $result); } public function testIncrementDecrementForvever() : void { $this->_configCache(array("\144\x75\162\141\164\x69\x6f\156" => 0)); Cache::delete("\x74\145\x73\164\x5f\x69\156\x63\x72\x65\x6d\x65\x6e\x74", "\x72\x65\144\x69\163"); Cache::delete("\x74\145\x73\x74\137\x64\x65\x63\x72\x65\x6d\145\x6e\x74", "\162\145\144\151\163"); $result = Cache::increment("\164\145\163\164\x5f\x69\x6e\143\162\145\155\x65\156\x74", 1, "\162\x65\144\151\x73"); $this->assertSame(1, $result); $result = Cache::decrement("\x74\x65\x73\164\137\x64\x65\143\162\145\155\x65\156\x74", 1, "\x72\x65\144\x69\x73"); $this->assertSame(-1, $result); $this->assertSame(1, Cache::read("\x74\x65\163\164\x5f\x69\x6e\x63\x72\x65\155\145\156\164", "\162\145\144\151\x73")); $this->assertSame(-1, Cache::read("\x74\145\x73\x74\137\144\x65\143\162\145\x6d\x65\156\x74", "\162\145\144\151\163")); } public function testIncrementDecrementExpiring() : void { $this->_configCache(array("\x64\165\x72\141\x74\x69\157\156" => 1)); Cache::delete("\164\145\163\164\137\151\156\x63\162\x65\155\145\156\164", "\162\145\144\151\x73"); Cache::delete("\164\x65\x73\x74\137\144\x65\x63\162\145\x6d\145\156\x74", "\x72\145\x64\151\x73"); $this->assertSame(1, Cache::increment("\164\x65\x73\164\137\151\x6e\x63\162\145\x6d\145\156\x74", 1, "\x72\145\144\151\163")); $this->assertSame(-1, Cache::decrement("\x74\x65\163\164\x5f\x64\145\x63\x72\145\x6d\145\156\x74", 1, "\162\145\x64\151\163")); sleep(2); $this->assertNull(Cache::read("\164\145\x73\x74\x5f\151\156\143\x72\x65\x6d\145\156\164", "\x72\145\x64\151\163")); $this->assertNull(Cache::read("\x74\x65\163\x74\x5f\x64\x65\143\162\145\155\x65\156\x74", "\x72\x65\x64\x69\163")); } public function testClear() : void { Cache::setConfig("\162\x65\144\x69\x73\x32", array("\145\x6e\x67\151\x6e\145" => "\122\x65\144\x69\163", "\160\x72\x65\146\x69\170" => "\x63\x61\153\x65\x32\137", "\x64\x75\162\x61\x74\151\157\156" => 3600, "\160\157\x72\164" => $this->port)); Cache::write("\163\x6f\x6d\145\x5f\166\x61\x6c\x75\145", "\143\141\x63\x68\145\61", "\x72\x65\x64\x69\x73"); $result = Cache::clear("\162\x65\144\151\163"); $this->assertTrue($result); $this->assertNull(Cache::read("\163\157\155\145\137\x76\141\154\x75\145", "\162\x65\144\x69\163")); Cache::write("\163\157\x6d\x65\x5f\166\x61\x6c\x75\145", "\143\x61\x63\x68\x65\x32", "\162\x65\144\151\x73\62"); $result = Cache::clear("\162\x65\144\151\163"); $this->assertTrue($result); $this->assertNull(Cache::read("\x73\157\x6d\x65\137\166\x61\x6c\165\x65", "\x72\x65\x64\151\x73")); $this->assertSame("\143\x61\x63\x68\145\x32", Cache::read("\163\x6f\x6d\x65\x5f\x76\x61\154\x75\145", "\162\145\144\151\163\x32")); Cache::clear("\x72\x65\144\151\163\62"); } public function testClearBlocking() : void { Cache::setConfig("\x72\x65\x64\151\163\137\x63\x6c\145\141\x72\137\142\154\157\x63\x6b\151\x6e\x67", array("\x65\156\x67\151\156\145" => "\x52\x65\144\x69\x73", "\160\x72\145\x66\151\x78" => "\x63\141\x6b\x65\62\137", "\x64\165\162\141\164\x69\x6f\156" => 3600, "\x70\157\162\x74" => $this->port)); Cache::write("\x73\157\x6d\145\x5f\166\x61\154\165\145", "\143\x61\x63\150\x65\61", "\162\145\x64\x69\163"); $result = Cache::pool("\x72\x65\144\x69\x73")->clearBlocking(); $this->assertTrue($result); $this->assertNull(Cache::read("\163\x6f\x6d\145\137\x76\x61\154\165\145", "\162\145\x64\151\163")); Cache::write("\x73\157\155\145\137\166\141\154\x75\x65", "\x63\x61\143\150\x65\x32", "\162\x65\144\151\163\137\143\x6c\x65\141\162\x5f\x62\154\x6f\143\x6b\x69\x6e\147"); $result = Cache::pool("\162\145\x64\151\163")->clearBlocking(); $this->assertTrue($result); $this->assertNull(Cache::read("\163\x6f\x6d\x65\x5f\166\141\x6c\x75\145", "\162\145\144\x69\163")); $this->assertSame("\x63\141\143\x68\x65\62", Cache::read("\163\157\155\x65\x5f\166\x61\154\x75\145", "\x72\145\x64\151\x73\x5f\143\154\145\x61\162\x5f\x62\x6c\x6f\143\153\x69\156\147")); Cache::pool("\162\x65\x64\x69\163\x5f\x63\x6c\145\141\162\137\x62\x6c\x6f\143\x6b\151\156\147")->clearBlocking(); } public function testZeroDuration() : void { $this->_configCache(array("\x64\165\x72\x61\164\151\157\156" => 0)); $result = Cache::write("\x74\x65\163\x74\137\x6b\x65\x79", "\x77\x72\x69\164\164\x65\x6e\41", "\162\x65\144\x69\163"); $this->assertTrue($result); $result = Cache::read("\164\145\163\x74\137\x6b\145\171", "\x72\x65\x64\151\163"); $this->assertSame("\167\x72\151\164\164\x65\156\41", $result); } public function testGroupReadWrite() : void { Cache::setConfig("\x72\x65\144\151\x73\x5f\147\x72\157\165\160\x73", array("\x65\x6e\147\151\x6e\145" => "\122\145\144\x69\163", "\144\x75\162\x61\x74\x69\157\156" => 3600, "\147\x72\157\165\x70\x73" => array("\x67\x72\x6f\165\160\137\141", "\147\162\157\x75\x70\137\142"), "\x70\x72\145\x66\x69\170" => "\164\x65\x73\x74\x5f", "\x70\157\162\x74" => $this->port)); Cache::setConfig("\162\145\144\x69\x73\137\150\x65\x6c\x70\145\x72", array("\x65\x6e\147\x69\x6e\x65" => "\122\145\x64\151\x73", "\x64\x75\x72\141\164\x69\157\x6e" => 3600, "\x70\x72\x65\x66\x69\x78" => "\x74\x65\x73\164\x5f", "\x70\157\x72\x74" => $this->port)); $this->assertTrue(Cache::write("\164\145\x73\164\x5f\147\162\157\165\x70\163", "\x76\141\154\165\145", "\162\x65\144\x69\163\x5f\x67\x72\x6f\x75\160\163")); $this->assertSame("\x76\x61\154\165\x65", Cache::read("\x74\145\x73\164\x5f\147\x72\157\165\160\163", "\x72\145\144\x69\x73\137\147\162\x6f\165\x70\163")); Cache::increment("\x67\162\x6f\x75\160\137\141", 1, "\x72\145\144\x69\163\x5f\x68\x65\x6c\x70\x65\x72"); $this->assertNull(Cache::read("\x74\145\163\164\137\147\x72\157\165\x70\163", "\x72\x65\144\x69\163\x5f\x67\162\x6f\165\x70\163")); $this->assertTrue(Cache::write("\x74\145\x73\164\137\147\x72\x6f\x75\x70\163", "\166\x61\154\x75\145\62", "\162\145\144\x69\163\x5f\147\x72\x6f\x75\x70\x73")); $this->assertSame("\x76\x61\154\x75\x65\x32", Cache::read("\164\145\x73\164\x5f\147\x72\x6f\165\x70\163", "\x72\x65\x64\x69\163\x5f\x67\x72\157\x75\x70\163")); Cache::increment("\x67\162\x6f\165\160\x5f\x62", 1, "\x72\145\144\x69\x73\x5f\150\145\x6c\160\145\162"); $this->assertNull(Cache::read("\164\x65\x73\164\137\x67\x72\157\165\x70\x73", "\162\145\x64\151\163\137\147\x72\157\x75\160\163")); $this->assertTrue(Cache::write("\164\x65\x73\x74\137\x67\x72\x6f\x75\x70\163", "\166\141\x6c\165\x65\63", "\x72\x65\x64\x69\163\x5f\147\x72\x6f\x75\x70\x73")); $this->assertSame("\166\x61\154\165\145\63", Cache::read("\x74\145\x73\164\137\x67\x72\157\165\160\x73", "\x72\x65\x64\151\163\137\147\x72\x6f\165\160\x73")); } public function testGroupDelete() : void { Cache::setConfig("\162\x65\x64\x69\x73\x5f\x67\162\x6f\x75\160\x73", array("\145\156\147\x69\x6e\x65" => "\x52\x65\144\x69\x73", "\x64\x75\162\141\x74\151\157\156" => 3600, "\x67\x72\157\165\x70\163" => array("\x67\x72\x6f\x75\160\137\x61", "\x67\x72\x6f\165\160\x5f\142"), "\160\157\x72\x74" => $this->port)); $this->assertTrue(Cache::write("\164\145\163\164\137\147\162\157\x75\160\163", "\166\141\x6c\x75\x65", "\x72\x65\144\x69\x73\137\147\162\157\x75\x70\163")); $this->assertSame("\166\x61\x6c\x75\145", Cache::read("\164\x65\x73\x74\x5f\147\x72\157\165\x70\163", "\x72\x65\x64\x69\x73\x5f\147\162\x6f\165\160\x73")); $this->assertTrue(Cache::delete("\164\x65\163\x74\x5f\147\162\x6f\x75\x70\x73", "\x72\x65\x64\x69\163\x5f\x67\162\157\165\x70\x73")); $this->assertNull(Cache::read("\x74\145\163\x74\137\x67\x72\157\x75\x70\163", "\162\145\x64\x69\163\137\147\162\157\165\160\163")); } public function testGroupClear() : void { Cache::setConfig("\162\x65\144\151\x73\137\x67\x72\x6f\165\x70\x73", array("\x65\156\147\151\156\x65" => "\x52\145\x64\x69\x73", "\x64\x75\162\x61\x74\151\157\156" => 3600, "\x67\162\x6f\x75\x70\163" => array("\x67\162\x6f\165\160\x5f\141", "\147\x72\x6f\165\160\137\142"), "\x70\x6f\x72\x74" => $this->port)); $this->assertTrue(Cache::write("\164\x65\x73\x74\x5f\147\x72\x6f\165\x70\x73", "\166\141\x6c\165\145", "\x72\145\x64\151\x73\x5f\147\x72\157\165\x70\x73")); $this->assertTrue(Cache::clearGroup("\x67\x72\157\165\x70\137\141", "\x72\x65\144\x69\163\x5f\x67\162\157\165\160\163")); $this->assertNull(Cache::read("\x74\145\163\164\x5f\147\162\157\x75\160\163", "\162\x65\144\x69\x73\137\x67\x72\157\165\160\x73")); $this->assertTrue(Cache::write("\164\x65\x73\x74\137\147\162\x6f\x75\x70\x73", "\x76\141\x6c\x75\x65\x32", "\162\x65\144\151\163\137\147\162\157\x75\x70\x73")); $this->assertTrue(Cache::clearGroup("\147\162\157\x75\160\137\x62", "\162\x65\144\x69\163\x5f\x67\x72\x6f\165\x70\163")); $this->assertNull(Cache::read("\164\x65\x73\x74\137\147\x72\157\165\x70\163", "\x72\x65\144\151\163\137\147\162\x6f\x75\x70\x73")); } public function testAdd() : void { Cache::delete("\x74\145\x73\x74\x5f\141\144\x64\x5f\153\x65\171", "\162\x65\144\151\163"); $result = Cache::add("\x74\x65\x73\x74\137\x61\144\144\137\x6b\145\171", "\164\x65\x73\164\x20\x64\141\x74\141", "\x72\145\144\151\163"); $this->assertTrue($result); $expected = "\x74\145\x73\x74\40\144\141\x74\141"; $result = Cache::read("\x74\x65\x73\x74\x5f\141\144\144\137\153\145\x79", "\x72\x65\x64\x69\x73"); $this->assertSame($expected, $result); $result = Cache::add("\164\145\163\164\x5f\x61\144\x64\x5f\x6b\145\171", "\164\145\x73\x74\40\x64\141\164\141\40\62", "\162\x65\x64\151\163"); $this->assertFalse($result); } }

Function Calls

None

Variables

None

Stats

MD5 738f30f4125bdcd259c75259810504ce
Eval Count 0
Decode Time 107 ms