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..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) |