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

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

Issue 2883423003: Added -[CRWWKNavigationStates pendingNavigations] API. (Closed)
Patch Set: Self review Created 3 years, 7 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 057b4bb3e1d65d3a10d5680812beaa5205eca287..83d31f8a569ad35efc4cb207931d986cb36ab001 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
@@ -129,4 +129,63 @@ TEST_F(CRWWKNavigationStatesTest, NullNavigation) {
EXPECT_EQ(WKNavigationState::REQUESTED, [states_ lastAddedNavigationState]);
}
+// Tests -[CRWWKNavigationStates pendingNavigations].
+TEST_F(CRWWKNavigationStatesTest, PendingNavigations) {
+ ASSERT_EQ(0U, [states_ pendingNavigations].count);
+
+ // Add pending navigation_1.
+ [states_ setState:WKNavigationState::REQUESTED forNavigation: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(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(3U, [states_ pendingNavigations].count);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation1_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
+
+ // Add pending null navigation.
+ [states_ setState:WKNavigationState::STARTED forNavigation:nil];
+ ASSERT_EQ(4U, [states_ pendingNavigations].count);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation1_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:[NSNull null]]);
+
+ // Provisionally fail null navigation.
+ [states_ setState:WKNavigationState::PROVISIONALY_FAILED forNavigation:nil];
+ ASSERT_EQ(3U, [states_ pendingNavigations].count);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
+
+ // Commit navigation_1.
+ [states_ setState:WKNavigationState::COMMITTED forNavigation: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(2U, [states_ pendingNavigations].count);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation2_]);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
+
+ // Remove navigation_2.
+ [states_ removeNavigation:navigation2_];
+ ASSERT_EQ(1U, [states_ pendingNavigations].count);
+ EXPECT_TRUE([[states_ pendingNavigations] containsObject:navigation3_]);
+
+ // Fail navigation_3.
+ [states_ setState:WKNavigationState::FAILED forNavigation:navigation3_];
+ ASSERT_EQ(0U, [states_ pendingNavigations].count);
+}
+
} // namespace web
« 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