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

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
« chrome/renderer/mock_printer.h ('K') | « chrome/renderer/print_web_view_helper.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..2af3c919f748507a45d66551ee5b41a3cd88e95a 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,46 @@ TEST_F(PrintWebViewHelperPreviewTest, OnPrintForPrintPreviewFail) {
VerifyPrintFailed(true);
VerifyPagesPrinted(false);
}
+
+// Tests that when default printer has invalid printer settings, print preview
+// receives error message.
+TEST_F(PrintWebViewHelperPreviewTest, OnPrintPreviewInvalidDefaultPrinter) {
kmadhusu 2011/08/30 02:11:27 How about? OnPrintPreviewInvalidDefaultPrinter =
arthurhsu 2011/08/30 20:43:03 Done.
+ LoadHTML(kPrintPreviewHTML);
+
+ PrintWebViewHelper::Get(view_)->OnInitiatePrintPreview();
+
+ // Set mock printer to provide invalid settings.
+ render_thread_.printer()->UseInvalidSettings();
+ render_thread_.printer()->ResetPrinter();
+
+ // Fill in some dummy values.
+ DictionaryValue dict;
+ CreatePrintSettingsDictionary(&dict);
+ PrintWebViewHelper::Get(view_)->OnPrintPreview(dict);
+
+ // We should have received invalid printer settings from |printer_|.
+ VerifyPrintPreviewInvalidPrinterSettings(true);
+ EXPECT_EQ(0, render_thread_.print_preview_pages_remaining());
kmadhusu 2011/08/30 02:11:27 print_preview_pages_remaining() return 1 because w
arthurhsu 2011/08/30 20:43:03 It should be zero since it can't tell how many pag
+
+ // It should receive the invalid printer settings message only.
+ VerifyPrintPreviewFailed(false);
+
+ VerifyPrintPreviewGenerated(false);
kmadhusu 2011/08/30 02:11:27 nit: Remove the blank line above this statement.
arthurhsu 2011/08/30 20:43:03 Done.
+}
+
+TEST_F(PrintWebViewHelperPreviewTest, OnPrintForPrintPreviewInvalidPrinter) {
kmadhusu 2011/08/30 02:11:27 How about? OnPrintForPrintPreviewInvalidPrinter =
arthurhsu 2011/08/30 20:43:03 Done.
+ LoadHTML(kPrintPreviewHTML);
+
+ // Set mock printer to provide invalid settings.
+ render_thread_.printer()->UseInvalidSettings();
+ render_thread_.printer()->ResetPrinter();
kmadhusu 2011/08/30 02:11:27 Is ResetPrinter() required? I think mockprinter is
arthurhsu 2011/08/30 20:43:03 Done.
+
+ // Fill in some dummy values.
+ DictionaryValue dict;
+ CreatePrintSettingsDictionary(&dict);
+ PrintWebViewHelper::Get(view_)->OnPrintForPrintPreview(dict);
+
+ VerifyPagesPrinted(false);
+}
+
#endif // !defined(OS_CHROMEOS)
« chrome/renderer/mock_printer.h ('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