Index: modules/update/update.test
===================================================================
RCS file: /Users/wright/drupal/local_repo/drupal/modules/update/update.test,v
retrieving revision 1.4
diff -u -p -r1.4 update.test
--- modules/update/update.test	5 Oct 2009 02:26:36 -0000	1.4
+++ modules/update/update.test	5 Oct 2009 22:44:42 -0000
@@ -266,5 +266,47 @@ class UpdateTestContribCase extends Upda
     $this->assertTrue(strpos($this->drupalGetContent(), $bbb_project_link) < strpos($this->drupalGetContent(), $ccc_project_link), "'BBB Update test' project is listed before the 'CCC Update test' project");
   }
 
+  /**
+   * Test that subthemes are notified about security updates for base themes.
+   */
+  function testUpdateBaseThemeSecurityUpdate() {
+    // Only enable the subtheme, not the base theme.
+    db_update('system')
+      ->fields(array('status' => 1))
+      ->condition('type', 'theme')
+      ->condition('name', 'update_test_subtheme')
+      ->execute();
+
+    // Define the initial state for core and the subtheme.
+    $system_info = array(
+      // We want core to be version 7.0.    
+      '#all' => array(
+        'version' => '7.0',
+      ),
+      // Show the update_test_basetheme
+      'update_test_basetheme' => array(
+        'project' => 'update_test_basetheme',
+        'version' => '7.x-1.0',
+        'hidden' => FALSE,
+      ),
+      // Show the update_test_subtheme
+      'update_test_subtheme' => array(
+        'project' => 'update_test_subtheme',
+        'version' => '7.x-1.0',
+        'hidden' => FALSE,
+      ),
+    );
+    variable_set('update_test_system_info', $system_info);
+    $xml_mapping = array(
+      'drupal' => '0',
+      'update_test_subtheme' => '1_0',
+      'update_test_basetheme' => '1_1-sec',
+    );
+    $this->refreshUpdateStatus($xml_mapping);
+    $this->drupalGet('admin/reports/updates');
+    $this->assertText(t('Security update required!'));
+    $this->assertRaw(l(t('Update test base theme'), 'http://example.com/project/update_test_basetheme'), t('Link to the Update test base theme project appears.'));
+  }
+
 }
 
