diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 9780ed2..64ea90d 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -867,6 +867,11 @@ function drupal_get_filename($type, $name, $filename = NULL) { // drupal_static(). static $files = array(), $dirs = array(); + // Profiles are a special case: they have a fix location and naming. + if ($type == 'profile') { + $filename = "profiles/$name/$name.profile"; + $files[$type][$name] = file_exists($filename) ? $filename : FALSE; + } if (!isset($files[$type])) { $files[$type] = array(); } diff --git a/core/modules/simpletest/tests/bootstrap.test b/core/modules/simpletest/tests/bootstrap.test index 5829222..10dfe7b 100644 --- a/core/modules/simpletest/tests/bootstrap.test +++ b/core/modules/simpletest/tests/bootstrap.test @@ -350,11 +350,11 @@ class BootstrapGetFilenameTestCase extends DrupalUnitTestCase { // Retrieving the location of a theme engine. $this->assertIdentical(drupal_get_filename('theme_engine', 'phptemplate'), 'core/themes/engines/phptemplate/phptemplate.engine', t('Retrieve theme engine location.')); - // @todo: This test is broken because drupal_get_filename() does not work - // with profiles at all. See this core issue: http://drupal.org/node/1006714 + // Verify profiles work. + $this->assertIdentical(drupal_get_filename('profile', 'standard'), 'profiles/standard/standard.profile', t('Retrieve install profile location.')); // Retrieving a file that is definitely not stored in the database. - //$this->assertIdentical(drupal_get_filename('profile', 'standard'), 'profiles/standard/standard.profile', t('Retrieve install profile location.')); + $this->assertIdentical(drupal_get_filename('script', 'test'), 'core/scripts/test.script', t('Retrieve script location.')); } } diff --git a/core/scripts/test.script b/core/scripts/test.script new file mode 100644 index 0000000..9fdbf4d --- /dev/null +++ b/core/scripts/test.script @@ -0,0 +1 @@ +This file is for testing purposes only.