7045655: An empty InMemoryCookieStore should not return true for removeAll
authorkhazra
Thu, 15 Mar 2012 13:21:16 -0700
changeset 12192 dd8301ce22b6
parent 12191 115ba6d4dcdd
child 12194 1a48716abaa1
7045655: An empty InMemoryCookieStore should not return true for removeAll Summary: CookieStore.removeAll() should return false for an empty CookieStore Reviewed-by: chegar
jdk/src/share/classes/java/net/InMemoryCookieStore.java
jdk/test/java/net/CookieHandler/NullUriCookieTest.java
--- a/jdk/src/share/classes/java/net/InMemoryCookieStore.java	Thu Mar 15 16:46:47 2012 +0000
+++ b/jdk/src/share/classes/java/net/InMemoryCookieStore.java	Thu Mar 15 13:21:16 2012 -0700
@@ -207,6 +207,9 @@
     public boolean removeAll() {
         lock.lock();
         try {
+            if (cookieJar.isEmpty()) {
+                return false;
+            }
             cookieJar.clear();
             domainIndex.clear();
             uriIndex.clear();
--- a/jdk/test/java/net/CookieHandler/NullUriCookieTest.java	Thu Mar 15 16:46:47 2012 +0000
+++ b/jdk/test/java/net/CookieHandler/NullUriCookieTest.java	Thu Mar 15 13:21:16 2012 -0700
@@ -23,8 +23,9 @@
 
 /*
  * @test
- * @bug 6953455
+ * @bug 6953455 7045655
  * @summary CookieStore.add() cannot handle null URI parameter
+ *     and An empty InMemoryCookieStore should not return true for removeAll
  */
 
 import java.net.CookieManager;
@@ -44,6 +45,11 @@
     static void checkCookieNullUri() throws Exception {
         //get a cookie store implementation and add a cookie to the store with null URI
         CookieStore cookieStore = (new CookieManager()).getCookieStore();
+        //Check if removeAll() retrurns false on an empty CookieStore
+        if (cookieStore.removeAll()) {
+            fail = true;
+        }
+        checkFail("removeAll on empty store should return false");
         HttpCookie cookie = new HttpCookie("MY_COOKIE", "MY_COOKIE_VALUE");
         cookie.setDomain("foo.com");
         cookieStore.add(null, cookie);