| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |