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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModelTest.java

Issue 1285313003: [Offline pages] Wiring saving and opening offline page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address more feeback for Filip Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.enhancedbookmarks; 5 package org.chromium.chrome.browser.enhancedbookmarks;
6 6
7 import android.test.UiThreadTest; 7 import android.test.UiThreadTest;
8 import android.test.suitebuilder.annotation.SmallTest; 8 import android.test.suitebuilder.annotation.SmallTest;
9 9
10 import org.chromium.base.ThreadUtils; 10 import org.chromium.base.ThreadUtils;
11 import org.chromium.base.annotations.SuppressFBWarnings; 11 import org.chromium.base.annotations.SuppressFBWarnings;
12 import org.chromium.base.test.util.CommandLineFlags;
12 import org.chromium.base.test.util.Feature; 13 import org.chromium.base.test.util.Feature;
13 import org.chromium.chrome.browser.BookmarksBridge.BookmarkItem; 14 import org.chromium.chrome.browser.BookmarksBridge.BookmarkItem;
15 import org.chromium.chrome.browser.ChromeSwitches;
16 import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarksModel.AddB ookmarkCallback;
14 import org.chromium.chrome.browser.profiles.Profile; 17 import org.chromium.chrome.browser.profiles.Profile;
15 import org.chromium.components.bookmarks.BookmarkId; 18 import org.chromium.components.bookmarks.BookmarkId;
16 import org.chromium.content.browser.test.NativeLibraryTestBase; 19 import org.chromium.content.browser.test.NativeLibraryTestBase;
17 import org.chromium.content.browser.test.util.Criteria; 20 import org.chromium.content.browser.test.util.Criteria;
18 import org.chromium.content.browser.test.util.CriteriaHelper; 21 import org.chromium.content.browser.test.util.CriteriaHelper;
19 22
20 import java.util.ArrayList; 23 import java.util.ArrayList;
21 import java.util.Arrays; 24 import java.util.Arrays;
22 import java.util.HashSet; 25 import java.util.HashSet;
23 import java.util.List; 26 import java.util.List;
24 import java.util.Stack; 27 import java.util.Stack;
28 import java.util.concurrent.Semaphore;
29 import java.util.concurrent.TimeUnit;
30 import java.util.concurrent.atomic.AtomicReference;
25 31
26 /** 32 /**
27 * Tests for {@link EnhancedBookmarksModel}, the data layer of Enhanced Bookmark s. 33 * Tests for {@link EnhancedBookmarksModel}, the data layer of Enhanced Bookmark s.
28 */ 34 */
29 public class EnhancedBookmarksModelTest extends NativeLibraryTestBase { 35 public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
30 36 private static final int TIMEOUT_MS = 5000;
31 private EnhancedBookmarksModel mBookmarksModel; 37 private EnhancedBookmarksModel mBookmarksModel;
32 private BookmarkId mMobileNode; 38 private BookmarkId mMobileNode;
33 private BookmarkId mOtherNode; 39 private BookmarkId mOtherNode;
34 private BookmarkId mDesktopNode; 40 private BookmarkId mDesktopNode;
35 41
36 @Override 42 @Override
37 protected void setUp() throws Exception { 43 protected void setUp() throws Exception {
38 super.setUp(); 44 super.setUp();
39 loadNativeLibraryAndInitBrowserProcess(); 45 loadNativeLibraryAndInitBrowserProcess();
40 46
(...skipping 24 matching lines...) Expand all
65 } 71 }
66 72
67 @UiThreadTest 73 @UiThreadTest
68 @SmallTest 74 @SmallTest
69 @Feature({"Bookmark"}) 75 @Feature({"Bookmark"})
70 public void testGetAllBookmarkIDsOrderedByCreationDate() throws InterruptedE xception { 76 public void testGetAllBookmarkIDsOrderedByCreationDate() throws InterruptedE xception {
71 BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "a"); 77 BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "a");
72 BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "b"); 78 BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "b");
73 79
74 Stack<BookmarkId> stack = new Stack<BookmarkId>(); 80 Stack<BookmarkId> stack = new Stack<BookmarkId>();
75 stack.push(mBookmarksModel.addBookmark(folderA, 0, "a", "http://www.medi um.com")); 81 stack.push(addBookmark(folderA, 0, "a", "http://www.medium.com"));
76 // If add bookmarks too fast, eventually some bookmarks will have the sa me timestamp, which 82 // If add bookmarks too fast, eventually some bookmarks will have the sa me timestamp, which
77 // confuses the bookmark model. 83 // confuses the bookmark model.
78 Thread.sleep(20); 84 Thread.sleep(20);
79 stack.push(mBookmarksModel.addBookmark(folderB, 0, "b", "http://aurimas. com")); 85 stack.push(addBookmark(folderB, 0, "b", "http://aurimas.com"));
80 Thread.sleep(20); 86 Thread.sleep(20);
81 stack.push(mBookmarksModel.addBookmark(mMobileNode, 0, "c", "http://www. aurimas.com")); 87 stack.push(addBookmark(mMobileNode, 0, "c", "http://www.aurimas.com"));
82 Thread.sleep(20); 88 Thread.sleep(20);
83 stack.push(mBookmarksModel.addBookmark(mDesktopNode, 0, "d", "http://www .aurimas.org")); 89 stack.push(addBookmark(mDesktopNode, 0, "d", "http://www.aurimas.org"));
84 Thread.sleep(20); 90 Thread.sleep(20);
85 stack.push(mBookmarksModel.addBookmark(mOtherNode, 0, "e", "http://www.g oogle.com")); 91 stack.push(addBookmark(mOtherNode, 0, "e", "http://www.google.com"));
86 Thread.sleep(20); 92 Thread.sleep(20);
87 stack.push(mBookmarksModel.addBookmark(folderA, 0, "f", "http://www.newt .com")); 93 stack.push(addBookmark(folderA, 0, "f", "http://www.newt.com"));
88 Thread.sleep(20); 94 Thread.sleep(20);
89 stack.push(mBookmarksModel.addBookmark(folderB, 0, "g", "http://kkimlabs .com")); 95 stack.push(addBookmark(folderB, 0, "g", "http://kkimlabs.com"));
90 96
91 List<BookmarkId> bookmarks = mBookmarksModel.getAllBookmarkIDsOrderedByC reationDate(); 97 List<BookmarkId> bookmarks = mBookmarksModel.getAllBookmarkIDsOrderedByC reationDate();
92 assertEquals(stack.size(), bookmarks.size()); 98 assertEquals(stack.size(), bookmarks.size());
93 for (BookmarkId returnedBookmark : bookmarks) { 99 for (BookmarkId returnedBookmark : bookmarks) {
94 assertEquals(stack.pop(), returnedBookmark); 100 assertEquals(stack.pop(), returnedBookmark);
95 } 101 }
96 } 102 }
97 103
98 @UiThreadTest 104 @UiThreadTest
99 @SmallTest 105 @SmallTest
100 @Feature({"Bookmark"}) 106 @Feature({"Bookmark"})
101 public void testBookmarkPropertySetters() { 107 public void testBookmarkPropertySetters() {
102 BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "a"); 108 BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "a");
103 109
104 BookmarkId bookmarkA = mBookmarksModel.addBookmark(mDesktopNode, 0, "a", "http://a.com"); 110 BookmarkId bookmarkA = addBookmark(mDesktopNode, 0, "a", "http://a.com") ;
105 BookmarkId bookmarkB = mBookmarksModel.addBookmark(mMobileNode, 0, "a", "http://a.com"); 111 BookmarkId bookmarkB = addBookmark(mMobileNode, 0, "a", "http://a.com");
106 BookmarkId bookmarkC = mBookmarksModel.addBookmark(mOtherNode, 0, "a", " http://a.com"); 112 BookmarkId bookmarkC = addBookmark(mOtherNode, 0, "a", "http://a.com");
107 BookmarkId bookmarkD = mBookmarksModel.addBookmark(folderA, 0, "a", "htt p://a.com"); 113 BookmarkId bookmarkD = addBookmark(folderA, 0, "a", "http://a.com");
108 114
109 mBookmarksModel.setBookmarkTitle(folderA, "hauri"); 115 mBookmarksModel.setBookmarkTitle(folderA, "hauri");
110 assertEquals("hauri", mBookmarksModel.getBookmarkTitle(folderA)); 116 assertEquals("hauri", mBookmarksModel.getBookmarkTitle(folderA));
111 117
112 mBookmarksModel.setBookmarkTitle(bookmarkA, "auri"); 118 mBookmarksModel.setBookmarkTitle(bookmarkA, "auri");
113 mBookmarksModel.setBookmarkUrl(bookmarkA, "http://auri.org/"); 119 mBookmarksModel.setBookmarkUrl(bookmarkA, "http://auri.org/");
114 verifyBookmark(bookmarkA, "auri", "http://auri.org/", false, mDesktopNod e); 120 verifyBookmark(bookmarkA, "auri", "http://auri.org/", false, mDesktopNod e);
115 121
116 mBookmarksModel.setBookmarkTitle(bookmarkB, "lauri"); 122 mBookmarksModel.setBookmarkTitle(bookmarkB, "lauri");
117 mBookmarksModel.setBookmarkUrl(bookmarkB, "http://lauri.org/"); 123 mBookmarksModel.setBookmarkUrl(bookmarkB, "http://lauri.org/");
118 verifyBookmark(bookmarkB, "lauri", "http://lauri.org/", false, mMobileNo de); 124 verifyBookmark(bookmarkB, "lauri", "http://lauri.org/", false, mMobileNo de);
119 125
120 mBookmarksModel.setBookmarkTitle(bookmarkC, "mauri"); 126 mBookmarksModel.setBookmarkTitle(bookmarkC, "mauri");
121 mBookmarksModel.setBookmarkUrl(bookmarkC, "http://mauri.org/"); 127 mBookmarksModel.setBookmarkUrl(bookmarkC, "http://mauri.org/");
122 verifyBookmark(bookmarkC, "mauri", "http://mauri.org/", false, mOtherNod e); 128 verifyBookmark(bookmarkC, "mauri", "http://mauri.org/", false, mOtherNod e);
123 129
124 mBookmarksModel.setBookmarkTitle(bookmarkD, "kauri"); 130 mBookmarksModel.setBookmarkTitle(bookmarkD, "kauri");
125 mBookmarksModel.setBookmarkUrl(bookmarkD, "http://kauri.org/"); 131 mBookmarksModel.setBookmarkUrl(bookmarkD, "http://kauri.org/");
126 verifyBookmark(bookmarkD, "kauri", "http://kauri.org/", false, folderA); 132 verifyBookmark(bookmarkD, "kauri", "http://kauri.org/", false, folderA);
127 } 133 }
128 134
129 135
130 @UiThreadTest 136 @UiThreadTest
131 @SmallTest 137 @SmallTest
132 @Feature({"Bookmark" }) 138 @Feature({"Bookmark" })
133 @SuppressFBWarnings("DLS_DEAD_LOCAL_STORE") 139 @SuppressFBWarnings("DLS_DEAD_LOCAL_STORE")
134 public void testMoveBookmarks() { 140 public void testMoveBookmarks() {
135 BookmarkId bookmarkA = mBookmarksModel.addBookmark(mDesktopNode, 0, "a", "http://a.com"); 141 BookmarkId bookmarkA = addBookmark(mDesktopNode, 0, "a", "http://a.com") ;
136 BookmarkId bookmarkB = mBookmarksModel.addBookmark(mOtherNode, 0, "b", " http://b.com"); 142 BookmarkId bookmarkB = addBookmark(mOtherNode, 0, "b", "http://b.com");
137 BookmarkId bookmarkC = mBookmarksModel.addBookmark(mMobileNode, 0, "c", "http://c.com"); 143 BookmarkId bookmarkC = addBookmark(mMobileNode, 0, "c", "http://c.com");
138 BookmarkId folderA = mBookmarksModel.addFolder(mOtherNode, 0, "fa"); 144 BookmarkId folderA = mBookmarksModel.addFolder(mOtherNode, 0, "fa");
139 BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "fb"); 145 BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "fb");
140 BookmarkId folderC = mBookmarksModel.addFolder(mMobileNode, 0, "fc"); 146 BookmarkId folderC = mBookmarksModel.addFolder(mMobileNode, 0, "fc");
141 BookmarkId bookmarkAA = mBookmarksModel.addBookmark(folderA, 0, "aa", "h ttp://aa.com"); 147 BookmarkId bookmarkAA = addBookmark(folderA, 0, "aa", "http://aa.com");
142 BookmarkId bookmarkCA = mBookmarksModel.addBookmark(folderC, 0, "ca", "h ttp://ca.com"); 148 BookmarkId bookmarkCA = addBookmark(folderC, 0, "ca", "http://ca.com");
143 BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa"); 149 BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa");
144 150
145 HashSet<BookmarkId> movedBookmarks = new HashSet<BookmarkId>(6); 151 HashSet<BookmarkId> movedBookmarks = new HashSet<BookmarkId>(6);
146 movedBookmarks.add(bookmarkA); 152 movedBookmarks.add(bookmarkA);
147 movedBookmarks.add(bookmarkB); 153 movedBookmarks.add(bookmarkB);
148 movedBookmarks.add(bookmarkC); 154 movedBookmarks.add(bookmarkC);
149 movedBookmarks.add(folderC); 155 movedBookmarks.add(folderC);
150 movedBookmarks.add(folderB); 156 movedBookmarks.add(folderB);
151 movedBookmarks.add(bookmarkAA); 157 movedBookmarks.add(bookmarkAA);
152 mBookmarksModel.moveBookmarks(new ArrayList<BookmarkId>(movedBookmarks), folderAA); 158 mBookmarksModel.moveBookmarks(new ArrayList<BookmarkId>(movedBookmarks), folderAA);
153 159
154 // Order of the moved bookmarks is not tested. 160 // Order of the moved bookmarks is not tested.
155 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderAA, true, tr ue), 161 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderAA, true, tr ue),
156 movedBookmarks); 162 movedBookmarks);
157 } 163 }
158 164
159 @UiThreadTest 165 @UiThreadTest
160 @SmallTest 166 @SmallTest
161 @Feature({"Bookmark"}) 167 @Feature({"Bookmark"})
162 public void testGetChildIDs() { 168 public void testGetChildIDs() {
163 BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "fa"); 169 BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "fa");
164 HashSet<BookmarkId> expectedChildren = new HashSet<>(); 170 HashSet<BookmarkId> expectedChildren = new HashSet<>();
165 expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http: //a.com")); 171 expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
166 expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http: //a.com")); 172 expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
167 expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http: //a.com")); 173 expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
168 expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http: //a.com")); 174 expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
169 BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa"); 175 BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa");
170 // urls only 176 // urls only
171 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderA, false, tr ue), 177 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderA, false, tr ue),
172 expectedChildren); 178 expectedChildren);
173 // folders only 179 // folders only
174 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderA, true, fal se), 180 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderA, true, fal se),
175 new HashSet<BookmarkId>(Arrays.asList(folderAA))); 181 new HashSet<BookmarkId>(Arrays.asList(folderAA)));
176 // folders and urls 182 // folders and urls
177 expectedChildren.add(folderAA); 183 expectedChildren.add(folderAA);
178 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderA, true, tru e), 184 verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderA, true, tru e),
179 expectedChildren); 185 expectedChildren);
180 } 186 }
181 187
182 // Moved from BookmarksBridgeTest 188 // Moved from BookmarksBridgeTest
183 @UiThreadTest 189 @UiThreadTest
184 @SmallTest 190 @SmallTest
185 @Feature({"Bookmark"}) 191 @Feature({"Bookmark"})
186 public void testAddBookmarksAndFolders() { 192 public void testAddBookmarksAndFolders() {
187 BookmarkId bookmarkA = mBookmarksModel.addBookmark(mDesktopNode, 0, "a", "http://a.com"); 193 BookmarkId bookmarkA = addBookmark(mDesktopNode, 0, "a", "http://a.com") ;
188 verifyBookmark(bookmarkA, "a", "http://a.com/", false, mDesktopNode); 194 verifyBookmark(bookmarkA, "a", "http://a.com/", false, mDesktopNode);
189 195
190 BookmarkId bookmarkB = mBookmarksModel.addBookmark(mOtherNode, 0, "b", " http://b.com"); 196 BookmarkId bookmarkB = addBookmark(mOtherNode, 0, "b", "http://b.com");
191 verifyBookmark(bookmarkB, "b", "http://b.com/", false, mOtherNode); 197 verifyBookmark(bookmarkB, "b", "http://b.com/", false, mOtherNode);
192 198
193 BookmarkId bookmarkC = mBookmarksModel.addBookmark(mMobileNode, 0, "c", "http://c.com"); 199 BookmarkId bookmarkC = addBookmark(mMobileNode, 0, "c", "http://c.com");
194 verifyBookmark(bookmarkC, "c", "http://c.com/", false, mMobileNode); 200 verifyBookmark(bookmarkC, "c", "http://c.com/", false, mMobileNode);
195 201
196 BookmarkId folderA = mBookmarksModel.addFolder(mOtherNode, 0, "fa"); 202 BookmarkId folderA = mBookmarksModel.addFolder(mOtherNode, 0, "fa");
197 verifyBookmark(folderA, "fa", null, true, mOtherNode); 203 verifyBookmark(folderA, "fa", null, true, mOtherNode);
198 204
199 BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "fb"); 205 BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "fb");
200 verifyBookmark(folderB, "fb", null, true, mDesktopNode); 206 verifyBookmark(folderB, "fb", null, true, mDesktopNode);
201 207
202 BookmarkId folderC = mBookmarksModel.addFolder(mMobileNode, 0, "fc"); 208 BookmarkId folderC = mBookmarksModel.addFolder(mMobileNode, 0, "fc");
203 verifyBookmark(folderC, "fc", null, true, mMobileNode); 209 verifyBookmark(folderC, "fc", null, true, mMobileNode);
204 210
205 BookmarkId bookmarkAA = mBookmarksModel.addBookmark(folderA, 0, "aa", "h ttp://aa.com"); 211 BookmarkId bookmarkAA = addBookmark(folderA, 0, "aa", "http://aa.com");
206 verifyBookmark(bookmarkAA, "aa", "http://aa.com/", false, folderA); 212 verifyBookmark(bookmarkAA, "aa", "http://aa.com/", false, folderA);
207 213
208 BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa"); 214 BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa");
209 verifyBookmark(folderAA, "faa", null, true, folderA); 215 verifyBookmark(folderAA, "faa", null, true, folderA);
210 } 216 }
211 217
218 @UiThreadTest
219 @SmallTest
220 @CommandLineFlags.Add(ChromeSwitches.ENABLE_OFFLINE_PAGES)
221 @Feature({"Bookmark"})
222 public void testOfflineBridgeLoaded() {
223 assertTrue(mBookmarksModel.getOfflinePageBridge() != null);
224 assertTrue(mBookmarksModel.getOfflinePageBridge().isOfflinePageModelLoad ed());
225 }
226
227 private BookmarkId addBookmark(final BookmarkId parent, final int index, fin al String title,
228 final String url) {
229 final AtomicReference<BookmarkId> result = new AtomicReference<BookmarkI d>();
230 final Semaphore semaphore = new Semaphore(0);
231 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
232 @Override
233 public void run() {
234 mBookmarksModel.addBookmarkAsync(parent, index, title, url, null ,
235 new AddBookmarkCallback() {
236 @Override
237 public void onBookmarkAdded(final BookmarkId bookmar kId) {
238 result.set(bookmarkId);
239 semaphore.release();
240 }
241 });
242 }
243 });
244 try {
245 if (semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
246 return result.get();
247 } else {
248 return null;
249 }
250 } catch (InterruptedException e) {
251 return null;
252 }
253 }
254
212 private void verifyBookmark(BookmarkId idToVerify, String expectedTitle, 255 private void verifyBookmark(BookmarkId idToVerify, String expectedTitle,
213 String expectedUrl, boolean isFolder, BookmarkId expectedParent) { 256 String expectedUrl, boolean isFolder, BookmarkId expectedParent) {
214 assertNotNull(idToVerify); 257 assertNotNull(idToVerify);
215 BookmarkItem item = mBookmarksModel.getBookmarkById(idToVerify); 258 BookmarkItem item = mBookmarksModel.getBookmarkById(idToVerify);
216 assertEquals(expectedTitle, item.getTitle()); 259 assertEquals(expectedTitle, item.getTitle());
217 assertEquals(isFolder, item.isFolder()); 260 assertEquals(isFolder, item.isFolder());
218 if (!isFolder) assertEquals(expectedUrl, item.getUrl()); 261 if (!isFolder) assertEquals(expectedUrl, item.getUrl());
219 assertEquals(expectedParent, item.getParentId()); 262 assertEquals(expectedParent, item.getParentId());
220 } 263 }
221 264
222 /** 265 /**
223 * Before using this helper method, always make sure @param listToVerify doe s not contain 266 * Before using this helper method, always make sure @param listToVerify doe s not contain
224 * duplicates. 267 * duplicates.
225 */ 268 */
226 private void verifyBookmarkListNoOrder(List<BookmarkId> listToVerify, 269 private void verifyBookmarkListNoOrder(List<BookmarkId> listToVerify,
227 HashSet<BookmarkId> expectedIds) { 270 HashSet<BookmarkId> expectedIds) {
228 HashSet<BookmarkId> expectedIdsCopy = new HashSet<>(expectedIds); 271 HashSet<BookmarkId> expectedIdsCopy = new HashSet<>(expectedIds);
229 assertEquals(expectedIdsCopy.size(), listToVerify.size()); 272 assertEquals(expectedIdsCopy.size(), listToVerify.size());
230 for (BookmarkId id : listToVerify) { 273 for (BookmarkId id : listToVerify) {
231 assertNotNull(id); 274 assertNotNull(id);
232 assertTrue("List contains wrong element: ", expectedIdsCopy.contains (id)); 275 assertTrue("List contains wrong element: ", expectedIdsCopy.contains (id));
233 expectedIdsCopy.remove(id); 276 expectedIdsCopy.remove(id);
234 } 277 }
235 assertTrue("List does not contain some expected bookmarks: ", expectedId sCopy.isEmpty()); 278 assertTrue("List does not contain some expected bookmarks: ", expectedId sCopy.isEmpty());
236 } 279 }
237 } 280 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698