Add unit test for issue 64563
Editor#putString(key, null) should be equivalent to
Editor#remove(key).
bug: https://code.google.com/p/android/issues/detail?id=64563
Change-Id: I0398d8760a1de9a24eaa0a27bd3a7ccdae54715e
diff --git a/tests/tests/content/src/android/content/cts/SharedPreferencesTest.java b/tests/tests/content/src/android/content/cts/SharedPreferencesTest.java
index 35584bb..2354926 100644
--- a/tests/tests/content/src/android/content/cts/SharedPreferencesTest.java
+++ b/tests/tests/content/src/android/content/cts/SharedPreferencesTest.java
@@ -16,10 +16,6 @@
package android.content.cts;
-import com.android.cts.stub.R;
-
-import dalvik.annotation.BrokenTest;
-
import android.app.QueuedWork;
import android.content.Context;
import android.content.ContextWrapper;
@@ -28,7 +24,6 @@
import android.preference.PreferenceManager;
import android.test.AndroidTestCase;
import android.util.Log;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -93,6 +88,19 @@
assertEquals("default", prefs.getString(key, "default"));
}
+ public void testPutNullRemovesKey() {
+ SharedPreferences prefs = getPrefs();
+ prefs.edit().putString("test-key", "test-value").commit();
+ assertEquals("test-value", prefs.getString("test-key", null));
+
+ SharedPreferences.Editor editor = prefs.edit().putString("test-key", null);
+ assertEquals("test-value", prefs.getString("test-key", null));
+ editor.commit();
+
+ assertNull(prefs.getString("test-key", null));
+ assertFalse(prefs.contains("test-key"));
+ }
+
private abstract class RedundantWriteTest {
// Do some initial operation on editor. No commit needed.
public abstract void setUp(SharedPreferences.Editor editor);