From: David A. Velasco Date: Wed, 31 Jul 2013 11:11:23 +0000 (-0700) Subject: Merge pull request #225 from Mik-/develop X-Git-Tag: oc-android-1.4.6~26^2~1 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/86a48a5b1e4ed5a4fb66dcc273a7863b68c7c911?hp=8a8a6267f691e9d6b3bbe62d7d82e10e08ae0661 Merge pull request #225 from Mik-/develop Bugfix for issue #220: exception on Android 4.3 --- diff --git a/src/com/owncloud/android/providers/FileContentProvider.java b/src/com/owncloud/android/providers/FileContentProvider.java index 9b032434..e77556e1 100644 --- a/src/com/owncloud/android/providers/FileContentProvider.java +++ b/src/com/owncloud/android/providers/FileContentProvider.java @@ -86,7 +86,7 @@ public class FileContentProvider extends ContentProvider { private static final UriMatcher mUriMatcher; static { mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); - mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "/", ROOT_DIRECTORY); + mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, null, ROOT_DIRECTORY); mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "file/", SINGLE_FILE); mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "file/#", SINGLE_FILE); mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "dir/#", DIRECTORY); diff --git a/tests/src/com/owncloud/android/test/AccountUtilsTest.java b/tests/src/com/owncloud/android/test/AccountUtilsTest.java index b51409f4..51030a55 100644 --- a/tests/src/com/owncloud/android/test/AccountUtilsTest.java +++ b/tests/src/com/owncloud/android/test/AccountUtilsTest.java @@ -34,14 +34,21 @@ public class AccountUtilsTest extends AndroidTestCase { OwnCloudVersion ocv45 = new OwnCloudVersion(0x040500); OwnCloudVersion ocv70 = new OwnCloudVersion(0x070000); - assertTrue(AccountUtils.getWebdavPath(ocv12).equals("/webdav/owncloud.php")); - assertTrue(AccountUtils.getWebdavPath(ocv12s).equals("/webdav/owncloud.php")); - assertTrue(AccountUtils.getWebdavPath(ocv22).equals("/files/webdav.php")); - assertTrue(AccountUtils.getWebdavPath(ocv30).equals("/files/webdav.php")); - assertTrue(AccountUtils.getWebdavPath(ocv33s).equals("/files/webdav.php")); - assertTrue(AccountUtils.getWebdavPath(ocv45).equals("/remote.php/webdav")); - assertTrue(AccountUtils.getWebdavPath(ocv70).equals("/remote.php/webdav")); - assertNull(AccountUtils.getWebdavPath(null)); + assertTrue(AccountUtils.getWebdavPath(ocv12, false).equals("/webdav/owncloud.php")); + assertTrue(AccountUtils.getWebdavPath(ocv12s, false).equals("/webdav/owncloud.php")); + assertTrue(AccountUtils.getWebdavPath(ocv22, false).equals("/files/webdav.php")); + assertTrue(AccountUtils.getWebdavPath(ocv30,false).equals("/files/webdav.php")); + assertTrue(AccountUtils.getWebdavPath(ocv33s, false).equals("/files/webdav.php")); + assertTrue(AccountUtils.getWebdavPath(ocv45, false).equals("/remote.php/webdav")); + assertTrue(AccountUtils.getWebdavPath(ocv70, false).equals("/remote.php/webdav")); + assertNull(AccountUtils.getWebdavPath(null, false)); + assertTrue(AccountUtils.getWebdavPath(ocv12, true).equals("/remote.php/odav")); + assertTrue(AccountUtils.getWebdavPath(ocv12s, true).equals("/remote.php/odav")); + assertTrue(AccountUtils.getWebdavPath(ocv22, true).equals("/remote.php/odav")); + assertTrue(AccountUtils.getWebdavPath(ocv30, true).equals("/remote.php/odav")); + assertTrue(AccountUtils.getWebdavPath(ocv33s, true).equals("/remote.php/odav")); + assertTrue(AccountUtils.getWebdavPath(ocv45, true).equals("/remote.php/odav")); + assertTrue(AccountUtils.getWebdavPath(ocv70, true).equals("/remote.php/odav")); OwnCloudVersion invalidVer = new OwnCloudVersion("a.b.c"); assertFalse(invalidVer.isVersionValid()); diff --git a/tests/src/com/owncloud/android/test/FileContentProviderTest.java b/tests/src/com/owncloud/android/test/FileContentProviderTest.java new file mode 100644 index 00000000..e0345e78 --- /dev/null +++ b/tests/src/com/owncloud/android/test/FileContentProviderTest.java @@ -0,0 +1,54 @@ +package com.owncloud.android.test; + +import com.owncloud.android.db.ProviderMeta.ProviderTableMeta; +import com.owncloud.android.providers.FileContentProvider; + +import android.annotation.TargetApi; +import android.net.Uri; +import android.os.Build; +import android.test.ProviderTestCase2; +import android.test.mock.MockContentResolver; +import android.util.Log; + +@TargetApi(Build.VERSION_CODES.CUPCAKE) +public class FileContentProviderTest extends ProviderTestCase2 { + + private static final String TAG = FileContentProvider.class.getName(); + + private static MockContentResolver resolve; + + public FileContentProviderTest(Class providerClass, + String providerAuthority) { + super(providerClass, providerAuthority); + // TODO Auto-generated constructor stub + } + + public FileContentProviderTest() { + super(FileContentProvider.class, "com.owncloud.android.providers.FileContentProvider"); + } + + @Override + public void setUp() { + Log.i(TAG, "Entered setup"); + try { + super.setUp(); + resolve = this.getMockContentResolver(); + } catch (Exception e) { + + } + } + + public void testGetTypeFile() { + Uri testuri = Uri.parse("content://org.owncloud/file/"); + assertEquals(ProviderTableMeta.CONTENT_TYPE_ITEM, resolve.getType(testuri)); + + testuri = Uri.parse("content://org.owncloud/file/123"); + assertEquals(ProviderTableMeta.CONTENT_TYPE_ITEM, resolve.getType(testuri)); + } + + public void testGetTypeRoot() { + Uri testuri = Uri.parse("content://org.owncloud/"); + assertEquals(ProviderTableMeta.CONTENT_TYPE, resolve.getType(testuri)); + } + +}