diff options
Diffstat (limited to 'modules/simpletest')
-rw-r--r-- | modules/simpletest/simpletest.install | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/modules/simpletest/simpletest.install b/modules/simpletest/simpletest.install index a1ceeb974..bb59d47df 100644 --- a/modules/simpletest/simpletest.install +++ b/modules/simpletest/simpletest.install @@ -28,12 +28,14 @@ function simpletest_install() { } // Copy other test files for consistency. - $files = file_scan_directory($path, '/(html|image|javascript|php|sql)-.*/'); - if (count($files) == 0) { - $original = drupal_get_path('module', 'simpletest') . '/files'; + $original = drupal_get_path('module', 'simpletest') . '/files'; + $files = file_scan_directory($original, '(html|image|javascript|php|sql)-.*'); + + // If there are more files in the original directory than the files directory, copy files. + if (count($files) > count(file_scan_directory($path, '(html|image|javascript|php|sql)-.*'))) { $files = file_scan_directory($original, '/(html|image|javascript|php|sql)-.*/'); foreach ($files as $file) { - file_unmanaged_copy($file->filename, $path . '/' . $file->basename); + file_copy($file->filename, $path, FILE_EXISTS_REPLACE); } $generated = TRUE; } @@ -92,11 +94,22 @@ function simpletest_get_file_count($directory, $filename) { * Implementation of hook_uninstall(). */ function simpletest_uninstall() { + // Remove settings variables. variable_del('simpletest_httpauth'); variable_del('simpletest_httpauth_username'); variable_del('simpletest_httpauth_pass'); variable_del('simpletest_devel'); + + // Uninstall schema. drupal_uninstall_schema('simpletest'); + + // Remove generated files. + $path = file_directory_path() . '/simpletest'; + $files = file_scan_directory($path, '.*'); + foreach ($files as $file) { + file_delete($file->filename); + } + rmdir($path); } /** |