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

Unified Diff: ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm

Issue 2950853002: Gracefully handle didCommitNavigation: call after didFinishNavigation: (Closed)
Patch Set: Updated comments Created 3 years, 6 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 | « ios/web/web_state/ui/crw_wk_navigation_states.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm
diff --git a/ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm b/ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm
index 85c77da7cccd543c327ecc6e29947aa1a4452ec4..9266aa9bb613cd35b9147e215cec93249c21d888 100644
--- a/ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm
+++ b/ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm
@@ -43,30 +43,41 @@ class CRWWKNavigationStatesTest : public PlatformTest {
TEST_F(CRWWKNavigationStatesTest, RemovingNavigation) {
// navigation_1 is the only navigation and it is the latest.
[states_ setState:WKNavigationState::REQUESTED forNavigation:navigation1_];
+ ASSERT_EQ(WKNavigationState::REQUESTED,
+ [states_ stateForNavigation:navigation1_]);
ASSERT_EQ(navigation1_, [states_ lastAddedNavigation]);
[states_ removeNavigation:navigation1_];
- ASSERT_FALSE([states_ lastAddedNavigation]);
+ EXPECT_FALSE([states_ lastAddedNavigation]);
+ EXPECT_EQ(WKNavigationState::NONE, [states_ stateForNavigation:navigation1_]);
}
// Tests |lastAddedNavigation| method.
TEST_F(CRWWKNavigationStatesTest, LastAddedNavigation) {
// navigation_1 is the only navigation and it is the latest.
[states_ setState:WKNavigationState::REQUESTED forNavigation:navigation1_];
+ EXPECT_EQ(WKNavigationState::REQUESTED,
+ [states_ stateForNavigation:navigation1_]);
EXPECT_EQ(navigation1_, [states_ lastAddedNavigation]);
EXPECT_EQ(WKNavigationState::REQUESTED, [states_ lastAddedNavigationState]);
// navigation_2 is added later and hence the latest.
[states_ setState:WKNavigationState::REQUESTED forNavigation:navigation2_];
+ EXPECT_EQ(WKNavigationState::REQUESTED,
+ [states_ stateForNavigation:navigation2_]);
EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]);
EXPECT_EQ(WKNavigationState::REQUESTED, [states_ lastAddedNavigationState]);
// Updating state for existing navigation does not make it the latest.
[states_ setState:WKNavigationState::STARTED forNavigation:navigation1_];
+ EXPECT_EQ(WKNavigationState::STARTED,
+ [states_ stateForNavigation:navigation1_]);
EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]);
EXPECT_EQ(WKNavigationState::REQUESTED, [states_ lastAddedNavigationState]);
// navigation_2 is still the latest.
[states_ setState:WKNavigationState::STARTED forNavigation:navigation2_];
+ EXPECT_EQ(WKNavigationState::STARTED,
+ [states_ stateForNavigation:navigation2_]);
EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]);
EXPECT_EQ(WKNavigationState::STARTED, [states_ lastAddedNavigationState]);
@@ -122,11 +133,14 @@ TEST_F(CRWWKNavigationStatesTest, Context) {
TEST_F(CRWWKNavigationStatesTest, NullNavigation) {
// navigation_1 is the only navigation and it is the latest.
[states_ setState:WKNavigationState::REQUESTED forNavigation:navigation1_];
+ EXPECT_EQ(WKNavigationState::REQUESTED,
+ [states_ stateForNavigation:navigation1_]);
ASSERT_EQ(navigation1_, [states_ lastAddedNavigation]);
EXPECT_EQ(WKNavigationState::REQUESTED, [states_ lastAddedNavigationState]);
// null navigation is added later and hence the latest.
[states_ setState:WKNavigationState::STARTED forNavigation:nil];
+ EXPECT_EQ(WKNavigationState::STARTED, [states_ stateForNavigation:nil]);
EXPECT_FALSE([states_ lastAddedNavigation]);
EXPECT_EQ(WKNavigationState::STARTED, [states_ lastAddedNavigationState]);
@@ -142,17 +156,23 @@ TEST_F(CRWWKNavigationStatesTest, PendingNavigations) {
// Add pending navigation_1.
[states_ setState:WKNavigationState::REQUESTED forNavigation:navigation1_];
+ ASSERT_EQ(WKNavigationState::REQUESTED,
+ [states_ stateForNavigation:navigation1_]);
ASSERT_EQ(1U, [states_ pendingNavigations].count);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation1_]);
// Add pending navigation_2.
[states_ setState:WKNavigationState::STARTED forNavigation:navigation2_];
+ ASSERT_EQ(WKNavigationState::STARTED,
+ [states_ stateForNavigation:navigation2_]);
ASSERT_EQ(2U, [states_ pendingNavigations].count);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation1_]);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
// Add pending navigation_3.
[states_ setState:WKNavigationState::STARTED forNavigation:navigation3_];
+ ASSERT_EQ(WKNavigationState::STARTED,
+ [states_ stateForNavigation:navigation3_]);
ASSERT_EQ(3U, [states_ pendingNavigations].count);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation1_]);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
@@ -160,6 +180,7 @@ TEST_F(CRWWKNavigationStatesTest, PendingNavigations) {
// Add pending null navigation.
[states_ setState:WKNavigationState::STARTED forNavigation:nil];
+ ASSERT_EQ(WKNavigationState::STARTED, [states_ stateForNavigation:nil]);
ASSERT_EQ(4U, [states_ pendingNavigations].count);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation1_]);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
@@ -168,6 +189,8 @@ TEST_F(CRWWKNavigationStatesTest, PendingNavigations) {
// Provisionally fail null navigation.
[states_ setState:WKNavigationState::PROVISIONALY_FAILED forNavigation:nil];
+ ASSERT_EQ(WKNavigationState::PROVISIONALY_FAILED,
+ [states_ stateForNavigation:nil]);
ASSERT_EQ(3U, [states_ pendingNavigations].count);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
@@ -175,12 +198,16 @@ TEST_F(CRWWKNavigationStatesTest, PendingNavigations) {
// Commit navigation_1.
[states_ setState:WKNavigationState::COMMITTED forNavigation:navigation1_];
+ ASSERT_EQ(WKNavigationState::COMMITTED,
+ [states_ stateForNavigation:navigation1_]);
ASSERT_EQ(2U, [states_ pendingNavigations].count);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
// Finish navigation_1.
[states_ setState:WKNavigationState::FINISHED forNavigation:navigation1_];
+ ASSERT_EQ(WKNavigationState::FINISHED,
+ [states_ stateForNavigation:navigation1_]);
ASSERT_EQ(2U, [states_ pendingNavigations].count);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
@@ -192,6 +219,8 @@ TEST_F(CRWWKNavigationStatesTest, PendingNavigations) {
// Fail navigation_3.
[states_ setState:WKNavigationState::FAILED forNavigation:navigation3_];
+ ASSERT_EQ(WKNavigationState::FAILED,
+ [states_ stateForNavigation:navigation3_]);
ASSERT_EQ(0U, [states_ pendingNavigations].count);
}
« no previous file with comments | « ios/web/web_state/ui/crw_wk_navigation_states.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698