diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-10-23 01:00:52 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-10-23 01:00:52 +0000 |
commit | cbd7938955e8efefc6cd0bd97f9bd6b99f7bd831 (patch) | |
tree | 28e0b0081227fd2dc20b78dfeb1b9504cf0982a1 | |
parent | 2d1634134d7edd0554757d4180490e838e6001a4 (diff) | |
download | brdo-cbd7938955e8efefc6cd0bd97f9bd6b99f7bd831.tar.gz brdo-cbd7938955e8efefc6cd0bd97f9bd6b99f7bd831.tar.bz2 |
- Patch #611032 by c960657: fixed bug with wrong variable used in file_build_uri(). Added tests.
-rw-r--r-- | includes/file.inc | 2 | ||||
-rw-r--r-- | modules/simpletest/tests/file.test | 28 |
2 files changed, 21 insertions, 9 deletions
diff --git a/includes/file.inc b/includes/file.inc index bf4996567..dc31859db 100644 --- a/includes/file.inc +++ b/includes/file.inc @@ -657,7 +657,7 @@ function file_unmanaged_copy($source, $destination = NULL, $replace = FILE_EXIST * 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); } diff --git a/modules/simpletest/tests/file.test b/modules/simpletest/tests/file.test index 8e17d1398..b7ec982ab 100644 --- a/modules/simpletest/tests/file.test +++ b/modules/simpletest/tests/file.test @@ -2118,17 +2118,17 @@ class FileMimeTypeTest extends DrupalWebTestCase { } /** - * 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', ); } @@ -2167,21 +2167,33 @@ class StreamWrapperRegistryTest extends DrupalWebTestCase { /** * 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.')); } /** |