1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * File unit tests 19 * 20 * @package cachestore_file 21 * @copyright 2013 Sam Hemelryk 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 defined('MOODLE_INTERNAL') || die(); 26 27 // Include the necessary evils. 28 global $CFG; 29 require_once($CFG->dirroot.'/cache/tests/fixtures/stores.php'); 30 require_once($CFG->dirroot.'/cache/stores/file/lib.php'); 31 32 /** 33 * File unit test class. 34 * 35 * @package cachestore_file 36 * @copyright 2013 Sam Hemelryk 37 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 38 */ 39 class cachestore_file_test extends cachestore_tests { 40 /** 41 * Returns the file class name 42 * @return string 43 */ 44 protected function get_class_name() { 45 return 'cachestore_file'; 46 } 47 48 /** 49 * Testing cachestore_file::get with prescan enabled and with 50 * deleting the cache between the prescan and the call to get. 51 * 52 * The deleting of cache simulates some other process purging 53 * the cache. 54 */ 55 public function test_cache_get_with_prescan_and_purge() { 56 global $CFG; 57 58 $definition = cache_definition::load_adhoc(cache_store::MODE_REQUEST, 'cachestore_file', 'phpunit_test'); 59 $name = 'File test'; 60 61 $path = make_cache_directory('cachestore_file_test'); 62 $cache = new cachestore_file($name, array('path' => $path, 'prescan' => true)); 63 $cache->initialise($definition); 64 65 $cache->set('testing', 'value'); 66 67 $path = make_cache_directory('cachestore_file_test'); 68 $cache = new cachestore_file($name, array('path' => $path, 'prescan' => true)); 69 $cache->initialise($definition); 70 71 // Let's pretend that some other process purged caches. 72 remove_dir($CFG->cachedir.'/cachestore_file_test', true); 73 make_cache_directory('cachestore_file_test'); 74 75 $cache->get('testing'); 76 } 77 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body