Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3211)

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/cookies/CanonicalCookieTest.java

Issue 1894213003: android: Fix CanonicalCookie same_site field (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java_sources.gni ('k') | chrome/browser/android/cookies/cookies_fetcher.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/junit/src/org/chromium/chrome/browser/cookies/CanonicalCookieTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/cookies/CanonicalCookieTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/cookies/CanonicalCookieTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c1c31432c6a7fb07d992467d05dbeb5e6395649
--- /dev/null
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/cookies/CanonicalCookieTest.java
@@ -0,0 +1,99 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.cookies;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.BlockJUnit4ClassRunner;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Unit test serialization code.
+ */
+@RunWith(BlockJUnit4ClassRunner.class)
+public class CanonicalCookieTest {
+ // Name meant to match CanonicalCookie method.
+ private static byte[] saveListToStream(final List<CanonicalCookie> cookies)
+ throws Exception {
+ ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
+ DataOutputStream out = new DataOutputStream(outByteStream);
+ try {
+ CanonicalCookie cookiesArray[] = new CanonicalCookie[cookies.size()];
+ cookies.toArray(cookiesArray);
+ CanonicalCookie.saveListToStream(out, cookiesArray);
+ } finally {
+ out.close();
+ outByteStream.close();
+ }
+ return outByteStream.toByteArray();
+ }
+
+ // Name meant to match CanonicalCookie method.
+ private static List<CanonicalCookie> readListFromStream(final byte[] byteArray)
+ throws Exception {
+ ByteArrayInputStream inByteStream = new ByteArrayInputStream(byteArray);
+ DataInputStream in = new DataInputStream(inByteStream);
+ try {
+ return CanonicalCookie.readListFromStream(in);
+ } finally {
+ in.close();
+ inByteStream.close();
+ }
+ }
+
+ private static void assertCookiesEqual(CanonicalCookie lhs, CanonicalCookie rhs) {
+ Assert.assertEquals(lhs.getUrl(), rhs.getUrl());
+ Assert.assertEquals(lhs.getName(), rhs.getName());
+ Assert.assertEquals(lhs.getValue(), rhs.getValue());
+ Assert.assertEquals(lhs.getDomain(), rhs.getDomain());
+ Assert.assertEquals(lhs.getPath(), rhs.getPath());
+ Assert.assertEquals(lhs.getCreationDate(), rhs.getCreationDate());
+ Assert.assertEquals(lhs.getExpirationDate(), rhs.getExpirationDate());
+ Assert.assertEquals(lhs.getLastAccessDate(), rhs.getLastAccessDate());
+ Assert.assertEquals(lhs.isSecure(), rhs.isSecure());
+ Assert.assertEquals(lhs.isHttpOnly(), rhs.isHttpOnly());
+ Assert.assertEquals(lhs.getSameSite(), rhs.getSameSite());
+ Assert.assertEquals(lhs.getPriority(), rhs.getPriority());
+ }
+
+ private static void doSaveRestoreCookiesListTest(final List<CanonicalCookie> cookies)
+ throws Exception {
+ byte[] byteArray = saveListToStream(cookies);
+ List<CanonicalCookie> readCookies = readListFromStream(byteArray);
+
+ Assert.assertEquals(cookies.size(), readCookies.size());
+ for (int i = 0; i < cookies.size(); ++i) {
+ assertCookiesEqual(cookies.get(i), readCookies.get(i));
+ }
+ }
+
+ @Test
+ public void testSaveRestoreEmptyList() throws Exception {
+ doSaveRestoreCookiesListTest(new ArrayList<CanonicalCookie>());
+ }
+
+ @Test
+ public void testSaveRestore() throws Exception {
+ ArrayList<CanonicalCookie> cookies = new ArrayList<>();
+ cookies.add(new CanonicalCookie("http://url", "name", "value", "domain", "path",
+ 0 /* creation */, 1 /* expiration */, 0 /* lastAccess */, false /* secure */,
+ true /* httpOnly */, 0 /* sameSite */, 0 /* priority */));
+ cookies.add(new CanonicalCookie("http://url2", "name2", "value2", "domain2", "path2",
+ 10 /* creation */, 20 /* expiration */, 15 /* lastAccess */, true /* secure */,
+ false /* httpOnly */, 1 /* sameSite */, 1 /* priority */));
+ cookies.add(new CanonicalCookie("http://url3", "name3", "value3", "domain3", "path3",
+ 10 /* creation */, 20 /* expiration */, 15 /* lastAccess */, true /* secure */,
+ false /* httpOnly */, 2 /* sameSite */, 2 /* priority */));
+
+ doSaveRestoreCookiesListTest(cookies);
+ }
+}
« no previous file with comments | « chrome/android/java_sources.gni ('k') | chrome/browser/android/cookies/cookies_fetcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698