public function testKeyWithClosure()
{
$value = 5;
$key = function () use($value) {
return "closure key {$value}";
};
$result = Cache::key($key);
$expected = 'closure key 5';
$this->assertIdentical($expected, $result);
$reference = 'mutable';
$key = function () use(&$reference) {
$reference .= ' key';
return $reference;
};
$result = Cache::key($key);
$expected = 'mutable key';
$this->assertIdentical($expected, $result);
$this->assertIdentical('mutable key', $reference);
}