1package com.xtremelabs.robolectric.shadows;
2
3import android.webkit.CookieManager;
4import com.xtremelabs.robolectric.Robolectric;
5import com.xtremelabs.robolectric.internal.Implementation;
6import com.xtremelabs.robolectric.internal.Implements;
7
8import java.util.HashMap;
9import java.util.Map;
10
11/**
12 * Shadows the {@code android.telephony.TelephonyManager} class.
13 */
14@SuppressWarnings({"UnusedDeclaration"})
15@Implements(CookieManager.class)
16public 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