Index: modules/simpletest/tests/common.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/common.test,v
retrieving revision 1.134
diff -u -p -r1.134 common.test
--- modules/simpletest/tests/common.test	22 Nov 2010 05:22:43 -0000	1.134
+++ modules/simpletest/tests/common.test	28 Nov 2010 01:29:32 -0000
@@ -1432,6 +1432,31 @@ class JavaScriptTestCase extends DrupalW
     $query_string = variable_get('css_js_query_string', '0');
     $this->assertRaw(drupal_get_path('module', 'node') . '/node.js?' . $query_string, t('Query string was appended correctly to js.'));
   }
+
+  /**
+   * Tests JavaScript preprocessing.
+   */
+  function testPreProcess() {
+    // Verify that JS files added in hook_page_alter() with preprocessing
+    // enabled are aggregated.
+    variable_set('preprocess_js', 1);
+    variable_set('common_test_page_alter_add_js', TRUE);
+    $this->drupalGet('');
+    $elements = $this->xpath('//script[contains(@src, :file)]', array(
+      ':file' => '/js_',
+    ));
+    $found = FALSE;
+    foreach ($elements as $element) {
+      if (!$found) {
+        $file = (string) $element['src'];
+        $content = file_get_contents($file);
+        if (strpos($content, 'filterStatus') !== FALSE) {
+          $found = TRUE;
+        }
+      }
+    }
+    $this->assertTrue($found, t('File added in hook_page_alter() found in JS aggregate.'));
+  }
 }
 
 /**
Index: modules/simpletest/tests/common_test.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/common_test.module,v
retrieving revision 1.13
diff -u -p -r1.13 common_test.module
--- modules/simpletest/tests/common_test.module	17 Aug 2010 21:31:13 -0000	1.13
+++ modules/simpletest/tests/common_test.module	27 Nov 2010 23:00:32 -0000
@@ -226,3 +226,13 @@ function common_test_js_and_css_querystr
    drupal_add_css('/' . drupal_get_path('module', 'node') . '/node-fake.css?arg1=value1&arg2=value2');
    return '';
 }
+
+/**
+ * Implements hook_page_alter().
+ */
+function common_test_page_alter(&$page) {
+  if (variable_get('common_test_page_alter_add_js', FALSE)) {
+    // Lacking a custom JavaScript test file, just add one that normally isn't.
+    drupal_add_js(drupal_get_path('module', 'filter') . '/filter.admin.js');
+  }
+}
