MDL-46151 cachestore_memcache: now checks extension version for support

This commit is contained in:
Sam Hemelryk
2014-10-14 08:27:33 +13:00
parent 6a10ec4260
commit 4ad4c19b58
3 changed files with 94 additions and 12 deletions
+31 -11
View File
@@ -86,19 +86,39 @@ abstract class cachestore_tests extends advanced_testcase {
*/
public function run_tests(cache_store $instance) {
// Test set.
// Test set with a string.
$this->assertTrue($instance->set('test1', 'test1'));
$this->assertTrue($instance->set('test2', 'test2'));
$this->assertTrue($instance->set('test3', '3'));
// Test get.
$this->assertEquals('test1', $instance->get('test1'));
$this->assertEquals('test2', $instance->get('test2'));
// Test get with a string.
$this->assertSame('test1', $instance->get('test1'));
$this->assertSame('test2', $instance->get('test2'));
$this->assertSame('3', $instance->get('test3'));
// Test set with an int.
$this->assertTrue($instance->set('test1', 1));
$this->assertTrue($instance->set('test2', 2));
// Test get with an int.
$this->assertSame(1, $instance->get('test1'));
$this->assertInternalType('int', $instance->get('test1'));
$this->assertSame(2, $instance->get('test2'));
$this->assertInternalType('int', $instance->get('test2'));
// Test set with a bool.
$this->assertTrue($instance->set('test1', true));
// Test get with an bool.
$this->assertSame(true, $instance->get('test1'));
$this->assertInternalType('boolean', $instance->get('test1'));
// Test delete.
$this->assertTrue($instance->delete('test1'));
$this->assertTrue($instance->delete('test3'));
$this->assertFalse($instance->delete('test3'));
$this->assertFalse($instance->get('test1'));
$this->assertEquals('test2', $instance->get('test2'));
$this->assertSame(2, $instance->get('test2'));
$this->assertTrue($instance->set('test1', 'test1'));
// Test purge.
@@ -114,16 +134,16 @@ abstract class cachestore_tests extends advanced_testcase {
array('key' => 'many4', 'value' => 'many4'),
array('key' => 'many5', 'value' => 'many5')
));
$this->assertEquals(5, $outcome);
$this->assertEquals('many1', $instance->get('many1'));
$this->assertEquals('many5', $instance->get('many5'));
$this->assertSame(5, $outcome);
$this->assertSame('many1', $instance->get('many1'));
$this->assertSame('many5', $instance->get('many5'));
$this->assertFalse($instance->get('many6'));
// Test get_many.
$result = $instance->get_many(array('many1', 'many3', 'many5', 'many6'));
$this->assertInternalType('array', $result);
$this->assertCount(4, $result);
$this->assertEquals(array(
$this->assertSame(array(
'many1' => 'many1',
'many3' => 'many3',
'many5' => 'many5',
@@ -131,7 +151,7 @@ abstract class cachestore_tests extends advanced_testcase {
), $result);
// Test delete_many.
$this->assertEquals(3, $instance->delete_many(array('many2', 'many3', 'many4')));
$this->assertEquals(2, $instance->delete_many(array('many1', 'many5', 'many6')));
$this->assertSame(3, $instance->delete_many(array('many2', 'many3', 'many4')));
$this->assertSame(2, $instance->delete_many(array('many1', 'many5', 'many6')));
}
}