19b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtelpackage com.xtremelabs.robolectric.shadows; 29b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 363dda805c3f505f03263a3d4830747e53b421795Greg Choi & Mike Graftonimport android.webkit.CookieManager; 463dda805c3f505f03263a3d4830747e53b421795Greg Choi & Mike Graftonimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 59b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtelimport org.junit.Test; 69b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtelimport org.junit.runner.RunWith; 79b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 863dda805c3f505f03263a3d4830747e53b421795Greg Choi & Mike Graftonimport static org.hamcrest.CoreMatchers.is; 9405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuwimport static org.junit.Assert.*; 109b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 119b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel@RunWith(WithTestDefaultsRunner.class) 129b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtelpublic class CookieManagerTest { 139b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 149b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel @Test 159b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel public void shouldGetASingletonInstance() { 169b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel assertNotNull(CookieManager.getInstance()); 179b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel assertThat( CookieManager.getInstance(), is(CookieManager.getInstance())); 189b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel } 199b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 209b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel @Test 219b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel public void shouldSetAndGetACookie() { 229b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel CookieManager cookieManager = CookieManager.getInstance(); 239b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel String url = "http://www.google.com"; 249b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel String value = "my cookie"; 259b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel cookieManager.setCookie(url, value); 269b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel assertThat(cookieManager.getCookie(url), is(value)); 279b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel } 289b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 299b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel @Test 309b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel public void shouldGetCookieForUrl() { 319b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel CookieManager cookieManager = CookieManager.getInstance(); 329b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel String url1 = "http://www.google.com"; 339b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel String value1 = "my cookie"; 349b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel cookieManager.setCookie(url1, value1); 359b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 369b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel String url2 = "http://www.hotbot.com"; 379b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel String value2 = "some special value: thing"; 389b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel cookieManager.setCookie(url2, value2); 399b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 409b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel assertThat(cookieManager.getCookie("http://www.google.com"), is(value1)); 419b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel assertThat(cookieManager.getCookie(url2), is(value2)); 429b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel } 439b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 4463dda805c3f505f03263a3d4830747e53b421795Greg Choi & Mike Grafton @Test 4563dda805c3f505f03263a3d4830747e53b421795Greg Choi & Mike Grafton public void shouldRecordAcceptCookie() { 4663dda805c3f505f03263a3d4830747e53b421795Greg Choi & Mike Grafton CookieManager cookieManager = CookieManager.getInstance(); 47405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuw cookieManager.setCookie("foo", "bar"); 48405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuw cookieManager.setCookie("baz", "qux"); 49405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuw assertNotNull(cookieManager.getCookie("foo")); 50405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuw cookieManager.removeAllCookie(); 51405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuw assertNull(cookieManager.getCookie("foo")); 52405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuw assertNull(cookieManager.getCookie("baz")); 53405d563a3da601cc85cae96d3ec9f4deeeb99f9aMike Grafton & Tim Labeeuw } 549b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel} 559b9523e33344ef3d90aaf5ae54d358c6b2806567Stephen Wolter & James Brechtel 56