Chromium Code Reviews| 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) |