Index: includes/install.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/install.inc,v retrieving revision 1.146 diff -u -p -r1.146 install.inc --- includes/install.inc 20 Nov 2010 03:34:30 -0000 1.146 +++ includes/install.inc 22 Nov 2010 17:04:16 -0000 @@ -92,6 +92,10 @@ function drupal_load_updates() { * Otherwise, FALSE. */ function drupal_get_schema_versions($module) { + // get_defined_functions() returns all function names in lowercase, to match + // those update functions, we lowercase the module name as well. + $module = strtolower($module); + $updates = &drupal_static(__FUNCTION__, NULL); if (!isset($updates[$module])) { $updates = array(); Index: modules/simpletest/tests/Update_Test_4.info =================================================================== RCS file: modules/simpletest/tests/Update_Test_4.info diff -N modules/simpletest/tests/Update_Test_4.info --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ modules/simpletest/tests/Update_Test_4.info 22 Nov 2010 17:04:16 -0000 @@ -0,0 +1,9 @@ +; $Id$ +name = "Mixed-case update test" +description = "Support module for update testing mixed-case module names." +package = Testing +version = VERSION +core = 7.x +files[] = Update_Test_4.module +files[] = Update_Test_4.install +hidden = TRUE Index: modules/simpletest/tests/Update_Test_4.install =================================================================== RCS file: modules/simpletest/tests/Update_Test_4.install diff -N modules/simpletest/tests/Update_Test_4.install --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ modules/simpletest/tests/Update_Test_4.install 22 Nov 2010 17:04:16 -0000 @@ -0,0 +1,25 @@ + 'Update module with mixed-case name', + 'description' => 'Test updating of module with mixed-case name.', + 'group' => 'Update API', + ); + } + + function setUp() { + parent::setUp('Update_Test_4'); + require_once DRUPAL_ROOT . '/includes/install.inc'; + } + + /** + * Test that the update functions for a mixed-case module are found. + */ + function testUpdateFunctionsFound() { + $expected_updates = array( + '7000', + '7001', + '7002', + ); + $actual_updates = drupal_get_schema_versions('Update_Test_4'); + $this->assertEqual($expected_updates, $actual_updates, t('Updates for a module with a mixed-case name are found.')); + } +}