From bf7175abe5735bd304246bfc353dfdb7078f747c Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sat, 26 Sep 2009 17:03:13 +0000 Subject: - Patch #253501 by dww, cwgordon7 | boombatower, Dave Reid: added tests for update.module. --- modules/update/tests/update_test.module | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 modules/update/tests/update_test.module (limited to 'modules/update/tests/update_test.module') diff --git a/modules/update/tests/update_test.module b/modules/update/tests/update_test.module new file mode 100644 index 000000000..54e497415 --- /dev/null +++ b/modules/update/tests/update_test.module @@ -0,0 +1,50 @@ + t('Update test'), + 'page callback' => 'update_test_mock_page', + 'access callback' => TRUE, + 'type' => MENU_CALLBACK, + ); + + return $items; +} + +/** + * Implement hook_system_info_alter(). + * + * This checks the 'update_test_system_info' variable and sees if we need to + * alter the system info for the given $file based on the setting. The setting + * is expected to be a nested associative array. If the key '#all' is defined, + * its subarray will include .info keys and values for all modules and themes + * on the system. Otherwise, the settings array is keyed by the module or + * theme short name ($file->name) and the subarrays contain settings just for + * that module or theme. + */ +function update_test_system_info_alter(&$info, $file) { + $setting = variable_get('update_test_system_info', array()); + foreach (array('#all', $file->name) as $id) { + if (!empty($setting[$id])) { + foreach ($setting[$id] as $key => $value) { + $info[$key] = $value; + } + } + } +} + +/** + * Page callback, prints mock XML for the update module. + */ +function update_test_mock_page() { + $xml = variable_get('update_test_xml', FALSE); + // Note: this will cause an exception to occur if no variable was set and + // $file is FALSE. + readfile(drupal_get_path('module', 'update_test') . "/$xml"); +} -- cgit v1.2.3