Browse Source

Allow indirect set in CappedMemoryCache

tags/v9.0beta1
Robin Appelman 8 years ago
parent
commit
d195584a32
2 changed files with 14 additions and 2 deletions
  1. 2
    2
      lib/private/cache/cappedmemorycache.php
  2. 12
    0
      tests/lib/cache/cappedmemorycache.php

+ 2
- 2
lib/private/cache/cappedmemorycache.php View File

@@ -64,8 +64,8 @@ class CappedMemoryCache implements ICache, \ArrayAccess {
return $this->hasKey($offset);
}

public function offsetGet($offset) {
return $this->get($offset);
public function &offsetGet($offset) {
return $this->cache[$offset];
}

public function offsetSet($offset, $value) {

+ 12
- 0
tests/lib/cache/cappedmemorycache.php View File

@@ -64,4 +64,16 @@ class CappedMemoryCache extends \Test_Cache {
$this->assertFalse($this->instance->hasKey('2_value1'));
$this->assertFalse($this->instance->hasKey('3_value1'));
}

function testIndirectSet() {
$this->instance->set('array', []);

$this->instance['array'][] = 'foo';

$this->assertEquals(['foo'], $this->instance->get('array'));

$this->instance['array']['bar'] = 'qwerty';

$this->assertEquals(['foo', 'bar' => 'qwerty'], $this->instance->get('array'));
}
}

Loading…
Cancel
Save