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

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

Issue 2601083003: [ios] Correctly determine last seen WKNavigation object. (Closed)
Patch Set: Addressed more comments Created 3 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 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
new file mode 100644
index 0000000000000000000000000000000000000000..955a20b06bdf6874652a16b08c7f6b845fb1d98c
--- /dev/null
+++ b/ios/web/web_state/ui/crw_wk_navigation_states_unittest.mm
@@ -0,0 +1,59 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/web/web_state/ui/crw_wk_navigation_states.h"
+
+#import <WebKit/WebKit.h>
+
+#import "base/mac/scoped_nsobject.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/platform_test.h"
+
+namespace web {
+
+// Test fixture for CRWWKNavigationStates testing.
+class CRWWKNavigationStatesTest : public PlatformTest {
+ protected:
+ CRWWKNavigationStatesTest()
+ : navigation1_(static_cast<WKNavigation*>([[NSObject alloc] init])),
+ navigation2_(static_cast<WKNavigation*>([[NSObject alloc] init])),
+ states_([[CRWWKNavigationStates alloc] init]) {}
+
+ protected:
+ base::scoped_nsobject<WKNavigation> navigation1_;
+ base::scoped_nsobject<WKNavigation> navigation2_;
+ base::scoped_nsobject<CRWWKNavigationStates> states_;
+};
+
+// 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(navigation1_, [states_ lastAddedNavigation]);
+
+ // navigation_2 is added later and hence the latest.
+ [states_ setState:WKNavigationState::REQUESTED forNavigation:navigation2_];
+ EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]);
+
+ // Updating state for existing navigation does not make it the latest.
+ [states_ setState:WKNavigationState::STARTED forNavigation:navigation1_];
+ EXPECT_EQ(navigation2_, [states_ lastAddedNavigation]);
+}
+
+// Tests |stateForNavigation:| method.
+TEST_F(CRWWKNavigationStatesTest, StateForNavigation) {
+ [states_ setState:WKNavigationState::REQUESTED forNavigation:navigation1_];
+ EXPECT_EQ(WKNavigationState::REQUESTED,
+ [states_ stateForNavigation:navigation1_]);
+
+ [states_ setState:WKNavigationState::REQUESTED forNavigation:navigation2_];
+ EXPECT_EQ(WKNavigationState::REQUESTED,
+ [states_ stateForNavigation:navigation2_]);
+
+ [states_ setState:WKNavigationState::STARTED forNavigation:navigation1_];
+ EXPECT_EQ(WKNavigationState::STARTED,
+ [states_ stateForNavigation:navigation1_]);
+}
+
+} // 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