• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package android.webkit;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 
5 import android.os.Build.VERSION;
6 import android.os.Build.VERSION_CODES;
7 import androidx.test.core.app.ApplicationProvider;
8 import androidx.test.ext.junit.runners.AndroidJUnit4;
9 import org.junit.After;
10 import org.junit.Before;
11 import org.junit.Test;
12 import org.junit.runner.RunWith;
13 import org.robolectric.annotation.internal.DoNotInstrument;
14 
15 /** Compatibility test for {@link CookieManager} */
16 @DoNotInstrument
17 @RunWith(AndroidJUnit4.class)
18 public class CookieManagerTest {
19 
20   @Before
setUp()21   public void setUp() {
22     // Required to initialize native CookieManager for emulators with SDK < 19.
23     if (VERSION.SDK_INT < VERSION_CODES.KITKAT) {
24       CookieSyncManager.createInstance(ApplicationProvider.getApplicationContext());
25     }
26   }
27 
28   @After
tearDown()29   public void tearDown() {
30     CookieManager.getInstance().removeAllCookie();
31   }
32 
33   @Test
setCookie_doesNotAllowMultipleCookies()34   public void setCookie_doesNotAllowMultipleCookies() {
35     final String httpsUrl = "https://robolectric.org/";
36     final CookieManager cookieManager = CookieManager.getInstance();
37     cookieManager.setCookie(httpsUrl, "A=100; B=200");
38     String cookie = cookieManager.getCookie(httpsUrl);
39     assertThat(cookie).isEqualTo("A=100");
40   }
41 
42   @Test
setCookie_multipleCookies()43   public void setCookie_multipleCookies() {
44     final String httpsUrl = "https://robolectric.org/";
45     final CookieManager cookieManager = CookieManager.getInstance();
46     cookieManager.setCookie(httpsUrl, "A=100;");
47     cookieManager.setCookie(httpsUrl, "B=100;");
48     String cookie = cookieManager.getCookie(httpsUrl);
49     assertThat(cookie).isEqualTo("A=100; B=100");
50   }
51 
52   @Test
setCookie_overrideCookieHasTheSameKey()53   public void setCookie_overrideCookieHasTheSameKey() {
54     final String httpsUrl = "https://robolectric.org/";
55     final CookieManager cookieManager = CookieManager.getInstance();
56     cookieManager.setCookie(httpsUrl, "A=100;");
57     cookieManager.setCookie(httpsUrl, "A=200;");
58     String cookie = cookieManager.getCookie(httpsUrl);
59     assertThat(cookie).isEqualTo("A=200");
60   }
61 
62   @Test
getCookie_doesNotReturnAttributes()63   public void getCookie_doesNotReturnAttributes() {
64     final String httpsUrl = "https://robolectric.org/";
65     final CookieManager cookieManager = CookieManager.getInstance();
66     cookieManager.setCookie(httpsUrl, "ID=test-id; Path=/; Domain=.robolectric.org");
67     String cookie = cookieManager.getCookie(httpsUrl);
68     assertThat(cookie).isEqualTo("ID=test-id");
69   }
70 }
71