Index: includes/file.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/file.inc,v
retrieving revision 1.197
diff -u -9 -p -r1.197 file.inc
--- includes/file.inc	18 Oct 2009 18:36:24 -0000	1.197
+++ includes/file.inc	22 Oct 2009 18:22:30 -0000
@@ -651,19 +651,19 @@ function file_unmanaged_copy($source, $d
   drupal_chmod($destination);
 
   return $destination;
 }
 
 /**
  * Given a relative path, construct a URI into Drupal's default files location.
  */
 function file_build_uri($path) {
-  $uri = variable_get('file_scheme_default', 'public') . '://' . $path;
+  $uri = variable_get('file_default_scheme', 'public') . '://' . $path;
   return file_stream_wrapper_uri_normalize($uri);
 }
 
 /**
  * Determines the destination path for a file depending on how replacement of
  * existing files should be handled.
  *
  * @param $destination
  *   A string specifying the desired final URI or filepath.
Index: modules/simpletest/tests/file.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/file.test,v
retrieving revision 1.44
diff -u -9 -p -r1.44 file.test
--- modules/simpletest/tests/file.test	20 Sep 2009 17:40:41 -0000	1.44
+++ modules/simpletest/tests/file.test	22 Oct 2009 18:22:31 -0000
@@ -2112,29 +2112,29 @@ class FileMimeTypeTest extends DrupalWeb
 
     foreach ($test_case as $input => $expected) {
       $output = file_get_mimetype($input, $mapping);
       $this->assertIdentical($output, $expected, t('Mimetype (using passed-in mappings) for %input is %output (expected: %expected).', array('%input' => $input, '%output' => $output, '%expected' => $expected)));
     }
   }
 }
 
 /**
- * Tests stream wrapper registry.
+ * Tests stream wrapper functions.
  */
-class StreamWrapperRegistryTest extends DrupalWebTestCase {
+class StreamWrapperTest extends DrupalWebTestCase {
 
   protected $scheme = 'dummy';
   protected $classname = 'DrupalDummyStreamWrapper';
 
   public static function getInfo() {
     return array(
-      'name' => 'Stream Wrapper Registry',
-      'description' => 'Tests stream wrapper registry.',
+      'name' => 'Stream wrappers',
+      'description' => 'Tests stream wrapper functions.',
       'group' => 'File API',
     );
   }
 
   function setUp() {
     parent::setUp('file_test');
     drupal_static_reset('file_get_stream_wrappers');
   }
 
@@ -2161,33 +2161,45 @@ class StreamWrapperRegistryTest extends 
     $this->assertEqual($this->classname, get_class($instance), t('Got correct class type for dummy scheme.'));
 
     $instance = file_stream_wrapper_get_instance_by_scheme('public');
     $this->assertEqual('DrupalPublicStreamWrapper', get_class($instance), t('Got correct class type for public scheme.'));
   }
 
   /**
    * Test the URI and target functions.
    */
-  function testGetInstanceByUri() {
+  function testUriFunctions() {
     $instance = file_stream_wrapper_get_instance_by_uri($this->scheme . '://foo');
     $this->assertEqual($this->classname, get_class($instance), t('Got correct class type for dummy URI.'));
 
     $instance = file_stream_wrapper_get_instance_by_uri('public://foo');
     $this->assertEqual('DrupalPublicStreamWrapper', get_class($instance), t('Got correct class type for public URI.'));
 
-    // Test file_stream_wrapper_uri_normalize.
+    // Test file_stream_wrapper_uri_normalize().
     $uri = 'public:///' . file_directory_path() . '/foo/bar/';
     $uri = file_stream_wrapper_uri_normalize($uri);
     $this->assertEqual('public://foo/bar', $uri, t('Got a properly normalized URI @uri', array('@uri' => $uri)));
 
-    // Test file_uri_taget().
-    $this->assertEqual('foo/bar.txt', file_uri_target('public://foo/bar.txt'), t('Got a valid stream target from public://foo/bar.txt'));
+    // Test file_uri_target().
+    $this->assertEqual(file_uri_target('public://foo/bar.txt'), 'foo/bar.txt', t('Got a valid stream target from public://foo/bar.txt.'));
     $this->assertFalse(file_uri_target('foo/bar.txt'), t('foo/bar.txt is not a valid stream.'));
+
+    // Test file_build_uri() and file_directory_path().
+    $this->assertEqual(file_build_uri('foo/bar.txt'), 'public://foo/bar.txt', t('Expected scheme was added.'));
+    $this->assertEqual(file_directory_path(), variable_get('file_public_path'), t('Expected default directory path was returned.'));
+    $this->assertEqual(file_directory_path('public'), variable_get('file_public_path'), t('Expected public directory path was returned.'));
+    $this->assertEqual(file_directory_path('temporary'), conf_path() . '/private/temp', t('Expected temporary directory path was returned.'));
+    $this->assertEqual(file_directory_path($this->scheme), variable_get('stream_public_path', 'sites/default/files'), t('Expected dummy directory path was returned.'));
+    $this->assertFalse(file_directory_path('non-existent'), t('No directory path returned for invalid scheme.'));
+    variable_set('file_default_scheme', 'private');
+    $this->assertEqual(file_build_uri('foo/bar.txt'), 'private://foo/bar.txt', t('Got a valid URI from foo/bar.txt.'));
+    $this->assertEqual(file_directory_path(), variable_get('file_private_path'), t('Expected default directory path was returned.'));
+    $this->assertEqual(file_directory_path('private'), variable_get('file_private_path'), t('Expected private directory path was returned.'));
   }
 
   /**
    * Test the scheme functions.
    */
   function testGetValidStreamScheme() {
     $this->assertEqual('foo', file_uri_scheme('foo://pork//chops'), t('Got the correct scheme from foo://asdf'));
     $this->assertTrue(file_stream_wrapper_valid_scheme(file_uri_scheme('public://asdf')), t('Got a valid stream scheme from public://asdf'));
     $this->assertFalse(file_stream_wrapper_valid_scheme(file_uri_scheme('foo://asdf')), t('Did not get a valid stream scheme from foo://asdf'));