cvs diff: Diffing modules/update/tests
Index: modules/update/tests/update_test_basetheme.1_1-sec.xml
===================================================================
RCS file: modules/update/tests/update_test_basetheme.1_1-sec.xml
diff -N modules/update/tests/update_test_basetheme.1_1-sec.xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/update/tests/update_test_basetheme.1_1-sec.xml	5 Oct 2009 21:30:35 -0000
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:dc="http://purl.org/dc/elements/1.1/">
+<title>Update test base theme</title>
+<short_name>update_test_basetheme</short_name>
+<dc:creator>Drupal</dc:creator>
+<api_version>7.x</api_version>
+<recommended_major>1</recommended_major>
+<supported_majors>1</supported_majors>
+<default_major>1</default_major>
+<project_status>published</project_status>
+<link>http://example.com/project/update_test_basetheme</link>
+  <terms>
+   <term><name>Projects</name><value>Themes</value></term>
+  </terms>
+<releases>
+ <release>
+  <name>update_test_basetheme 7.x-1.1</name>
+  <version>7.x-1.1</version>
+  <tag>DRUPAL-7--1-1</tag>
+  <version_major>1</version_major>
+  <version_patch>1</version_patch>
+  <status>published</status>
+  <release_link>http://example.com/update_test_basetheme-7-x-1-1-release</release_link>
+  <download_link>http://example.com/update_test_basetheme-7.x-1.1.tar.gz</download_link>
+  <date>1250624521</date>
+  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
+  <filesize>1073763241</filesize>
+  <terms>
+   <term><name>Release type</name><value>Security update</value></term>
+   <term><name>Release type</name><value>New features</value></term>
+   <term><name>Release type</name><value>Bug fixes</value></term>
+  </terms>
+ </release>
+ <release>
+  <name>update_test_basetheme 7.x-1.0</name>
+  <version>7.x-1.0</version>
+  <tag>DRUPAL-7--1-0</tag>
+  <version_major>1</version_major>
+  <version_patch>0</version_patch>
+  <status>published</status>
+  <release_link>http://example.com/update_test_basetheme-7-x-1-0-release</release_link>
+  <download_link>http://example.com/update_test_basetheme-7.x-1.0.tar.gz</download_link>
+  <date>1250524521</date>
+  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
+  <filesize>1073741824</filesize>
+  <terms>
+   <term><name>Release type</name><value>New features</value></term>
+   <term><name>Release type</name><value>Bug fixes</value></term>
+  </terms>
+ </release>
+</releases>
+</project>
Index: modules/update/tests/update_test_subtheme.1_0.xml
===================================================================
RCS file: modules/update/tests/update_test_subtheme.1_0.xml
diff -N modules/update/tests/update_test_subtheme.1_0.xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ modules/update/tests/update_test_subtheme.1_0.xml	5 Oct 2009 21:02:27 -0000
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns:dc="http://purl.org/dc/elements/1.1/">
+<title>Update test subtheme</title>
+<short_name>update_test_subtheme</short_name>
+<dc:creator>Drupal</dc:creator>
+<api_version>7.x</api_version>
+<recommended_major>1</recommended_major>
+<supported_majors>1</supported_majors>
+<default_major>1</default_major>
+<project_status>published</project_status>
+<link>http://example.com/project/update_test_subtheme</link>
+  <terms>
+   <term><name>Projects</name><value>Themes</value></term>
+  </terms>
+<releases>
+ <release>
+  <name>update_test_subtheme 7.x-1.0</name>
+  <version>7.x-1.0</version>
+  <tag>DRUPAL-7--1-0</tag>
+  <version_major>1</version_major>
+  <version_patch>0</version_patch>
+  <status>published</status>
+  <release_link>http://example.com/update_test_subtheme-7-x-1-0-release</release_link>
+  <download_link>http://example.com/update_test_subtheme-7.x-1.0.tar.gz</download_link>
+  <date>1250524521</date>
+  <mdhash>b966255555d9c9b86d480ca08cfaa98e</mdhash>
+  <filesize>1073741824</filesize>
+  <terms>
+   <term><name>Release type</name><value>New features</value></term>
+   <term><name>Release type</name><value>Bug fixes</value></term>
+  </terms>
+ </release>
+</releases>
+</project>
cvs diff: Diffing themes/tests/update_test_basetheme
Index: themes/tests/update_test_basetheme/update_test_basetheme.info
===================================================================
RCS file: themes/tests/update_test_basetheme/update_test_basetheme.info
diff -N themes/tests/update_test_basetheme/update_test_basetheme.info
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ themes/tests/update_test_basetheme/update_test_basetheme.info	5 Oct 2009 21:50:58 -0000
@@ -0,0 +1,6 @@
+; $Id$
+name = Update test base theme
+description = Test theme which acts as a base theme for other test subthemes.
+core = 7.x
+engine = phptemplate
+hidden = TRUE
cvs diff: Diffing themes/tests/update_test_subtheme
Index: themes/tests/update_test_subtheme/update_test_subtheme.info
===================================================================
RCS file: themes/tests/update_test_subtheme/update_test_subtheme.info
diff -N themes/tests/update_test_subtheme/update_test_subtheme.info
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ themes/tests/update_test_subtheme/update_test_subtheme.info	5 Oct 2009 21:51:10 -0000
@@ -0,0 +1,7 @@
+; $Id$
+name = Update test subtheme
+description = Test theme which uses update_test_basetheme as the base theme.
+core = 7.x
+engine = phptemplate
+base theme = update_test_basetheme
+hidden = TRUE
