Home | History | Annotate | Download | only in shadows
      1 package com.xtremelabs.robolectric.shadows;
      2 
      3 import android.webkit.CookieManager;
      4 import com.xtremelabs.robolectric.Robolectric;
      5 import com.xtremelabs.robolectric.internal.Implementation;
      6 import com.xtremelabs.robolectric.internal.Implements;
      7 
      8 import java.util.HashMap;
      9 import java.util.Map;
     10 
     11 /**
     12  * Shadows the {@code android.telephony.TelephonyManager} class.
     13  */
     14 @SuppressWarnings({"UnusedDeclaration"})
     15 @Implements(CookieManager.class)
     16 public class ShadowCookieManager {
     17     private static CookieManager sRef;
     18     private Map<String,String> cookies = new HashMap<String, String>();
     19     private boolean accept;
     20 
     21     @Implementation
     22     public static CookieManager getInstance() {
     23         if (sRef == null) {
     24             sRef = Robolectric.newInstanceOf(CookieManager.class);
     25         }
     26         return sRef;
     27     }
     28 
     29     @Implementation
     30     public void setCookie(String url, String value) {
     31         cookies.put(url, value);
     32     }
     33 
     34     @Implementation
     35     public String getCookie(String url) {
     36         return cookies.get(url);
     37     }
     38 
     39     @Implementation
     40     public void setAcceptCookie(boolean accept) {
     41         this.accept = accept;
     42     }
     43 
     44     @Implementation
     45     public boolean acceptCookie() {
     46         return this.accept;
     47     }
     48 
     49     @Implementation
     50     public void removeAllCookie() {
     51         cookies.clear();
     52     }
     53 }
     54