| Index: content/browser/web_contents/web_contents_impl_unittest.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl_unittest.cc b/content/browser/web_contents/web_contents_impl_unittest.cc
|
| index 8ba2b0522f53ff633709f2e7f39b5d4d57133d65..f1685952b06ee88e70e0a8e111c542552341ebdf 100644
|
| --- a/content/browser/web_contents/web_contents_impl_unittest.cc
|
| +++ b/content/browser/web_contents/web_contents_impl_unittest.cc
|
| @@ -53,6 +53,7 @@
|
| #include "content/test/test_web_contents.h"
|
| #include "net/test/cert_test_util.h"
|
| #include "net/test/test_data_directory.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "third_party/skia/include/core/SkColor.h"
|
| #include "url/url_constants.h"
|
| @@ -3446,4 +3447,28 @@ TEST_F(WebContentsImplTest, ResetJavaScriptDialogOnUserNavigate) {
|
| contents()->SetJavaScriptDialogManagerForTesting(nullptr);
|
| }
|
|
|
| +namespace {
|
| +
|
| +class MockWebContentsObserver : public WebContentsObserver {
|
| + public:
|
| + explicit MockWebContentsObserver(WebContents* web_contents)
|
| + : WebContentsObserver(web_contents) {}
|
| + MOCK_METHOD2(
|
| + WebContentsReplaced,
|
| + void(WebContents* old_web_contents, WebContents* new_web_contents));
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +// Makes sure that when a WebContents is replaced, it notifies its observers.
|
| +TEST_F(WebContentsImplTest, NotifiesOnReplacement) {
|
| + WebContents* other_contents = contents()->Clone();
|
| +
|
| + MockWebContentsObserver observer(contents());
|
| + EXPECT_CALL(observer, WebContentsReplaced(contents(), other_contents));
|
| + contents()->OnReplaced(other_contents);
|
| +
|
| + delete other_contents;
|
| +}
|
| +
|
| } // namespace content
|
|
|