Index: chrome/test/chromedriver/session_unittest.cc |
diff --git a/chrome/test/chromedriver/session_unittest.cc b/chrome/test/chromedriver/session_unittest.cc |
index 8d2e2287604eab39435ebe66e63b2a17fa76be3f..0fd9a04d2a4ebd03d300d1d322322553be015329 100644 |
--- a/chrome/test/chromedriver/session_unittest.cc |
+++ b/chrome/test/chromedriver/session_unittest.cc |
@@ -8,8 +8,32 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/synchronization/lock.h" |
#include "chrome/test/chromedriver/session.h" |
+#include "chrome/test/chromedriver/status.h" |
+#include "chrome/test/chromedriver/stub_chrome.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+namespace { |
+ |
+class ValidFrameChrome : public StubChrome { |
+ public: |
+ ValidFrameChrome() {} |
+ virtual ~ValidFrameChrome() {} |
+ |
+ virtual Status GetMainFrame(std::string* frame_id) OVERRIDE { |
+ *frame_id = "main"; |
+ return Status(kOk); |
+ } |
+ |
+ virtual Status WaitForPendingNavigations( |
+ const std::string& frame_id) OVERRIDE { |
+ if (frame_id == "") |
+ return Status(kUnknownError, "frame_id was empty"); |
+ return Status(kOk); |
+ } |
+}; |
+ |
+} // namespace |
+ |
TEST(SessionAccessorTest, LocksSession) { |
scoped_ptr<Session> scoped_session(new Session("id")); |
Session* session = scoped_session.get(); |
@@ -19,3 +43,22 @@ TEST(SessionAccessorTest, LocksSession) { |
ASSERT_EQ(session, accessor->Access(&lock)); |
ASSERT_TRUE(lock.get()); |
} |
+ |
+TEST(Session, WaitForPendingNavigationsNoChrome) { |
+ Session session("id"); |
+ ASSERT_TRUE(session.WaitForPendingNavigations().IsOk()); |
+} |
+ |
+TEST(Session, WaitForPendingNavigations) { |
+ scoped_ptr<Chrome> chrome(new ValidFrameChrome()); |
+ Session session("id", chrome.Pass()); |
+ session.frame = "f"; |
+ ASSERT_TRUE(session.WaitForPendingNavigations().IsOk()); |
+} |
+ |
+TEST(Session, WaitForPendingNavigationsMainFrame) { |
+ scoped_ptr<Chrome> chrome(new ValidFrameChrome()); |
+ Session session("id", chrome.Pass()); |
+ session.frame = ""; |
+ ASSERT_TRUE(session.WaitForPendingNavigations().IsOk()); |
+} |