diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/dom_ui/dom_ui.cc | 7 | ||||
-rw-r--r-- | chrome/browser/dom_ui/dom_ui.h | 11 | ||||
-rw-r--r-- | chrome/browser/dom_ui/dom_ui_browsertest.cc | 24 | ||||
-rw-r--r-- | chrome/browser/dom_ui/dom_ui_browsertest.h | 11 | ||||
-rw-r--r-- | chrome/browser/dom_ui/settings_browsertest.cc | 91 | ||||
-rw-r--r-- | chrome/chrome_tests.gypi | 1 | ||||
-rw-r--r-- | chrome/test/data/dom_ui/settings_set_boolean_pref_triggers.js | 13 |
7 files changed, 6 insertions, 152 deletions
diff --git a/chrome/browser/dom_ui/dom_ui.cc b/chrome/browser/dom_ui/dom_ui.cc index df15f29..98d4bf2 100644 --- a/chrome/browser/dom_ui/dom_ui.cc +++ b/chrome/browser/dom_ui/dom_ui.cc @@ -126,12 +126,7 @@ ui::ThemeProvider* DOMUI::GetThemeProvider() const { void DOMUI::RegisterMessageCallback(const std::string &message, MessageCallback *callback) { - std::pair<MessageCallbackMap::iterator, bool> result = - message_callbacks_.insert(std::make_pair(message, callback)); - - // Overwrite preexisting message callback mappings. - if (register_callback_overwrites() && !result.second) - result.first->second = callback; + message_callbacks_.insert(std::make_pair(message, callback)); } Profile* DOMUI::GetProfile() const { diff --git a/chrome/browser/dom_ui/dom_ui.h b/chrome/browser/dom_ui/dom_ui.h index 9ed604a..6ecd311 100644 --- a/chrome/browser/dom_ui/dom_ui.h +++ b/chrome/browser/dom_ui/dom_ui.h @@ -105,16 +105,6 @@ class DOMUI { return bindings_; } - // Indicates whether RegisterMessageCallback() will overwrite an existing - // message callback mapping. Serves as the hook for test mocks. - bool register_callback_overwrites() const { - return register_callback_overwrites_; - } - - void register_callback_overwrites(bool value) { - register_callback_overwrites_ = value; - } - // Call a Javascript function by sending its name and arguments down to // the renderer. This is asynchronous; there's no way to get the result // of the call, and should be thought of more like sending a message to @@ -165,7 +155,6 @@ class DOMUI { PageTransition::Type link_transition_type_; // Defaults to LINK. int bindings_; // The bindings from BindingsPolicy that should be enabled for // this page. - bool register_callback_overwrites_; // Defaults to false; // The DOMMessageHandlers we own. std::vector<DOMMessageHandler*> handlers_; diff --git a/chrome/browser/dom_ui/dom_ui_browsertest.cc b/chrome/browser/dom_ui/dom_ui_browsertest.cc index d390139..01856f6 100644 --- a/chrome/browser/dom_ui/dom_ui_browsertest.cc +++ b/chrome/browser/dom_ui/dom_ui_browsertest.cc @@ -10,7 +10,6 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/url_constants.h" #include "chrome/test/ui_test_utils.h" -#include "ui/base/resource/resource_bundle.h" static const FilePath::CharType* kDOMUILibraryJS = FILE_PATH_LITERAL("test_api.js"); @@ -20,20 +19,16 @@ static const FilePath::CharType* kDOMUITestFolder = bool DOMUITest::RunDOMUITest(const FilePath::CharType* src_path) { std::string content; BuildJavaScriptTest(FilePath(src_path), &content); - SetupHandlers(); - return test_handler_->Execute(content); + handler_->Attach( + browser()->GetSelectedTabContents()->dom_ui()); + return handler_->Execute(content); } -DOMUITest::DOMUITest() : test_handler_(new DOMUITestHandler()) {} +DOMUITest::DOMUITest() : handler_(new DOMUITestHandler()) {} void DOMUITest::SetUpInProcessBrowserTestFixture() { ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_directory_)); test_data_directory_ = test_data_directory_.Append(kDOMUITestFolder); - - // TODO(dtseng): should this be part of every BrowserTest or just DOMUI test. - FilePath resources_pack_path; - PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path); - ResourceBundle::AddDataPackToSharedInstance(resources_pack_path); } void DOMUITest::BuildJavaScriptTest(const FilePath& src_path, @@ -51,17 +46,6 @@ void DOMUITest::BuildJavaScriptTest(const FilePath& src_path, content->append(src_content); } -void DOMUITest::SetupHandlers() { - DOMUI* dom_ui_instance = - browser()->GetSelectedTabContents()->dom_ui(); - ASSERT_TRUE(dom_ui_instance != NULL); - dom_ui_instance->register_callback_overwrites(true); - test_handler_->Attach(dom_ui_instance); - - if (GetMockMessageHandler()) - GetMockMessageHandler()->Attach(dom_ui_instance); -} - IN_PROC_BROWSER_TEST_F(DOMUITest, TestSamplePass) { // Navigate to UI. // TODO(dtseng): make accessor for subclasses to return? diff --git a/chrome/browser/dom_ui/dom_ui_browsertest.h b/chrome/browser/dom_ui/dom_ui_browsertest.h index 8203b53..4207b1a 100644 --- a/chrome/browser/dom_ui/dom_ui_browsertest.h +++ b/chrome/browser/dom_ui/dom_ui_browsertest.h @@ -12,8 +12,6 @@ #include "chrome/browser/dom_ui/dom_ui_handler_browsertest.h" #include "chrome/test/in_process_browser_test.h" -class DOMMessageHandler; - // The runner of DOMUI javascript based tests. // See chrome/test/data/dom_ui/test_api.js for the javascript side test API's. // @@ -27,12 +25,8 @@ class DOMUITest : public InProcessBrowserTest { protected: DOMUITest(); - // Setup test path. virtual void SetUpInProcessBrowserTestFixture(); - // Returns a mock DOMUI object under test (if any). - virtual DOMMessageHandler* GetMockMessageHandler() { return NULL; } - private: // Builds a javascript test in the form: // <js_library> ... @@ -43,11 +37,8 @@ class DOMUITest : public InProcessBrowserTest { void BuildJavaScriptTest(const FilePath& src_path, std::string* content); - // Attaches mock and test handlers. - void SetupHandlers(); - // Handles test framework messages. - scoped_ptr<DOMUITestHandler> test_handler_; + scoped_ptr<DOMUITestHandler> handler_; // Location of test data (currently test/data/dom_ui). FilePath test_data_directory_; diff --git a/chrome/browser/dom_ui/settings_browsertest.cc b/chrome/browser/dom_ui/settings_browsertest.cc deleted file mode 100644 index 94cc336..0000000 --- a/chrome/browser/dom_ui/settings_browsertest.cc +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/dom_ui/dom_ui_browsertest.h" -#include "chrome/browser/dom_ui/options/core_options_handler.h" -#include "chrome/common/url_constants.h" -#include "chrome/test/ui_test_utils.h" -#include "googleurl/src/gurl.h" -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -using ::testing::StrictMock; -using ::testing::_; - -MATCHER_P(Eq_ListValue, inList, "") { - return arg->Equals(inList); -} - -class MockCoreOptionsHandler : public CoreOptionsHandler { - public: - MOCK_METHOD1(HandleInitialize, - void(const ListValue* args)); - MOCK_METHOD1(HandleFetchPrefs, - void(const ListValue* args)); - MOCK_METHOD1(HandleObservePrefs, - void(const ListValue* args)); - MOCK_METHOD1(HandleSetBooleanPref, - void(const ListValue* args)); - MOCK_METHOD1(HandleSetIntegerPref, - void(const ListValue* args)); - MOCK_METHOD1(HandleSetDoublePref, - void(const ListValue* args)); - MOCK_METHOD1(HandleSetStringPref, - void(const ListValue* args)); - MOCK_METHOD1(HandleSetObjectPref, - void(const ListValue* args)); - MOCK_METHOD1(HandleClearPref, - void(const ListValue* args)); - MOCK_METHOD1(HandleUserMetricsAction, - void(const ListValue* args)); - - virtual void RegisterMessages() { - dom_ui_->RegisterMessageCallback("coreOptionsInitialize", - NewCallback(this, &MockCoreOptionsHandler ::HandleInitialize)); - dom_ui_->RegisterMessageCallback("fetchPrefs", - NewCallback(this, &MockCoreOptionsHandler ::HandleFetchPrefs)); - dom_ui_->RegisterMessageCallback("observePrefs", - NewCallback(this, &MockCoreOptionsHandler ::HandleObservePrefs)); - dom_ui_->RegisterMessageCallback("setBooleanPref", - NewCallback(this, &MockCoreOptionsHandler ::HandleSetBooleanPref)); - dom_ui_->RegisterMessageCallback("setIntegerPref", - NewCallback(this, &MockCoreOptionsHandler ::HandleSetIntegerPref)); - dom_ui_->RegisterMessageCallback("setDoublePref", - NewCallback(this, &MockCoreOptionsHandler ::HandleSetDoublePref)); - dom_ui_->RegisterMessageCallback("setStringPref", - NewCallback(this, &MockCoreOptionsHandler ::HandleSetStringPref)); - dom_ui_->RegisterMessageCallback("setObjectPref", - NewCallback(this, &MockCoreOptionsHandler ::HandleSetObjectPref)); - dom_ui_->RegisterMessageCallback("clearPref", - NewCallback(this, &MockCoreOptionsHandler ::HandleClearPref)); - dom_ui_->RegisterMessageCallback("coreOptionsUserMetricsAction", - NewCallback(this, &MockCoreOptionsHandler ::HandleUserMetricsAction)); - } -}; - -class SettingsDOMUITest : public DOMUITest { - protected: - virtual DOMMessageHandler* GetMockMessageHandler() { - return &mock_core_options_handler_; - } - - StrictMock<MockCoreOptionsHandler> mock_core_options_handler_; -}; - -// Test the end to end js to DOMUI handler code path for -// the message setBooleanPref. -// TODO(dtseng): add more EXPECT_CALL's when updating js test. -IN_PROC_BROWSER_TEST_F(SettingsDOMUITest, TestSetBooleanPrefTriggers) { - // This serves as an example of a very constrained test. - ListValue true_list_value; - true_list_value.Append(Value::CreateStringValue("browser.show_home_button")); - true_list_value.Append(Value::CreateStringValue("true")); - true_list_value.Append( - Value::CreateStringValue("Options_Homepage_HomeButton")); - ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUISettingsURL)); - EXPECT_CALL(mock_core_options_handler_, - HandleSetBooleanPref(Eq_ListValue(&true_list_value))); - ASSERT_TRUE(RunDOMUITest( - FILE_PATH_LITERAL("settings_set_boolean_pref_triggers.js"))); -}
\ No newline at end of file diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index de1baf6..dee53e1 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -2066,7 +2066,6 @@ 'browser/dom_ui/dom_ui_handler_browsertest.h', 'browser/dom_ui/file_browse_browsertest.cc', 'browser/dom_ui/mediaplayer_browsertest.cc', - 'browser/dom_ui/settings_browsertest.cc', 'browser/download/download_browsertest.cc', 'browser/download/save_page_browsertest.cc', 'browser/extensions/alert_apitest.cc', diff --git a/chrome/test/data/dom_ui/settings_set_boolean_pref_triggers.js b/chrome/test/data/dom_ui/settings_set_boolean_pref_triggers.js deleted file mode 100644 index c3d1d6d..0000000 --- a/chrome/test/data/dom_ui/settings_set_boolean_pref_triggers.js +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -runTests([ -function() { - // TODO(dtseng): make generic to click all buttons. - var showHomeButton = $('toolbarShowHomeButton'); - assertTrue(showHomeButton != null); - showHomeButton.click(); - showHomeButton.blur(); -} -]); |