| Index: chrome/browser/tab_contents/render_view_context_menu_browsertest.cc
|
| ===================================================================
|
| --- chrome/browser/tab_contents/render_view_context_menu_browsertest.cc (revision 0)
|
| +++ chrome/browser/tab_contents/render_view_context_menu_browsertest.cc (revision 0)
|
| @@ -0,0 +1,82 @@
|
| +// 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 <string>
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/string16.h"
|
| +#include "base/utf_string_conversions.h"
|
| +#include "chrome/app/chrome_command_ids.h"
|
| +#include "chrome/browser/tab_contents/render_view_context_menu.h"
|
| +#include "chrome/browser/ui/browser.h"
|
| +#include "chrome/test/base/in_process_browser_test.h"
|
| +#include "chrome/test/base/ui_test_utils.h"
|
| +#include "content/browser/tab_contents/tab_contents.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebContextMenuData.h"
|
| +
|
| +namespace {
|
| +
|
| +class TestRenderViewContextMenu : public RenderViewContextMenu {
|
| + public:
|
| + TestRenderViewContextMenu(TabContents* tab_contents, ContextMenuParams params)
|
| + : RenderViewContextMenu(tab_contents, params) { }
|
| +
|
| + virtual void PlatformInit() { }
|
| + virtual bool GetAcceleratorForCommandId(
|
| + int command_id,
|
| + ui::Accelerator* accelerator) {
|
| + return false;
|
| + }
|
| +
|
| + bool IsItemPresent(int command_id) {
|
| + return menu_model_.GetIndexOfCommandId(command_id) != -1;
|
| + }
|
| +};
|
| +
|
| +class ContextMenuBrowserTest : public InProcessBrowserTest {
|
| + public:
|
| + ContextMenuBrowserTest() { }
|
| +
|
| + TestRenderViewContextMenu* CreateContextMenu(GURL unfiltered_url, GURL url) {
|
| + ContextMenuParams params;
|
| + params.media_type = WebKit::WebContextMenuData::MediaTypeNone;
|
| + params.unfiltered_link_url = unfiltered_url;
|
| + params.link_url = url;
|
| + TabContents* tab_contents = browser()->GetSelectedTabContents();
|
| + params.page_url = tab_contents->controller().GetActiveEntry()->url();
|
| +#if defined(OS_MACOSX)
|
| + params.writing_direction_default = 0;
|
| + params.writing_direction_left_to_right = 0;
|
| + params.writing_direction_right_to_left = 0;
|
| +#endif // OS_MACOSX
|
| + TestRenderViewContextMenu* menu = new TestRenderViewContextMenu(
|
| + browser()->GetSelectedTabContents(), params);
|
| + menu->Init();
|
| + return menu;
|
| + }
|
| +};
|
| +
|
| +IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
|
| + OpenEntryPresentForNormalURLs) {
|
| + scoped_ptr<TestRenderViewContextMenu> menu(
|
| + CreateContextMenu(GURL("http://www.google.com/"),
|
| + GURL("http://www.google.com/")));
|
| +
|
| + ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
|
| + ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
|
| + ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(ContextMenuBrowserTest,
|
| + OpenEntryAbsentForFilteredURLs) {
|
| + scoped_ptr<TestRenderViewContextMenu> menu(
|
| + CreateContextMenu(GURL("chrome://history"),
|
| + GURL()));
|
| +
|
| + ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB));
|
| + ASSERT_FALSE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW));
|
| + ASSERT_TRUE(menu->IsItemPresent(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
|
| +}
|
| +
|
| +} // namespace
|
|
|
| Property changes on: chrome/browser/tab_contents/render_view_context_menu_browsertest.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|