diff options
author | James Lemieux <jplemieux@google.com> | 2014-01-16 17:11:02 -0800 |
---|---|---|
committer | James Lemieux <jplemieux@google.com> | 2014-01-16 17:11:02 -0800 |
commit | afe5e27521b98540a17ec352d16e3641fea8dfd6 (patch) | |
tree | f2363a8c3b05ab92e8616918e9d236a7aba21cd8 /tests | |
parent | 9f643063e43e8cda8f0636765e52222be26f8e51 (diff) | |
download | android_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.java | 55 |
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 +} |