Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2874)

Unified Diff: chrome/browser/cocoa/bug_report_window_controller_unittest.mm

Issue 340039: Add "Report Bug" dialog to Mac OSX.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/bug_report_window_controller.mm ('k') | chrome/chrome.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/bug_report_window_controller_unittest.mm
===================================================================
--- chrome/browser/cocoa/bug_report_window_controller_unittest.mm (revision 0)
+++ chrome/browser/cocoa/bug_report_window_controller_unittest.mm (revision 0)
@@ -0,0 +1,71 @@
+// Copyright (c) 2009 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.
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/ref_counted.h"
+#import "chrome/browser/cocoa/bug_report_window_controller.h"
+#include "chrome/browser/renderer_host/site_instance.h"
+#include "chrome/browser/renderer_host/test/test_render_view_host.h"
+#include "chrome/browser/tab_contents/test_tab_contents.h"
+#include "chrome/browser/profile.h"
+
+namespace {
+
+class BugReportWindowControllerUnittest : public RenderViewHostTestHarness {
+};
+
+TEST_F(BugReportWindowControllerUnittest, ReportBugWithNewTabPageOpen) {
+ // Create a "chrome://newtab" test tab. SiteInstance will be deleted when
+ // tabContents is deleted.
+ SiteInstance* instance =
+ SiteInstance::CreateSiteInstance(profile_.get());
+ TestTabContents* tabContents = new TestTabContents(profile_.get(),
+ instance);
+ tabContents->controller().LoadURL(GURL("chrome://newtab"),
+ GURL(), PageTransition::START_PAGE);
+
+ BugReportWindowController* controller = [[BugReportWindowController alloc]
+ initWithTabContents:tabContents
+ profile:profile_.get()];
+
+ // The phishing report bug is stored at index 2 in the Report Bug dialog.
+ [controller setBugType:2];
+ EXPECT_TRUE([controller isPhishingReport]);
+ [controller setBugType:1];
+ EXPECT_FALSE([controller isPhishingReport]);
+
+ // Make sure that the tab was correctly recorded.
+ EXPECT_TRUE([[controller pageURL] isEqualToString:@"chrome://newtab/"]);
+ EXPECT_TRUE([[controller pageTitle] isEqualToString:@"New Tab"]);
+
+ // When we call "report bug" with non-empty tab contents, all menu options
+ // should be available, and we should send screenshot by default.
+ EXPECT_EQ([[controller bugTypeList] count], 8U);
+ EXPECT_TRUE([controller sendScreenshot]);
+
+ delete tabContents;
+ [controller release];
+}
+
+TEST_F(BugReportWindowControllerUnittest, ReportBugWithNoWindowOpen) {
+ BugReportWindowController* controller = [[BugReportWindowController alloc]
+ initWithTabContents:NULL
+ profile:profile_.get()];
+
+ // Make sure that no page title or URL are recorded.
+ EXPECT_TRUE([[controller pageURL] isEqualToString:@""]);
+ EXPECT_TRUE([[controller pageTitle] isEqualToString:@""]);
+
+ // When we call "report bug" with empty tab contents, only menu options
+ // that don't refer to a specific page should be available, and the send
+ // screenshot option should be turned off.
+ EXPECT_EQ([[controller bugTypeList] count], 4U);
+ EXPECT_FALSE([controller sendScreenshot]);
+
+ [controller release];
+}
+
+} // namespace
+
Property changes on: chrome/browser/cocoa/bug_report_window_controller_unittest.mm
___________________________________________________________________
Name: svn:eol-style
+ LF
« no previous file with comments | « chrome/browser/cocoa/bug_report_window_controller.mm ('k') | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698