Merge branch 'MDL-45603-26' of https://github.com/merrill-oakland/moodle into MOODLE_26_STABLE
This commit is contained in:
Vendored
+2
-1
@@ -718,7 +718,8 @@ class cache_helper {
|
||||
return $stores;
|
||||
} else {
|
||||
$stores = self::get_cache_stores($definition);
|
||||
if (count($stores) === 0) {
|
||||
// If mappingsonly is set, having 0 stores is ok.
|
||||
if ((count($stores) === 0) && (!$definition->is_for_mappings_only())) {
|
||||
// No suitable stores we found for the definition. We need to come up with a sensible default.
|
||||
// If this has happened we can be sure that the user has mapped custom stores to either the
|
||||
// mode of the definition. The first alternative to try is the system default for the mode.
|
||||
|
||||
Vendored
+27
@@ -470,6 +470,33 @@ class core_cache_testcase extends advanced_testcase {
|
||||
$this->assertEquals('Test has no value really.', $cache->get('Test'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the mappingsonly setting.
|
||||
*/
|
||||
public function test_definition_mappings_only() {
|
||||
$instance = cache_config_phpunittest::instance(true);
|
||||
$instance->phpunit_add_definition('phpunit/mappingsonly', array(
|
||||
'mode' => cache_store::MODE_APPLICATION,
|
||||
'component' => 'phpunit',
|
||||
'area' => 'mappingsonly',
|
||||
'mappingsonly' => true
|
||||
));
|
||||
$instance->phpunit_add_definition('phpunit/nonmappingsonly', array(
|
||||
'mode' => cache_store::MODE_APPLICATION,
|
||||
'component' => 'phpunit',
|
||||
'area' => 'nonmappingsonly',
|
||||
'mappingsonly' => false
|
||||
));
|
||||
|
||||
$cacheonly = cache::make('phpunit', 'mappingsonly');
|
||||
$this->assertInstanceOf('cache_application', $cacheonly);
|
||||
$this->assertEquals('cachestore_dummy', $cacheonly->phpunit_get_store_class());
|
||||
|
||||
$cachenon = cache::make('phpunit', 'nonmappingsonly');
|
||||
$this->assertInstanceOf('cache_application', $cachenon);
|
||||
$this->assertEquals('cachestore_file', $cachenon->phpunit_get_store_class());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test a very basic definition.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user