Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/ui/webui/options/core_options_handler.h" | 5 #include "chrome/browser/ui/webui/options/core_options_handler.h" |
| 6 #include "chrome/common/url_constants.h" | 6 #include "chrome/common/url_constants.h" |
| 7 #include "chrome/test/ui_test_utils.h" | 7 #include "chrome/test/ui_test_utils.h" |
| 8 #include "content/browser/webui/web_ui_browsertest.h" | 8 #include "content/browser/webui/web_ui_browsertest.h" |
| 9 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
| 10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 59 NewCallback(this, &MockCoreOptionsHandler ::HandleSetObjectPref)); | 59 NewCallback(this, &MockCoreOptionsHandler ::HandleSetObjectPref)); |
| 60 web_ui_->RegisterMessageCallback("clearPref", | 60 web_ui_->RegisterMessageCallback("clearPref", |
| 61 NewCallback(this, &MockCoreOptionsHandler ::HandleClearPref)); | 61 NewCallback(this, &MockCoreOptionsHandler ::HandleClearPref)); |
| 62 web_ui_->RegisterMessageCallback("coreOptionsUserMetricsAction", | 62 web_ui_->RegisterMessageCallback("coreOptionsUserMetricsAction", |
| 63 NewCallback(this, &MockCoreOptionsHandler ::HandleUserMetricsAction)); | 63 NewCallback(this, &MockCoreOptionsHandler ::HandleUserMetricsAction)); |
| 64 } | 64 } |
| 65 }; | 65 }; |
| 66 | 66 |
| 67 class SettingsWebUITest : public WebUIBrowserTest { | 67 class SettingsWebUITest : public WebUIBrowserTest { |
| 68 protected: | 68 protected: |
| 69 virtual void SetUpInProcessBrowserTestFixture() { | 69 virtual void SetUpInProcessBrowserTestFixture() { |
|
Evan Stade
2011/04/07 19:29:34
it seems this is called before BrowserMain and the
| |
| 70 WebUIBrowserTest::SetUpInProcessBrowserTestFixture(); | 70 WebUIBrowserTest::SetUpInProcessBrowserTestFixture(); |
| 71 AddLibrary(FILE_PATH_LITERAL("settings_util.js")); | |
| 71 AddLibrary(FILE_PATH_LITERAL("settings.js")); | 72 AddLibrary(FILE_PATH_LITERAL("settings.js")); |
| 72 } | 73 } |
| 73 | 74 |
| 74 virtual WebUIMessageHandler* GetMockMessageHandler() { | 75 virtual WebUIMessageHandler* GetMockMessageHandler() { |
| 75 return &mock_core_options_handler_; | 76 return &mock_core_options_handler_; |
| 76 } | 77 } |
| 77 | 78 |
| 78 StrictMock<MockCoreOptionsHandler> mock_core_options_handler_; | 79 StrictMock<MockCoreOptionsHandler> mock_core_options_handler_; |
| 79 }; | 80 }; |
| 80 | 81 |
| 81 // Test the end to end js to WebUI handler code path for | 82 // Test the end to end js to WebUI handler code path for |
| 82 // the message setBooleanPref. | 83 // the message setBooleanPref. |
| 83 // TODO(dtseng): add more EXPECT_CALL's when updating js test. | 84 // TODO(dtseng): add more EXPECT_CALL's when updating js test. |
| 84 IN_PROC_BROWSER_TEST_F(SettingsWebUITest, TestSetBooleanPrefTriggers) { | 85 IN_PROC_BROWSER_TEST_F(SettingsWebUITest, TestSetBooleanPrefTriggers) { |
| 86 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUISettingsURL)); | |
| 85 // This serves as an example of a very constrained test. | 87 // This serves as an example of a very constrained test. |
| 86 ListValue true_list_value; | 88 ListValue true_list_value; |
| 87 true_list_value.Append(Value::CreateStringValue("browser.show_home_button")); | 89 true_list_value.Append(Value::CreateStringValue("browser.show_home_button")); |
| 88 true_list_value.Append(Value::CreateBooleanValue(true)); | 90 true_list_value.Append(Value::CreateBooleanValue(true)); |
| 89 true_list_value.Append( | 91 true_list_value.Append( |
| 90 Value::CreateStringValue("Options_Homepage_HomeButton")); | 92 Value::CreateStringValue("Options_Homepage_HomeButton")); |
| 91 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUISettingsURL)); | 93 |
| 92 EXPECT_CALL(mock_core_options_handler_, | 94 EXPECT_CALL(mock_core_options_handler_, |
| 93 HandleSetBooleanPref(Eq_ListValue(&true_list_value))); | 95 HandleSetBooleanPref(Eq_ListValue(&true_list_value))); |
| 94 ASSERT_TRUE(RunJavascriptTest("testSetBooleanPrefTriggers")); | 96 ASSERT_TRUE(RunJavascriptTest("testSetBooleanPrefTriggers")); |
| 95 } | 97 } |
| 98 | |
| 99 IN_PROC_BROWSER_TEST_F(SettingsWebUITest, testRefreshStaysOnCurrentPage) { | |
| 100 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUISettingsURL)); | |
| 101 ASSERT_TRUE(RunJavascriptFunction("openUnderTheHood")); | |
|
Evan Stade
2011/04/07 19:29:34
these should all be one javascript test
| |
| 102 ASSERT_TRUE(RunJavascriptFunction("refreshPage")); | |
| 103 ASSERT_TRUE(RunJavascriptTest("testPageIsUnderTheHood")); | |
| 104 } | |
| OLD | NEW |