From 8827b67aeb36050c7c2d83d542a4ebc33d449880 Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Thu, 3 Dec 2015 17:11:35 +0100 Subject: [PATCH] MDL-52141 backup: test restore_log_rule don't modify passed log anymore --- .../helper/tests/restore_log_rule_test.php | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 backup/util/helper/tests/restore_log_rule_test.php diff --git a/backup/util/helper/tests/restore_log_rule_test.php b/backup/util/helper/tests/restore_log_rule_test.php new file mode 100644 index 00000000000..03d016b0216 --- /dev/null +++ b/backup/util/helper/tests/restore_log_rule_test.php @@ -0,0 +1,52 @@ +. + +/** + * @package core_backup + * @category test + * @copyright 2015 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +// Include all the needed stuff +global $CFG; +require_once($CFG->dirroot . '/backup/util/includes/restore_includes.php'); + + +class backup_restore_log_rule_testcase extends basic_testcase { + + function test_process_keeps_log_unmodified() { + + // Prepare a tiny log entry. + $originallog = new stdClass(); + $originallog->url = 'original'; + $originallog->info = 'original'; + $log = clone($originallog); + + // Process it with a tiny log rule, only modifying url and info. + $lr = new restore_log_rule('test', 'test', 'changed', 'changed'); + $result = $lr->process($log); + + // The log has been processed. + $this->assertEquals('changed', $result->url); + $this->assertEquals('changed', $result->info); + + // But the original log has been kept unmodified by the process() call. + $this->assertEquals($originallog, $log); + } +}