Source

						public function testCacheWriteWithConditions() {
		$config = array('default' => array(
			'adapter' => 'Memory', 'filters' => array()
		));
		Cache::config($config);
		$result = Cache::config();
		$expected = $config;
		$this->assertEqual($expected, $result);

		$conditions = function() {
			return false;
		};
		$result = Cache::write(
			'default', 'some_key', 'some_data', '+1 minute', compact('conditions')
		);
		$this->assertFalse($result);

		$conditions = function() use (&$config) {
			return (isset($config['default']));
		};

		$result = Cache::write(
			'default', 'some_key', 'some_data', '+1 minute', compact('conditions')
		);
		$this->assertTrue($result);

		$result = Cache::write(
			'non_existing', 'key_value', 'data', '+1 minute', compact('conditions')
		);
		$this->assertFalse($result);
	}