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

Side by Side Diff: chrome/test/chromedriver/chrome/navigation_tracker_unittest.cc

Issue 1669453002: [chromedriver] Apply page load timeout to slow cross-process navigations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove DEPS modifications. Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include <string> 5 #include <string>
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/json/json_reader.h" 8 #include "base/json/json_reader.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/test/chromedriver/chrome/browser_info.h" 10 #include "chrome/test/chromedriver/chrome/browser_info.h"
11 #include "chrome/test/chromedriver/chrome/navigation_tracker.h" 11 #include "chrome/test/chromedriver/chrome/navigation_tracker.h"
12 #include "chrome/test/chromedriver/chrome/status.h" 12 #include "chrome/test/chromedriver/chrome/status.h"
13 #include "chrome/test/chromedriver/chrome/stub_devtools_client.h" 13 #include "chrome/test/chromedriver/chrome/stub_devtools_client.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 namespace { 16 namespace {
17 17
18 void AssertPendingState(NavigationTracker* tracker, 18 void AssertPendingState(NavigationTracker* tracker,
19 const std::string& frame_id, 19 const std::string& frame_id,
20 bool expected_is_pending) { 20 bool expected_is_pending) {
21 bool is_pending = !expected_is_pending; 21 bool is_pending = !expected_is_pending;
22 ASSERT_EQ(kOk, tracker->IsPendingNavigation(frame_id, &is_pending).code()); 22 ASSERT_EQ(
23 kOk, tracker->IsPendingNavigation(frame_id, nullptr, &is_pending).code());
23 ASSERT_EQ(expected_is_pending, is_pending); 24 ASSERT_EQ(expected_is_pending, is_pending);
24 } 25 }
25 26
26 class DeterminingLoadStateDevToolsClient : public StubDevToolsClient { 27 class DeterminingLoadStateDevToolsClient : public StubDevToolsClient {
27 public: 28 public:
28 DeterminingLoadStateDevToolsClient( 29 DeterminingLoadStateDevToolsClient(
29 bool has_empty_base_url, 30 bool has_empty_base_url,
30 bool is_loading, 31 bool is_loading,
31 const std::string& send_event_first, 32 const std::string& send_event_first,
32 base::DictionaryValue* send_event_first_params) 33 base::DictionaryValue* send_event_first_params)
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 }; 308 };
308 309
309 } // namespace 310 } // namespace
310 311
311 TEST(NavigationTracker, UnknownStateFailsToDetermineState) { 312 TEST(NavigationTracker, UnknownStateFailsToDetermineState) {
312 FailToEvalScriptDevToolsClient client; 313 FailToEvalScriptDevToolsClient client;
313 BrowserInfo browser_info; 314 BrowserInfo browser_info;
314 NavigationTracker tracker(&client, &browser_info); 315 NavigationTracker tracker(&client, &browser_info);
315 bool is_pending; 316 bool is_pending;
316 ASSERT_EQ(kUnknownError, 317 ASSERT_EQ(kUnknownError,
317 tracker.IsPendingNavigation("f", &is_pending).code()); 318 tracker.IsPendingNavigation("f", nullptr, &is_pending).code());
318 } 319 }
319 320
320 TEST(NavigationTracker, UnknownStatePageNotLoadAtAll) { 321 TEST(NavigationTracker, UnknownStatePageNotLoadAtAll) {
321 base::DictionaryValue params; 322 base::DictionaryValue params;
322 DeterminingLoadStateDevToolsClient client( 323 DeterminingLoadStateDevToolsClient client(
323 true, true, std::string(), &params); 324 true, true, std::string(), &params);
324 BrowserInfo browser_info; 325 BrowserInfo browser_info;
325 NavigationTracker tracker(&client, &browser_info); 326 NavigationTracker tracker(&client, &browser_info);
326 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", true)); 327 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", true));
327 } 328 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 result.SetString("frameId", "f"); 360 result.SetString("frameId", "f");
360 tracker.OnCommandSuccess(&client, "Page.navigate", result); 361 tracker.OnCommandSuccess(&client, "Page.navigate", result);
361 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", true)); 362 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", true));
362 tracker.OnEvent(&client, "Page.loadEventFired", params); 363 tracker.OnEvent(&client, "Page.loadEventFired", params);
363 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", true)); 364 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", true));
364 params.Clear(); 365 params.Clear();
365 params.SetString("frameId", "f"); 366 params.SetString("frameId", "f");
366 tracker.OnEvent(&client, "Page.frameStoppedLoading", params); 367 tracker.OnEvent(&client, "Page.frameStoppedLoading", params);
367 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", false)); 368 ASSERT_NO_FATAL_FAILURE(AssertPendingState(&tracker, "f", false));
368 } 369 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698