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

Unified Diff: chrome/renderer/print_web_view_helper_browsertest.cc

Issue 7740005: Print preview not showing if default print is invalid. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Update per code review Created 9 years, 4 months 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
Index: chrome/renderer/print_web_view_helper_browsertest.cc
diff --git a/chrome/renderer/print_web_view_helper_browsertest.cc b/chrome/renderer/print_web_view_helper_browsertest.cc
index 372123ffd5b36f4bea12fc29b914adca634db8a4..1a07f32062780e9f476c4ea17cde11653ca9f7a9 100644
--- a/chrome/renderer/print_web_view_helper_browsertest.cc
+++ b/chrome/renderer/print_web_view_helper_browsertest.cc
@@ -345,6 +345,13 @@ class PrintWebViewHelperPreviewTest : public PrintWebViewHelperTestBase {
EXPECT_EQ(did_fail, print_failed);
}
+ void VerifyPrintPreviewInvalidPrinterSettings(bool settings_invalid) {
+ bool print_preview_invalid_printer_settings =
+ (render_thread_.sink().GetUniqueMessageMatching(
+ PrintHostMsg_PrintPreviewInvalidPrinterSettings::ID) != NULL);
+ EXPECT_EQ(settings_invalid, print_preview_invalid_printer_settings);
+ }
+
DISALLOW_COPY_AND_ASSIGN(PrintWebViewHelperPreviewTest);
};
@@ -428,4 +435,34 @@ TEST_F(PrintWebViewHelperPreviewTest, OnPrintForPrintPreviewFail) {
VerifyPrintFailed(true);
VerifyPagesPrinted(false);
}
+
+// Tests that printing from invalid printer settings fails and receiving error
+// messages through that channel all works.
+TEST_F(PrintWebViewHelperPreviewTest, OnPrintPreviewInvalidSettingsFail) {
kmadhusu 2011/08/26 18:50:40 You also need a separate test to verify "OnPrintFo
arthurhsu 2011/08/29 22:53:16 Done.
+ LoadHTML(kPrintPreviewHTML);
+
+ PrintWebViewHelper::Get(view_)->OnInitiatePrintPreview();
+
+ // Set mock printer to provide invalid settings.
kmadhusu 2011/08/26 18:50:40 The purpose of orig_params and wrong_params is not
arthurhsu 2011/08/29 22:53:16 Done.
+ PrintMsg_Print_Params orig_params, wrong_params;
+
+ render_thread_.printer()->GetDefaultPrintSettings(&orig_params);
+ render_thread_.printer()->SetBadSettings(true);
+ render_thread_.printer()->SetDefaultPrintSettings(wrong_params);
+ render_thread_.printer()->ResetPrinter();
+
+ // Fill in some dummy values.
+ DictionaryValue dict;
+ CreatePrintSettingsDictionary(&dict);
+ PrintWebViewHelper::Get(view_)->OnPrintPreview(dict);
+
+ VerifyPrintPreviewInvalidPrinterSettings(true);
+ VerifyPrintFailed(false);
kmadhusu 2011/08/26 18:50:40 We are verifying that the print preview failed.
arthurhsu 2011/08/29 22:53:16 Done.
+ VerifyPagesPrinted(false);
+
+ render_thread_.printer()->SetBadSettings(false);
+ render_thread_.printer()->SetDefaultPrintSettings(orig_params);
+ render_thread_.printer()->ResetPrinter();
+}
+
#endif // !defined(OS_CHROMEOS)
« chrome/renderer/print_web_view_helper.cc ('K') | « chrome/renderer/print_web_view_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698