summaryrefslogtreecommitdiff
path: root/modules/simpletest/drupal_web_test_case.php
diff options
context:
space:
mode:
authorDavid Rothstein <drothstein@gmail.com>2012-12-09 11:01:25 -0500
committerDavid Rothstein <drothstein@gmail.com>2012-12-09 11:01:25 -0500
commiteb1be6311e85b30bb46e85a348de6af2fd4eb84d (patch)
tree7c0ff04660a3327d983eb176912bb5f375d9d0eb /modules/simpletest/drupal_web_test_case.php
parent50f9d3f97c5c57294f5567740face9c9a920573f (diff)
downloadbrdo-eb1be6311e85b30bb46e85a348de6af2fd4eb84d.tar.gz
brdo-eb1be6311e85b30bb46e85a348de6af2fd4eb84d.tar.bz2
Issue #1706878 by tim.plunkett, lazysoundsystem: Added DrupalWebTestCase::assertThemeOutput() to allow modules to test theme function output.
Diffstat (limited to 'modules/simpletest/drupal_web_test_case.php')
-rw-r--r--modules/simpletest/drupal_web_test_case.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php
index e3cab62a2..694880b91 100644
--- a/modules/simpletest/drupal_web_test_case.php
+++ b/modules/simpletest/drupal_web_test_case.php
@@ -3149,6 +3149,42 @@ class DrupalWebTestCase extends DrupalTestCase {
}
/**
+ * Asserts themed output.
+ *
+ * @param $callback
+ * The name of the theme function to invoke; e.g. 'links' for theme_links().
+ * @param $variables
+ * An array of variables to pass to the theme function.
+ * @param $expected
+ * The expected themed output string.
+ * @param $message
+ * (optional) A message to display with the assertion. Do not translate
+ * messages: use format_string() to embed variables in the message text, not
+ * t(). If left blank, a default message will be displayed.
+ * @param $group
+ * (optional) The group this message is in, which is displayed in a column
+ * in test output. Use 'Debug' to indicate this is debugging output. Do not
+ * translate this string. Defaults to 'Other'; most tests do not override
+ * this default.
+ *
+ * @return
+ * TRUE on pass, FALSE on fail.
+ */
+ protected function assertThemeOutput($callback, array $variables = array(), $expected, $message = '', $group = 'Other') {
+ $output = theme($callback, $variables);
+ $this->verbose('Variables:' . '<pre>' . check_plain(var_export($variables, TRUE)) . '</pre>'
+ . '<hr />' . 'Result:' . '<pre>' . check_plain(var_export($output, TRUE)) . '</pre>'
+ . '<hr />' . 'Expected:' . '<pre>' . check_plain(var_export($expected, TRUE)) . '</pre>'
+ . '<hr />' . $output
+ );
+ if (!$message) {
+ $message = '%callback rendered correctly.';
+ }
+ $message = format_string($message, array('%callback' => 'theme_' . $callback . '()'));
+ return $this->assertIdentical($output, $expected, $message, $group);
+ }
+
+ /**
* Asserts that a field exists in the current page by the given XPath.
*
* @param $xpath