lithium\tests\cases\storage\CacheTest::testCacheReadAndWriteWithConditions PHP Method

testCacheReadAndWriteWithConditions() public method

    public function testCacheReadAndWriteWithConditions()
    {
        $config = array('default' => array('adapter' => 'Memory', 'filters' => array()));
        Cache::config($config);
        $result = Cache::config();
        $expected = $config;
        $this->assertEqual($expected, $result);
        $conditions = function () use(&$config) {
            return isset($config['default']);
        };
        $result = Cache::read('non_existing', 'key_value', compact('conditions'));
        $this->assertFalse($result);
        $result = Cache::read('default', 'key_value', compact('conditions'));
        $this->assertEmpty($result);
        $result = Cache::write('default', 'keyed', 'some data', '+1 minute', compact('conditions'));
        $this->assertTrue($result);
        $conditions = function () {
            return false;
        };
        $result = Cache::write('default', 'keyed', 'some data', '+1 minute', compact('conditions'));
        $this->assertFalse($result);
    }