summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJames Lemieux <jplemieux@google.com>2014-01-16 17:11:02 -0800
committerJames Lemieux <jplemieux@google.com>2014-01-16 17:11:02 -0800
commitafe5e27521b98540a17ec352d16e3641fea8dfd6 (patch)
treef2363a8c3b05ab92e8616918e9d236a7aba21cd8 /tests
parent9f643063e43e8cda8f0636765e52222be26f8e51 (diff)
downloadandroid_packages_apps_UnifiedEmail-afe5e27521b98540a17ec352d16e3641fea8dfd6.tar.gz
android_packages_apps_UnifiedEmail-afe5e27521b98540a17ec352d16e3641fea8dfd6.tar.bz2
android_packages_apps_UnifiedEmail-afe5e27521b98540a17ec352d16e3641fea8dfd6.zip
Recently, Account gained a field: senderName. When serializing/deserializing that field using JSON
a bug was introduced where null is serialized in and "" is deserialized out. This checkin fixes the problem. Change-Id: I66bd52b7d59ea7c3b447b86d776db52aea9b3089
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/mail/providers/AccountTests.java55
1 files changed, 40 insertions, 15 deletions
diff --git a/tests/src/com/android/mail/providers/AccountTests.java b/tests/src/com/android/mail/providers/AccountTests.java
index d521063e5..be3d3afc1 100644
--- a/tests/src/com/android/mail/providers/AccountTests.java
+++ b/tests/src/com/android/mail/providers/AccountTests.java
@@ -18,13 +18,18 @@ package com.android.mail.providers;
import android.content.Intent;
import android.os.Parcel;
import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
import com.android.mail.utils.Utils;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+@SmallTest
public class AccountTests extends AndroidTestCase {
- public void brokenTestSerializeDeSerialize() {
- Parcel dest = Parcel.obtain();
+ public void testSerializeDeserialize() {
+ final Parcel dest = Parcel.obtain();
dest.writeInt(0);
dest.writeString("accountUri");
dest.writeInt(12345);
@@ -35,17 +40,37 @@ public class AccountTests extends AndroidTestCase {
dest.writeString("undoUri");
dest.writeString("settingIntentUri");
dest.writeInt(0);
- Account account = new Account(dest, null);
- Intent intent = new Intent();
- intent.putExtra(Utils.EXTRA_ACCOUNT, account);
- Account outAccount = (Account) intent.getParcelableExtra(Utils.EXTRA_ACCOUNT);
- assertEquals(outAccount.name, account.name);
- assertEquals(outAccount.accountFromAddresses, account.accountFromAddresses);
- assertEquals(outAccount.capabilities, account.capabilities);
- assertEquals(outAccount.providerVersion, account.providerVersion);
- assertEquals(outAccount.uri, account.uri);
- assertEquals(outAccount.folderListUri, account.folderListUri);
- assertEquals(outAccount.searchUri, account.searchUri);
- assertEquals(outAccount.expungeMessageUri, account.expungeMessageUri);
+
+ final Account before = new Account(dest, null);
+ final Intent intent = new Intent();
+ intent.putExtra(Utils.EXTRA_ACCOUNT, before);
+
+ final Account after = intent.getParcelableExtra(Utils.EXTRA_ACCOUNT);
+ assertNotNull(after);
+
+ assertEquals(before.name, after.name);
+ assertEquals(before.accountFromAddresses, after.accountFromAddresses);
+ assertEquals(before.capabilities, after.capabilities);
+ assertEquals(before.providerVersion, after.providerVersion);
+ assertEquals(before.uri, after.uri);
+ assertEquals(before.folderListUri, after.folderListUri);
+ assertEquals(before.searchUri, after.searchUri);
+ assertEquals(before.expungeMessageUri, after.expungeMessageUri);
+ }
+
+ public void testDeserializeNullSenderNameUsingJSON() throws JSONException {
+ final JSONObject json = new JSONObject();
+ // fields required by deserialization
+ json.put(UIProvider.AccountColumns.NAME, "name");
+ json.put(UIProvider.AccountColumns.TYPE, "type");
+ json.put(UIProvider.AccountColumns.PROVIDER_VERSION, 1);
+ json.put(UIProvider.AccountColumns.CAPABILITIES, 2);
+
+ // null sender name (same thing as not putting a sender name at all)
+ json.put(UIProvider.AccountColumns.SENDER_NAME, null);
+
+ final Account account = Account.newinstance(json.toString());
+ assertNotNull(account);
+ assertNull(account.getSenderName());
}
-} \ No newline at end of file
+}