| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #import "ios/web/navigation/navigation_manager_impl.h" | 5 #import "ios/web/navigation/navigation_manager_impl.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #import "base/mac/scoped_nsobject.h" | 8 #import "base/mac/scoped_nsobject.h" |
| 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" | 9 #import "ios/web/navigation/crw_session_controller+private_constructors.h" |
| 10 #import "ios/web/navigation/navigation_manager_delegate.h" | 10 #import "ios/web/navigation/navigation_manager_delegate.h" |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 301 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 302 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); | 302 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); |
| 303 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 303 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 304 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); | 304 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); |
| 305 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 305 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 306 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 306 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 307 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); | 307 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); |
| 308 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); | 308 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); |
| 309 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); | 309 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); |
| 310 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); | 310 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); |
| 311 // Test with large values. |
| 312 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 313 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 314 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 315 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 316 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 317 EXPECT_EQ(INT_MIN, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 318 EXPECT_EQ(-1000000000, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 319 EXPECT_EQ(1000000002, navigation_manager()->GetIndexForOffset(1000000000)); |
| 311 | 320 |
| 312 // Go to entry at index 2 and test API from that state. | 321 // Go to entry at index 2 and test API from that state. |
| 313 [session_controller() goToEntryAtIndex:2]; | 322 [session_controller() goToEntryAtIndex:2]; |
| 314 ASSERT_EQ(2, navigation_manager()->GetCurrentItemIndex()); | 323 ASSERT_EQ(2, navigation_manager()->GetCurrentItemIndex()); |
| 315 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 324 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 316 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 325 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 317 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); | 326 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); |
| 318 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 327 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 319 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); | 328 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); |
| 320 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 329 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 321 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); | 330 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); |
| 322 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 331 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 323 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); | 332 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); |
| 333 // Test with large values. |
| 334 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 335 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 336 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 337 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 338 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 339 EXPECT_EQ(-2147483647, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 340 EXPECT_EQ(-999999999, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 341 EXPECT_EQ(1000000003, navigation_manager()->GetIndexForOffset(1000000000)); |
| 324 | 342 |
| 325 // Go to entry at index 4 and test API from that state. | 343 // Go to entry at index 4 and test API from that state. |
| 326 [session_controller() goToEntryAtIndex:4]; | 344 [session_controller() goToEntryAtIndex:4]; |
| 327 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 345 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 328 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 346 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 329 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 347 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 330 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); | 348 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); |
| 331 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 349 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 332 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); | 350 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); |
| 333 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 351 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 334 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); | 352 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); |
| 335 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 353 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 336 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); | 354 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); |
| 355 // Test with large values. |
| 356 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 357 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 358 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 359 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 360 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 361 EXPECT_EQ(-2147483646, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 362 EXPECT_EQ(-999999998, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 363 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 337 | 364 |
| 338 // Test with existing transient entry. | 365 // Test with existing transient entry. |
| 339 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com")]; | 366 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com")]; |
| 340 ASSERT_EQ(5, navigation_manager()->GetItemCount()); | 367 ASSERT_EQ(5, navigation_manager()->GetItemCount()); |
| 341 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 368 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 342 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); | 369 ASSERT_EQ(-1, navigation_manager()->GetPendingItemIndex()); |
| 343 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 370 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 344 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); | 371 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); |
| 345 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 372 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 346 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); | 373 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); |
| 347 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); | 374 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); |
| 348 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); | 375 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); |
| 349 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 376 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 350 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); | 377 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); |
| 351 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 378 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 352 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); | 379 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); |
| 380 // Test with large values. |
| 381 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 382 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 383 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 384 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 385 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 386 EXPECT_EQ(-2147483645, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 387 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 388 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 353 | 389 |
| 354 // Now test with pending item index. | 390 // Now test with pending item index. |
| 355 [session_controller() discardNonCommittedEntries]; | 391 [session_controller() discardNonCommittedEntries]; |
| 356 | 392 |
| 357 // Set pending index to 1 and test API from that state. | 393 // Set pending index to 1 and test API from that state. |
| 358 [session_controller() setPendingEntryIndex:1]; | 394 [session_controller() setPendingEntryIndex:1]; |
| 359 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 395 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 360 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); | 396 ASSERT_EQ(1, navigation_manager()->GetPendingItemIndex()); |
| 361 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); | 397 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1)); |
| 362 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); | 398 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-1)); |
| 363 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 399 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 364 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); | 400 EXPECT_EQ(-2, navigation_manager()->GetIndexForOffset(-2)); |
| 365 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 401 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 366 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); | 402 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(1)); |
| 367 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); | 403 EXPECT_TRUE(navigation_manager()->CanGoToOffset(2)); |
| 368 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); | 404 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(2)); |
| 369 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); | 405 EXPECT_FALSE(navigation_manager()->CanGoToOffset(3)); |
| 370 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); | 406 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(3)); |
| 407 // Test with large values. |
| 408 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 409 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 410 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 411 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 412 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 413 EXPECT_EQ(INT_MIN, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 414 EXPECT_EQ(-1000000000, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 415 EXPECT_EQ(1000000002, navigation_manager()->GetIndexForOffset(1000000000)); |
| 371 | 416 |
| 372 // Set pending index to 2 and test API from that state. | 417 // Set pending index to 2 and test API from that state. |
| 373 [session_controller() setPendingEntryIndex:2]; | 418 [session_controller() setPendingEntryIndex:2]; |
| 374 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); | 419 ASSERT_EQ(4, navigation_manager()->GetCurrentItemIndex()); |
| 375 ASSERT_EQ(2, navigation_manager()->GetPendingItemIndex()); | 420 ASSERT_EQ(2, navigation_manager()->GetPendingItemIndex()); |
| 376 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 421 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 377 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); | 422 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-1)); |
| 378 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); | 423 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-2)); |
| 379 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); | 424 EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(-2)); |
| 380 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); | 425 EXPECT_TRUE(navigation_manager()->CanGoToOffset(1)); |
| 381 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); | 426 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(1)); |
| 382 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 427 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 383 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); | 428 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(2)); |
| 429 // Test with large values. |
| 430 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 431 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 432 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 433 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 434 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 435 EXPECT_EQ(-2147483647, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 436 EXPECT_EQ(-999999999, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 437 EXPECT_EQ(1000000003, navigation_manager()->GetIndexForOffset(1000000000)); |
| 384 | 438 |
| 385 // Set pending index to 4 and committed entry to 1 and test. | 439 // Set pending index to 4 and committed entry to 1 and test. |
| 386 [session_controller() goToEntryAtIndex:1]; | 440 [session_controller() goToEntryAtIndex:1]; |
| 387 [session_controller() setPendingEntryIndex:4]; | 441 [session_controller() setPendingEntryIndex:4]; |
| 388 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); | 442 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); |
| 389 ASSERT_EQ(4, navigation_manager()->GetPendingItemIndex()); | 443 ASSERT_EQ(4, navigation_manager()->GetPendingItemIndex()); |
| 390 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 444 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 391 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); | 445 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-1)); |
| 392 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 446 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 393 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); | 447 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-2)); |
| 394 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 448 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 395 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); | 449 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); |
| 396 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 450 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 397 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); | 451 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); |
| 452 // Test with large values. |
| 453 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 454 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 455 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 456 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 457 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 458 EXPECT_EQ(-2147483646, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 459 EXPECT_EQ(-999999998, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 460 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 398 | 461 |
| 399 // Test with existing transient entry. | 462 // Test with existing transient entry. |
| 400 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com")]; | 463 [session_controller() addTransientEntryWithURL:GURL("http://www.url.com")]; |
| 401 ASSERT_EQ(5, navigation_manager()->GetItemCount()); | 464 ASSERT_EQ(5, navigation_manager()->GetItemCount()); |
| 402 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); | 465 ASSERT_EQ(1, navigation_manager()->GetCurrentItemIndex()); |
| 403 ASSERT_EQ(4, navigation_manager()->GetPendingItemIndex()); | 466 ASSERT_EQ(4, navigation_manager()->GetPendingItemIndex()); |
| 404 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); | 467 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-1)); |
| 405 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); | 468 EXPECT_EQ(4, navigation_manager()->GetIndexForOffset(-1)); |
| 406 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); | 469 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-2)); |
| 407 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); | 470 EXPECT_EQ(2, navigation_manager()->GetIndexForOffset(-2)); |
| 408 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); | 471 EXPECT_TRUE(navigation_manager()->CanGoToOffset(-3)); |
| 409 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); | 472 EXPECT_EQ(1, navigation_manager()->GetIndexForOffset(-3)); |
| 410 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); | 473 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1)); |
| 411 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); | 474 EXPECT_EQ(5, navigation_manager()->GetIndexForOffset(1)); |
| 412 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); | 475 EXPECT_FALSE(navigation_manager()->CanGoToOffset(2)); |
| 413 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); | 476 EXPECT_EQ(6, navigation_manager()->GetIndexForOffset(2)); |
| 477 // Test with large values. |
| 478 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MAX)); |
| 479 EXPECT_FALSE(navigation_manager()->CanGoToOffset(INT_MIN)); |
| 480 EXPECT_FALSE(navigation_manager()->CanGoToOffset(-1000000000)); |
| 481 EXPECT_FALSE(navigation_manager()->CanGoToOffset(1000000000)); |
| 482 EXPECT_EQ(INT_MAX, navigation_manager()->GetIndexForOffset(INT_MAX)); |
| 483 EXPECT_EQ(-2147483645, navigation_manager()->GetIndexForOffset(INT_MIN)); |
| 484 EXPECT_EQ(-999999997, navigation_manager()->GetIndexForOffset(-1000000000)); |
| 485 EXPECT_EQ(1000000004, navigation_manager()->GetIndexForOffset(1000000000)); |
| 414 } | 486 } |
| 415 | 487 |
| 416 } // namespace web | 488 } // namespace web |
| OLD | NEW |