summaryrefslogtreecommitdiff
path: root/modules/simpletest/tests/module_test.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/simpletest/tests/module_test.module')
-rw-r--r--modules/simpletest/tests/module_test.module28
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/simpletest/tests/module_test.module b/modules/simpletest/tests/module_test.module
index d10a2935f..498865ff4 100644
--- a/modules/simpletest/tests/module_test.module
+++ b/modules/simpletest/tests/module_test.module
@@ -9,3 +9,31 @@ function module_test_permission() {
'module_test perm' => t('example perm for module_test module'),
);
}
+
+/**
+ * Implements hook_system_info_alter().
+ *
+ * Manipulate module dependencies to test dependency chains.
+ */
+function module_test_system_info_alter(&$info, $file, $type) {
+ if (variable_get('dependency_test', FALSE) == 'missing dependency') {
+ if ($file->name == 'forum') {
+ // Make forum module depend on poll.
+ $info['dependencies'][] = 'poll';
+ }
+ elseif ($file->name == 'poll') {
+ // Make poll depend on a made-up module.
+ $info['dependencies'][] = 'foo';
+ }
+ }
+ elseif (variable_get('dependency_test', FALSE) == 'dependency') {
+ if ($file->name == 'forum') {
+ // Make the forum module depend on poll.
+ $info['dependencies'][] = 'poll';
+ }
+ elseif ($file->name == 'poll') {
+ // Make poll depend on php module.
+ $info['dependencies'][] = 'php';
+ }
+ }
+} \ No newline at end of file