summaryrefslogtreecommitdiff
path: root/modules/simpletest/tests
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2009-10-27 19:29:12 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2009-10-27 19:29:12 +0000
commit1da73d26c2d8018f389f6290e2be8249280e76bc (patch)
treedba8b489c55f45796d505229d0c389ad33a08757 /modules/simpletest/tests
parent37eb92447f21d8acd984df0f3365e174283869ed (diff)
downloadbrdo-1da73d26c2d8018f389f6290e2be8249280e76bc.tar.gz
brdo-1da73d26c2d8018f389f6290e2be8249280e76bc.tar.bz2
#591794 by chx, Rob Loach, sun, JohnAlbin: Give themes access to alter hooks.
Diffstat (limited to 'modules/simpletest/tests')
-rw-r--r--modules/simpletest/tests/common.test10
-rw-r--r--modules/simpletest/tests/common_test.module34
2 files changed, 39 insertions, 5 deletions
diff --git a/modules/simpletest/tests/common.test b/modules/simpletest/tests/common.test
index 55b4b4332..135ca18cb 100644
--- a/modules/simpletest/tests/common.test
+++ b/modules/simpletest/tests/common.test
@@ -29,24 +29,24 @@ class DrupalAlterTestCase extends DrupalWebTestCase {
// Verify alteration of a single argument.
$array_copy = $array;
- $array_expected = array('foo' => 'Drupal');
+ $array_expected = array('foo' => 'Drupal theme');
drupal_alter('drupal_alter', $array_copy);
$this->assertEqual($array_copy, $array_expected, t('Single array was altered.'));
$object_copy = clone $object;
$object_expected = clone $object;
- $object_expected->foo = 'Drupal';
+ $object_expected->foo = 'Drupal theme';
drupal_alter('drupal_alter', $object_copy);
$this->assertEqual($object_copy, $object_expected, t('Single object was altered.'));
// Verify alteration of multiple arguments.
$array_copy = $array;
- $array_expected = array('foo' => 'Drupal');
+ $array_expected = array('foo' => 'Drupal theme');
$object_copy = clone $object;
$object_expected = clone $object;
- $object_expected->foo = 'Drupal';
+ $object_expected->foo = 'Drupal theme';
$array2_copy = $array;
- $array2_expected = array('foo' => 'Drupal');
+ $array2_expected = array('foo' => 'Drupal theme');
drupal_alter('drupal_alter', $array_copy, $object_copy, $array2_copy);
$this->assertEqual($array_copy, $array_expected, t('First argument to drupal_alter() was altered.'));
$this->assertEqual($object_copy, $object_expected, t('Second argument to drupal_alter() was altered.'));
diff --git a/modules/simpletest/tests/common_test.module b/modules/simpletest/tests/common_test.module
index cc8c22772..e8c6602c2 100644
--- a/modules/simpletest/tests/common_test.module
+++ b/modules/simpletest/tests/common_test.module
@@ -101,6 +101,40 @@ function common_test_drupal_alter_alter(&$data, &$arg2 = NULL, &$arg3 = NULL) {
}
/**
+ * Implement hook_TYPE_alter() on behalf of Garland theme.
+ *
+ * Same as common_test_drupal_alter_alter(), but here, we verify that themes
+ * can also alter and come last.
+ */
+function garland_drupal_alter_alter(&$data, &$arg2 = NULL, &$arg3 = NULL) {
+ // Alter first argument.
+ if (is_array($data)) {
+ $data['foo'] .= ' theme';
+ }
+ elseif (is_object($data)) {
+ $data->foo .= ' theme';
+ }
+ // Alter second argument, if present.
+ if (isset($arg2)) {
+ if (is_array($arg2)) {
+ $arg2['foo'] .= ' theme';
+ }
+ elseif (is_object($arg2)) {
+ $arg2->foo .= ' theme';
+ }
+ }
+ // Try to alter third argument, if present.
+ if (isset($arg3)) {
+ if (is_array($arg3)) {
+ $arg3['foo'] .= ' theme';
+ }
+ elseif (is_object($arg3)) {
+ $arg3->foo .= ' theme';
+ }
+ }
+}
+
+/**
* Implement hook_theme().
*/
function common_test_theme() {