Index: modules/simpletest/simpletest.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.install,v
retrieving revision 1.11
diff -u -p -r1.11 simpletest.install
--- modules/simpletest/simpletest.install	9 Oct 2008 00:02:29 -0000	1.11
+++ modules/simpletest/simpletest.install	12 Oct 2008 23:37:15 -0000
@@ -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 then 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($dire
  * 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);
 }
 
 /**
