Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ | 5 #ifndef IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ |
| 6 #define IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ | 6 #define IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ |
| 7 | 7 |
| 8 #include "ios/web/public/test/fakes/test_browser_state.h" | 8 #include "ios/web/public/test/fakes/test_browser_state.h" |
| 9 #include "ios/web/public/test/scoped_testing_web_client.h" | 9 #include "ios/web/public/test/scoped_testing_web_client.h" |
| 10 #include "ios/web/public/test/test_web_thread_bundle.h" | 10 #include "ios/web/public/test/test_web_thread_bundle.h" |
| 11 #include "testing/platform_test.h" | 11 #include "testing/platform_test.h" |
| 12 | 12 |
| 13 namespace web { | 13 namespace web { |
| 14 | 14 |
| 15 class BrowserState; | 15 class BrowserState; |
| 16 class RendererCrashObserver; | |
| 16 class TestWebClient; | 17 class TestWebClient; |
| 17 | 18 |
| 18 // A test fixture for web tests that need a minimum environment set up that | 19 // A test fixture for web tests that need a minimum environment set up that |
| 19 // mimics a web embedder. | 20 // mimics a web embedder. |
| 20 class WebTest : public PlatformTest { | 21 class WebTest : public PlatformTest { |
| 21 protected: | 22 protected: |
| 22 WebTest(); | 23 WebTest(); |
| 23 ~WebTest() override; | 24 ~WebTest() override; |
| 24 | 25 |
| 25 // PlatformTest methods. | 26 // PlatformTest methods. |
| 26 void SetUp() override; | 27 void SetUp() override; |
| 27 void TearDown() override; | 28 void TearDown() override; |
| 28 | 29 |
| 29 // Returns the WebClient that is used for testing. | 30 // Returns the WebClient that is used for testing. |
| 30 TestWebClient* GetWebClient(); | 31 TestWebClient* GetWebClient(); |
| 31 | 32 |
| 32 // Returns the BrowserState that is used for testing. | 33 // Returns the BrowserState that is used for testing. |
| 33 virtual BrowserState* GetBrowserState(); | 34 virtual BrowserState* GetBrowserState(); |
| 34 | 35 |
| 36 // If called with |true|, prevents the test fixture from automatically failing | |
| 37 // when a render process crashes during the test. This is useful for tests | |
| 38 // that intentionally crash the render process. | |
|
Eugene But (OOO till 7-30)
2017/02/01 16:43:04
Would it be helpful to document that default state
rohitrao (ping after 24h)
2017/02/01 18:22:59
Done.
| |
| 39 void AllowRenderProcessCrashesDuringTesting(bool allow); | |
|
Eugene But (OOO till 7-30)
2017/02/01 16:43:04
Should this be prefixed with Set (e.g. SetAllowsRe
rohitrao (ping after 24h)
2017/02/01 18:22:59
Done.
| |
| 40 | |
| 35 private: | 41 private: |
| 36 // The WebClient used in tests. | 42 // The WebClient used in tests. |
| 37 ScopedTestingWebClient web_client_; | 43 ScopedTestingWebClient web_client_; |
| 38 // The threads used for testing. | 44 // The threads used for testing. |
| 39 web::TestWebThreadBundle thread_bundle_; | 45 web::TestWebThreadBundle thread_bundle_; |
| 40 // The browser state used in tests. | 46 // The browser state used in tests. |
| 41 TestBrowserState browser_state_; | 47 TestBrowserState browser_state_; |
| 48 | |
| 49 // Triggers test failures if a renderer process dies during the test. | |
| 50 std::unique_ptr<RendererCrashObserver> renderer_crash_observer_; | |
| 42 }; | 51 }; |
| 43 | 52 |
| 44 } // namespace web | 53 } // namespace web |
| 45 | 54 |
| 46 #endif // IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ | 55 #endif // IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ |
| OLD | NEW |