| 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 abc34d5a5e3305faf55fd3ddcf57ecce8aeda283..2566e169e995e38406ce39be5ef96442a7af562c 100644
|
| --- a/chrome/renderer/print_web_view_helper_browsertest.cc
|
| +++ b/chrome/renderer/print_web_view_helper_browsertest.cc
|
| @@ -346,6 +346,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);
|
| + }
|
| +
|
| // |page_number| is 0-based.
|
| void VerifyDidPreviewPage(bool generate_draft_pages, int page_number) {
|
| bool msg_found = false;
|
| @@ -485,4 +492,45 @@ 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,
|
| + OnPrintPreviewUsingInvalidPrinterSettings) {
|
| + LoadHTML(kPrintPreviewHTML);
|
| +
|
| + PrintWebViewHelper::Get(view_)->OnInitiatePrintPreview();
|
| +
|
| + // Set mock printer to provide invalid settings.
|
| + render_thread_.printer()->UseInvalidSettings();
|
| +
|
| + // 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());
|
| +
|
| + // It should receive the invalid printer settings message only.
|
| + VerifyPrintPreviewFailed(false);
|
| + VerifyPrintPreviewGenerated(false);
|
| +}
|
| +
|
| +TEST_F(PrintWebViewHelperPreviewTest,
|
| + OnPrintForPrintPreviewUsingInvalidPrinterSettings) {
|
| + LoadHTML(kPrintPreviewHTML);
|
| +
|
| + // Set mock printer to provide invalid settings.
|
| + render_thread_.printer()->UseInvalidSettings();
|
| +
|
| + // Fill in some dummy values.
|
| + DictionaryValue dict;
|
| + CreatePrintSettingsDictionary(&dict);
|
| + PrintWebViewHelper::Get(view_)->OnPrintForPrintPreview(dict);
|
| +
|
| + VerifyPagesPrinted(false);
|
| +}
|
| +
|
| #endif // !defined(OS_CHROMEOS)
|
|
|