Index: components/web_view/web_view_apptest.cc |
diff --git a/components/web_view/web_view_apptest.cc b/components/web_view/web_view_apptest.cc |
index 0fffd4cc310f97be5508b1f85fdde7707ab844b3..228653979cf81e7c8876d42ff08c409a24a2807f 100644 |
--- a/components/web_view/web_view_apptest.cc |
+++ b/components/web_view/web_view_apptest.cc |
@@ -19,15 +19,6 @@ |
namespace web_view { |
-namespace { |
-const char kTestOneFile[] = "test_one.html"; |
-const char kTestOneTitle[] = "Test Title One"; |
-const char kTestTwoFile[] = "test_two.html"; |
-const char kTestTwoTitle[] = "Test Title Two"; |
-const char kTestThreeFile[] = "test_three.html"; |
-const char kTestThreeTitle[] = "Test Title Three"; |
-} |
- |
class WebViewTest : public mojo::ViewManagerTestBase, |
public mojom::WebViewClient { |
public: |
@@ -37,28 +28,10 @@ |
mojom::WebView* web_view() { return web_view_.web_view(); } |
const std::string& last_title() { return last_title_; } |
- mojom::ButtonState last_back_button_state() { |
- return last_back_button_state_; |
- } |
- mojom::ButtonState last_forward_button_state() { |
- return last_forward_button_state_; |
- } |
void StartNestedRunLoopUntilLoadingDone() { |
run_loop_.reset(new base::RunLoop); |
run_loop_->Run(); |
- } |
- |
- void NavigateTo(const std::string& file) { |
- base::FilePath data_file; |
- ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &data_file)); |
- data_file = data_file.AppendASCII("components/test/data/web_view") |
- .AppendASCII(file).NormalizePathSeparators(); |
- ASSERT_TRUE(base::PathExists(data_file)); |
- mojo::URLRequestPtr request(mojo::URLRequest::New()); |
- request->url = mojo::util::FilePathToFileURL(data_file).spec(); |
- web_view()->LoadRequest(request.Pass()); |
- StartNestedRunLoopUntilLoadingDone(); |
} |
private: |
@@ -97,11 +70,6 @@ |
QuitNestedRunLoop(); |
} |
void ProgressChanged(double progress) override {} |
- void BackForwardChanged(mojom::ButtonState back_button, |
- mojom::ButtonState forward_button) override { |
- last_back_button_state_ = back_button; |
- last_forward_button_state_ = forward_button; |
- } |
void TitleChanged(const mojo::String& title) override { |
last_title_ = title.get(); |
} |
@@ -115,76 +83,29 @@ |
scoped_ptr<base::RunLoop> run_loop_; |
std::string last_title_; |
- mojom::ButtonState last_back_button_state_; |
- mojom::ButtonState last_forward_button_state_; |
DISALLOW_COPY_AND_ASSIGN(WebViewTest); |
}; |
TEST_F(WebViewTest, TestTitleChanged) { |
- ASSERT_NO_FATAL_FAILURE(NavigateTo(kTestOneFile)); |
+ base::FilePath data_file; |
+ ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &data_file)); |
+ data_file = data_file.AppendASCII("components"). |
+ AppendASCII("test"). |
+ AppendASCII("data"). |
+ AppendASCII("web_view"). |
+ AppendASCII("test_title_changed.html"); |
+ ASSERT_TRUE(base::PathExists(data_file)); |
- // Our title should have been set on the navigation. |
- EXPECT_EQ(kTestOneTitle, last_title()); |
-} |
+ mojo::URLRequestPtr request(mojo::URLRequest::New()); |
+ request->url = mojo::util::FilePathToFileURL(data_file).spec(); |
+ web_view()->LoadRequest(request.Pass()); |
-TEST_F(WebViewTest, CanGoBackAndForward) { |
- ASSERT_NO_FATAL_FAILURE(NavigateTo(kTestOneFile)); |
- |
- // We can't go back on first navigation since there's nothing previously on |
- // the stack. |
- EXPECT_EQ(kTestOneTitle, last_title()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED, |
- last_back_button_state()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED, |
- last_forward_button_state()); |
- |
- ASSERT_NO_FATAL_FAILURE(NavigateTo(kTestTwoFile)); |
- |
- EXPECT_EQ(kTestTwoTitle, last_title()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_ENABLED, last_back_button_state()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED, |
- last_forward_button_state()); |
- |
- web_view()->GoBack(); |
+ // Build a nested run loop. |
StartNestedRunLoopUntilLoadingDone(); |
- EXPECT_EQ(kTestOneTitle, last_title()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED, |
- last_back_button_state()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_ENABLED, |
- last_forward_button_state()); |
- |
- web_view()->GoForward(); |
- StartNestedRunLoopUntilLoadingDone(); |
- EXPECT_EQ(kTestTwoTitle, last_title()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_ENABLED, last_back_button_state()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED, |
- last_forward_button_state()); |
-} |
- |
-TEST_F(WebViewTest, NavigationClearsForward) { |
- // First navigate somewhere, navigate somewhere else, and go back so we have |
- // one item in the forward stack. |
- ASSERT_NO_FATAL_FAILURE(NavigateTo(kTestOneFile)); |
- ASSERT_NO_FATAL_FAILURE(NavigateTo(kTestTwoFile)); |
- |
- web_view()->GoBack(); |
- StartNestedRunLoopUntilLoadingDone(); |
- |
- EXPECT_EQ(kTestOneTitle, last_title()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED, |
- last_back_button_state()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_ENABLED, |
- last_forward_button_state()); |
- |
- // Now navigate to a third file. This should clear the forward stack. |
- ASSERT_NO_FATAL_FAILURE(NavigateTo(kTestThreeFile)); |
- |
- EXPECT_EQ(kTestThreeTitle, last_title()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_ENABLED, last_back_button_state()); |
- EXPECT_EQ(mojom::ButtonState::BUTTON_STATE_DISABLED, |
- last_forward_button_state()); |
+ // Our title should have been set on the final. |
+ EXPECT_EQ("Test Title Changed", last_title()); |
} |
} // namespace web_view |