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

Side by Side Diff: chrome/browser/back_forward_menu_model_unittest.cc

Issue 501168: Make back forward menu model a MenuModel.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 12 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "chrome/browser/back_forward_menu_model.h" 5 #include "chrome/browser/back_forward_menu_model.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
11 #include "chrome/browser/profile_manager.h" 11 #include "chrome/browser/profile_manager.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 LoadURLAndUpdateState("http://www.a.com/3", "A3"); 83 LoadURLAndUpdateState("http://www.a.com/3", "A3");
84 LoadURLAndUpdateState("http://www.b.com/1", "B1"); 84 LoadURLAndUpdateState("http://www.b.com/1", "B1");
85 LoadURLAndUpdateState("http://www.b.com/2", "B2"); 85 LoadURLAndUpdateState("http://www.b.com/2", "B2");
86 LoadURLAndUpdateState("http://www.c.com/1", "C1"); 86 LoadURLAndUpdateState("http://www.c.com/1", "C1");
87 LoadURLAndUpdateState("http://www.c.com/2", "C2"); 87 LoadURLAndUpdateState("http://www.c.com/2", "C2");
88 LoadURLAndUpdateState("http://www.c.com/3", "C3"); 88 LoadURLAndUpdateState("http://www.c.com/3", "C3");
89 89
90 // There're two more items here: a separator and a "Show Full History". 90 // There're two more items here: a separator and a "Show Full History".
91 EXPECT_EQ(9, back_model->GetTotalItemCount()); 91 EXPECT_EQ(9, back_model->GetTotalItemCount());
92 EXPECT_EQ(0, forward_model->GetTotalItemCount()); 92 EXPECT_EQ(0, forward_model->GetTotalItemCount());
93 EXPECT_EQ(ASCIIToUTF16("C2"), back_model->GetItemLabel(1)); 93 EXPECT_EQ(ASCIIToUTF16("C2"), back_model->GetLabelAt(0));
94 EXPECT_EQ(ASCIIToUTF16("A1"), back_model->GetItemLabel(7)); 94 EXPECT_EQ(ASCIIToUTF16("A1"), back_model->GetLabelAt(6));
95 EXPECT_EQ(back_model->GetShowFullHistoryLabel(), 95 EXPECT_EQ(back_model->GetShowFullHistoryLabel(),
96 back_model->GetItemLabel(9)); 96 back_model->GetLabelAt(8));
97 97
98 EXPECT_TRUE(back_model->ItemHasCommand(1)); 98 EXPECT_TRUE(back_model->ItemHasCommand(0));
99 EXPECT_TRUE(back_model->ItemHasCommand(7)); 99 EXPECT_TRUE(back_model->ItemHasCommand(6));
100 EXPECT_TRUE(back_model->IsSeparator(8)); 100 EXPECT_TRUE(back_model->IsSeparator(7));
101 EXPECT_TRUE(back_model->ItemHasCommand(9)); 101 EXPECT_TRUE(back_model->ItemHasCommand(8));
102 EXPECT_FALSE(back_model->ItemHasCommand(8)); 102 EXPECT_FALSE(back_model->ItemHasCommand(9));
103 EXPECT_FALSE(back_model->ItemHasCommand(10)); 103 EXPECT_FALSE(back_model->ItemHasCommand(9));
104 104
105 NavigateToOffset(-7); 105 NavigateToOffset(-7);
106 106
107 EXPECT_EQ(0, back_model->GetTotalItemCount()); 107 EXPECT_EQ(0, back_model->GetTotalItemCount());
108 EXPECT_EQ(9, forward_model->GetTotalItemCount()); 108 EXPECT_EQ(9, forward_model->GetTotalItemCount());
109 EXPECT_EQ(ASCIIToUTF16("A2"), forward_model->GetItemLabel(1)); 109 EXPECT_EQ(ASCIIToUTF16("A2"), forward_model->GetLabelAt(0));
110 EXPECT_EQ(ASCIIToUTF16("C3"), forward_model->GetItemLabel(7)); 110 EXPECT_EQ(ASCIIToUTF16("C3"), forward_model->GetLabelAt(6));
111 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(), 111 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(),
112 forward_model->GetItemLabel(9)); 112 forward_model->GetLabelAt(8));
113 113
114 EXPECT_TRUE(forward_model->ItemHasCommand(1)); 114 EXPECT_TRUE(forward_model->ItemHasCommand(0));
115 EXPECT_TRUE(forward_model->ItemHasCommand(7)); 115 EXPECT_TRUE(forward_model->ItemHasCommand(6));
116 EXPECT_TRUE(forward_model->IsSeparator(8)); 116 EXPECT_TRUE(forward_model->IsSeparator(7));
117 EXPECT_TRUE(forward_model->ItemHasCommand(9)); 117 EXPECT_TRUE(forward_model->ItemHasCommand(8));
118 EXPECT_FALSE(forward_model->ItemHasCommand(8)); 118 EXPECT_FALSE(forward_model->ItemHasCommand(7));
119 EXPECT_FALSE(forward_model->ItemHasCommand(10)); 119 EXPECT_FALSE(forward_model->ItemHasCommand(9));
120
120 NavigateToOffset(4); 121 NavigateToOffset(4);
121 122
122 EXPECT_EQ(6, back_model->GetTotalItemCount()); 123 EXPECT_EQ(6, back_model->GetTotalItemCount());
123 EXPECT_EQ(5, forward_model->GetTotalItemCount()); 124 EXPECT_EQ(5, forward_model->GetTotalItemCount());
124 EXPECT_EQ(ASCIIToUTF16("B1"), back_model->GetItemLabel(1)); 125 EXPECT_EQ(ASCIIToUTF16("B1"), back_model->GetLabelAt(0));
125 EXPECT_EQ(ASCIIToUTF16("A1"), back_model->GetItemLabel(4)); 126 EXPECT_EQ(ASCIIToUTF16("A1"), back_model->GetLabelAt(3));
126 EXPECT_EQ(back_model->GetShowFullHistoryLabel(), 127 EXPECT_EQ(back_model->GetShowFullHistoryLabel(),
127 back_model->GetItemLabel(6)); 128 back_model->GetLabelAt(5));
128 EXPECT_EQ(ASCIIToUTF16("C1"), forward_model->GetItemLabel(1)); 129 EXPECT_EQ(ASCIIToUTF16("C1"), forward_model->GetLabelAt(0));
129 EXPECT_EQ(ASCIIToUTF16("C3"), forward_model->GetItemLabel(3)); 130 EXPECT_EQ(ASCIIToUTF16("C3"), forward_model->GetLabelAt(2));
130 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(), 131 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(),
131 forward_model->GetItemLabel(5)); 132 forward_model->GetLabelAt(4));
132 } 133 }
133 134
134 TEST_F(BackFwdMenuModelTest, MaxItemsTest) { 135 TEST_F(BackFwdMenuModelTest, MaxItemsTest) {
135 scoped_ptr<BackForwardMenuModel> back_model(new BackForwardMenuModel( 136 scoped_ptr<BackForwardMenuModel> back_model(new BackForwardMenuModel(
136 NULL, BackForwardMenuModel::BACKWARD_MENU)); 137 NULL, BackForwardMenuModel::BACKWARD_MENU));
137 back_model->set_test_tab_contents(contents()); 138 back_model->set_test_tab_contents(contents());
138 139
139 scoped_ptr<BackForwardMenuModel> forward_model(new BackForwardMenuModel( 140 scoped_ptr<BackForwardMenuModel> forward_model(new BackForwardMenuModel(
140 NULL, BackForwardMenuModel::FORWARD_MENU)); 141 NULL, BackForwardMenuModel::FORWARD_MENU));
141 forward_model->set_test_tab_contents(contents()); 142 forward_model->set_test_tab_contents(contents());
(...skipping 30 matching lines...) Expand all
172 LoadURLAndUpdateState("http://www.j.com/2", "J2"); 173 LoadURLAndUpdateState("http://www.j.com/2", "J2");
173 LoadURLAndUpdateState("http://www.j.com/3", "J3"); 174 LoadURLAndUpdateState("http://www.j.com/3", "J3");
174 LoadURLAndUpdateState("http://www.k.com/1", "K1"); 175 LoadURLAndUpdateState("http://www.k.com/1", "K1");
175 LoadURLAndUpdateState("http://www.k.com/2", "K2"); 176 LoadURLAndUpdateState("http://www.k.com/2", "K2");
176 177
177 // Also there're two more for a separator and a "Show Full History". 178 // Also there're two more for a separator and a "Show Full History".
178 int chapter_stop_offset = 6; 179 int chapter_stop_offset = 6;
179 EXPECT_EQ(BackForwardMenuModel::kMaxHistoryItems + 2 + chapter_stop_offset, 180 EXPECT_EQ(BackForwardMenuModel::kMaxHistoryItems + 2 + chapter_stop_offset,
180 back_model->GetTotalItemCount()); 181 back_model->GetTotalItemCount());
181 EXPECT_EQ(0, forward_model->GetTotalItemCount()); 182 EXPECT_EQ(0, forward_model->GetTotalItemCount());
182 EXPECT_EQ(ASCIIToUTF16("K1"), back_model->GetItemLabel(1)); 183 EXPECT_EQ(ASCIIToUTF16("K1"), back_model->GetLabelAt(0));
183 EXPECT_EQ(back_model->GetShowFullHistoryLabel(), 184 EXPECT_EQ(back_model->GetShowFullHistoryLabel(),
184 back_model->GetItemLabel(BackForwardMenuModel::kMaxHistoryItems + 2 + 185 back_model->GetLabelAt(BackForwardMenuModel::kMaxHistoryItems + 1 +
185 chapter_stop_offset)); 186 chapter_stop_offset));
186 187
187 // Test for out of bounds (beyond Show Full History). 188 // Test for out of bounds (beyond Show Full History).
188 EXPECT_FALSE(back_model->ItemHasCommand( 189 EXPECT_FALSE(back_model->ItemHasCommand(
189 BackForwardMenuModel::kMaxHistoryItems + chapter_stop_offset + 3)); 190 BackForwardMenuModel::kMaxHistoryItems + chapter_stop_offset + 2));
190 191
191 EXPECT_TRUE(back_model->ItemHasCommand( 192 EXPECT_TRUE(back_model->ItemHasCommand(
193 BackForwardMenuModel::kMaxHistoryItems - 1));
194 EXPECT_TRUE(back_model->IsSeparator(
192 BackForwardMenuModel::kMaxHistoryItems)); 195 BackForwardMenuModel::kMaxHistoryItems));
193 EXPECT_TRUE(back_model->IsSeparator(
194 BackForwardMenuModel::kMaxHistoryItems + 1));
195 196
196 NavigateToIndex(0); 197 NavigateToIndex(0);
197 198
198 EXPECT_EQ(BackForwardMenuModel::kMaxHistoryItems + 2 + chapter_stop_offset, 199 EXPECT_EQ(BackForwardMenuModel::kMaxHistoryItems + 2 + chapter_stop_offset,
199 forward_model->GetTotalItemCount()); 200 forward_model->GetTotalItemCount());
200 EXPECT_EQ(0, back_model->GetTotalItemCount()); 201 EXPECT_EQ(0, back_model->GetTotalItemCount());
201 EXPECT_EQ(ASCIIToUTF16("A2"), forward_model->GetItemLabel(1)); 202 EXPECT_EQ(ASCIIToUTF16("A2"), forward_model->GetLabelAt(0));
202 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(), 203 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(),
203 forward_model->GetItemLabel(BackForwardMenuModel::kMaxHistoryItems + 2 + 204 forward_model->GetLabelAt(BackForwardMenuModel::kMaxHistoryItems + 1 +
204 chapter_stop_offset)); 205 chapter_stop_offset));
205 206
206 // Out of bounds 207 // Out of bounds
207 EXPECT_FALSE(forward_model->ItemHasCommand( 208 EXPECT_FALSE(forward_model->ItemHasCommand(
208 BackForwardMenuModel::kMaxHistoryItems + 3 + chapter_stop_offset)); 209 BackForwardMenuModel::kMaxHistoryItems + 2 + chapter_stop_offset));
209 210
210 EXPECT_TRUE(forward_model->ItemHasCommand( 211 EXPECT_TRUE(forward_model->ItemHasCommand(
212 BackForwardMenuModel::kMaxHistoryItems - 1));
213 EXPECT_TRUE(forward_model->IsSeparator(
211 BackForwardMenuModel::kMaxHistoryItems)); 214 BackForwardMenuModel::kMaxHistoryItems));
212 EXPECT_TRUE(forward_model->IsSeparator(
213 BackForwardMenuModel::kMaxHistoryItems + 1));
214 } 215 }
215 216
216 TEST_F(BackFwdMenuModelTest, ChapterStops) { 217 TEST_F(BackFwdMenuModelTest, ChapterStops) {
217 scoped_ptr<BackForwardMenuModel> back_model(new BackForwardMenuModel( 218 scoped_ptr<BackForwardMenuModel> back_model(new BackForwardMenuModel(
218 NULL, BackForwardMenuModel::BACKWARD_MENU)); 219 NULL, BackForwardMenuModel::BACKWARD_MENU));
219 back_model->set_test_tab_contents(contents()); 220 back_model->set_test_tab_contents(contents());
220 221
221 scoped_ptr<BackForwardMenuModel> forward_model(new BackForwardMenuModel( 222 scoped_ptr<BackForwardMenuModel> forward_model(new BackForwardMenuModel(
222 NULL, BackForwardMenuModel::FORWARD_MENU)); 223 NULL, BackForwardMenuModel::FORWARD_MENU));
223 forward_model->set_test_tab_contents(contents()); 224 forward_model->set_test_tab_contents(contents());
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 LoadURLAndUpdateState("http://www.k.com/2", "K2"); 296 LoadURLAndUpdateState("http://www.k.com/2", "K2");
296 ValidateModel(back_model.get(), i++, 6); 297 ValidateModel(back_model.get(), i++, 6);
297 // i = 32 298 // i = 32
298 LoadURLAndUpdateState("http://www.k.com/3", "K3"); 299 LoadURLAndUpdateState("http://www.k.com/3", "K3");
299 ValidateModel(back_model.get(), i++, 6); 300 ValidateModel(back_model.get(), i++, 6);
300 301
301 // A chapter stop is defined as the last page the user 302 // A chapter stop is defined as the last page the user
302 // browsed to within the same domain. 303 // browsed to within the same domain.
303 304
304 // Check to see if the chapter stops have the right labels. 305 // Check to see if the chapter stops have the right labels.
305 int index = BackForwardMenuModel::kMaxHistoryItems + 1; 306 int index = BackForwardMenuModel::kMaxHistoryItems;
306 // Empty string indicates item is a separator. 307 // Empty string indicates item is a separator.
307 EXPECT_EQ(ASCIIToUTF16(""), back_model->GetItemLabel(index++)); 308 EXPECT_EQ(ASCIIToUTF16(""), back_model->GetLabelAt(index++));
308 EXPECT_EQ(ASCIIToUTF16("F3"), back_model->GetItemLabel(index++)); 309 EXPECT_EQ(ASCIIToUTF16("F3"), back_model->GetLabelAt(index++));
309 EXPECT_EQ(ASCIIToUTF16("E3"), back_model->GetItemLabel(index++)); 310 EXPECT_EQ(ASCIIToUTF16("E3"), back_model->GetLabelAt(index++));
310 EXPECT_EQ(ASCIIToUTF16("D3"), back_model->GetItemLabel(index++)); 311 EXPECT_EQ(ASCIIToUTF16("D3"), back_model->GetLabelAt(index++));
311 EXPECT_EQ(ASCIIToUTF16("C3"), back_model->GetItemLabel(index++)); 312 EXPECT_EQ(ASCIIToUTF16("C3"), back_model->GetLabelAt(index++));
312 // The menu should only show a maximum of 5 chapter stops. 313 // The menu should only show a maximum of 5 chapter stops.
313 EXPECT_EQ(ASCIIToUTF16("B3"), back_model->GetItemLabel(index)); 314 EXPECT_EQ(ASCIIToUTF16("B3"), back_model->GetLabelAt(index));
314 // Empty string indicates item is a separator. 315 // Empty string indicates item is a separator.
315 EXPECT_EQ(ASCIIToUTF16(""), back_model->GetItemLabel(index + 1)); 316 EXPECT_EQ(ASCIIToUTF16(""), back_model->GetLabelAt(index + 1));
316 EXPECT_EQ(back_model->GetShowFullHistoryLabel(), 317 EXPECT_EQ(back_model->GetShowFullHistoryLabel(),
317 back_model->GetItemLabel(index + 2)); 318 back_model->GetLabelAt(index + 2));
318 319
319 // If we go back two we should still see the same chapter stop at the end. 320 // If we go back two we should still see the same chapter stop at the end.
320 GoBack(); 321 GoBack();
321 EXPECT_EQ(ASCIIToUTF16("B3"), back_model->GetItemLabel(index)); 322 EXPECT_EQ(ASCIIToUTF16("B3"), back_model->GetLabelAt(index));
322 GoBack(); 323 GoBack();
323 EXPECT_EQ(ASCIIToUTF16("B3"), back_model->GetItemLabel(index)); 324 EXPECT_EQ(ASCIIToUTF16("B3"), back_model->GetLabelAt(index));
324 // But if we go back again, it should change. 325 // But if we go back again, it should change.
325 GoBack(); 326 GoBack();
326 EXPECT_EQ(ASCIIToUTF16("A3"), back_model->GetItemLabel(index)); 327 EXPECT_EQ(ASCIIToUTF16("A3"), back_model->GetLabelAt(index));
327 GoBack(); 328 GoBack();
328 EXPECT_EQ(ASCIIToUTF16("A3"), back_model->GetItemLabel(index)); 329 EXPECT_EQ(ASCIIToUTF16("A3"), back_model->GetLabelAt(index));
329 GoBack(); 330 GoBack();
330 EXPECT_EQ(ASCIIToUTF16("A3"), back_model->GetItemLabel(index)); 331 EXPECT_EQ(ASCIIToUTF16("A3"), back_model->GetLabelAt(index));
331 GoBack(); 332 GoBack();
332 // It is now a separator. 333 // It is now a separator.
333 EXPECT_EQ(ASCIIToUTF16(""), back_model->GetItemLabel(index)); 334 EXPECT_EQ(ASCIIToUTF16(""), back_model->GetLabelAt(index));
334 // Undo our position change. 335 // Undo our position change.
335 NavigateToOffset(6); 336 NavigateToOffset(6);
336 337
337 // Go back enough to make sure no chapter stops should appear. 338 // Go back enough to make sure no chapter stops should appear.
338 NavigateToOffset(-BackForwardMenuModel::kMaxHistoryItems); 339 NavigateToOffset(-BackForwardMenuModel::kMaxHistoryItems);
339 ValidateModel(forward_model.get(), BackForwardMenuModel::kMaxHistoryItems, 0); 340 ValidateModel(forward_model.get(), BackForwardMenuModel::kMaxHistoryItems, 0);
340 // Go forward (still no chapter stop) 341 // Go forward (still no chapter stop)
341 GoForward(); 342 GoForward();
342 ValidateModel(forward_model.get(), 343 ValidateModel(forward_model.get(),
343 BackForwardMenuModel::kMaxHistoryItems - 1, 0); 344 BackForwardMenuModel::kMaxHistoryItems - 1, 0);
344 // Go back two (one chapter stop should show up) 345 // Go back two (one chapter stop should show up)
345 GoBack(); 346 GoBack();
346 GoBack(); 347 GoBack();
347 ValidateModel(forward_model.get(), 348 ValidateModel(forward_model.get(),
348 BackForwardMenuModel::kMaxHistoryItems, 1); 349 BackForwardMenuModel::kMaxHistoryItems, 1);
349 350
350 // Go to beginning. 351 // Go to beginning.
351 NavigateToIndex(0); 352 NavigateToIndex(0);
352 353
353 // Check to see if the chapter stops have the right labels. 354 // Check to see if the chapter stops have the right labels.
354 index = BackForwardMenuModel::kMaxHistoryItems + 1; 355 index = BackForwardMenuModel::kMaxHistoryItems;
355 // Empty string indicates item is a separator. 356 // Empty string indicates item is a separator.
356 EXPECT_EQ(ASCIIToUTF16(""), forward_model->GetItemLabel(index++)); 357 EXPECT_EQ(ASCIIToUTF16(""), forward_model->GetLabelAt(index++));
357 EXPECT_EQ(ASCIIToUTF16("E3"), forward_model->GetItemLabel(index++)); 358 EXPECT_EQ(ASCIIToUTF16("E3"), forward_model->GetLabelAt(index++));
358 EXPECT_EQ(ASCIIToUTF16("F3"), forward_model->GetItemLabel(index++)); 359 EXPECT_EQ(ASCIIToUTF16("F3"), forward_model->GetLabelAt(index++));
359 EXPECT_EQ(ASCIIToUTF16("G3"), forward_model->GetItemLabel(index++)); 360 EXPECT_EQ(ASCIIToUTF16("G3"), forward_model->GetLabelAt(index++));
360 EXPECT_EQ(ASCIIToUTF16("H3"), forward_model->GetItemLabel(index++)); 361 EXPECT_EQ(ASCIIToUTF16("H3"), forward_model->GetLabelAt(index++));
361 // The menu should only show a maximum of 5 chapter stops. 362 // The menu should only show a maximum of 5 chapter stops.
362 EXPECT_EQ(ASCIIToUTF16("I3"), forward_model->GetItemLabel(index)); 363 EXPECT_EQ(ASCIIToUTF16("I3"), forward_model->GetLabelAt(index));
363 // Empty string indicates item is a separator. 364 // Empty string indicates item is a separator.
364 EXPECT_EQ(ASCIIToUTF16(""), forward_model->GetItemLabel(index + 1)); 365 EXPECT_EQ(ASCIIToUTF16(""), forward_model->GetLabelAt(index + 1));
365 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(), 366 EXPECT_EQ(forward_model->GetShowFullHistoryLabel(),
366 forward_model->GetItemLabel(index + 2)); 367 forward_model->GetLabelAt(index + 2));
367 368
368 // If we advance one we should still see the same chapter stop at the end. 369 // If we advance one we should still see the same chapter stop at the end.
369 GoForward(); 370 GoForward();
370 EXPECT_EQ(ASCIIToUTF16("I3"), forward_model->GetItemLabel(index)); 371 EXPECT_EQ(ASCIIToUTF16("I3"), forward_model->GetLabelAt(index));
371 // But if we advance one again, it should change. 372 // But if we advance one again, it should change.
372 GoForward(); 373 GoForward();
373 EXPECT_EQ(ASCIIToUTF16("J3"), forward_model->GetItemLabel(index)); 374 EXPECT_EQ(ASCIIToUTF16("J3"), forward_model->GetLabelAt(index));
374 GoForward(); 375 GoForward();
375 EXPECT_EQ(ASCIIToUTF16("J3"), forward_model->GetItemLabel(index)); 376 EXPECT_EQ(ASCIIToUTF16("J3"), forward_model->GetLabelAt(index));
376 GoForward(); 377 GoForward();
377 EXPECT_EQ(ASCIIToUTF16("J3"), forward_model->GetItemLabel(index)); 378 EXPECT_EQ(ASCIIToUTF16("J3"), forward_model->GetLabelAt(index));
378 GoForward(); 379 GoForward();
379 EXPECT_EQ(ASCIIToUTF16("K3"), forward_model->GetItemLabel(index)); 380 EXPECT_EQ(ASCIIToUTF16("K3"), forward_model->GetLabelAt(index));
380 381
381 // Now test the boundary cases by using the chapter stop function directly. 382 // Now test the boundary cases by using the chapter stop function directly.
382 // Out of bounds, first too far right (incrementing), then too far left. 383 // Out of bounds, first too far right (incrementing), then too far left.
383 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(33, false)); 384 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(33, false));
384 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(-1, true)); 385 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(-1, true));
385 // Test being at end and going right, then at beginning going left. 386 // Test being at end and going right, then at beginning going left.
386 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(32, true)); 387 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(32, true));
387 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(0, false)); 388 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(0, false));
388 // Test success: beginning going right and end going left. 389 // Test success: beginning going right and end going left.
389 EXPECT_EQ(2, back_model->GetIndexOfNextChapterStop(0, true)); 390 EXPECT_EQ(2, back_model->GetIndexOfNextChapterStop(0, true));
(...skipping 26 matching lines...) Expand all
416 EXPECT_EQ(1, back_model->GetIndexOfNextChapterStop(0, true)); 417 EXPECT_EQ(1, back_model->GetIndexOfNextChapterStop(0, true));
417 EXPECT_EQ(3, back_model->GetIndexOfNextChapterStop(1, true)); 418 EXPECT_EQ(3, back_model->GetIndexOfNextChapterStop(1, true));
418 EXPECT_EQ(3, back_model->GetIndexOfNextChapterStop(2, true)); 419 EXPECT_EQ(3, back_model->GetIndexOfNextChapterStop(2, true));
419 EXPECT_EQ(4, back_model->GetIndexOfNextChapterStop(3, true)); 420 EXPECT_EQ(4, back_model->GetIndexOfNextChapterStop(3, true));
420 // And try backwards as well. 421 // And try backwards as well.
421 EXPECT_EQ(3, back_model->GetIndexOfNextChapterStop(4, false)); 422 EXPECT_EQ(3, back_model->GetIndexOfNextChapterStop(4, false));
422 EXPECT_EQ(1, back_model->GetIndexOfNextChapterStop(3, false)); 423 EXPECT_EQ(1, back_model->GetIndexOfNextChapterStop(3, false));
423 EXPECT_EQ(1, back_model->GetIndexOfNextChapterStop(2, false)); 424 EXPECT_EQ(1, back_model->GetIndexOfNextChapterStop(2, false));
424 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(1, false)); 425 EXPECT_EQ(-1, back_model->GetIndexOfNextChapterStop(1, false));
425 } 426 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698