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

Side by Side 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, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/chrome_switches.h" 5 #include "chrome/common/chrome_switches.h"
6 #include "chrome/common/print_messages.h" 6 #include "chrome/common/print_messages.h"
7 #include "chrome/renderer/print_web_view_helper.h" 7 #include "chrome/renderer/print_web_view_helper.h"
8 #include "chrome/test/base/render_view_test.h" 8 #include "chrome/test/base/render_view_test.h"
9 #include "printing/print_job_constants.h" 9 #include "printing/print_job_constants.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 EXPECT_NE(0U, preview_param.a.data_size); 338 EXPECT_NE(0U, preview_param.a.data_size);
339 } 339 }
340 } 340 }
341 341
342 void VerifyPrintFailed(bool did_fail) { 342 void VerifyPrintFailed(bool did_fail) {
343 bool print_failed = (render_thread_.sink().GetUniqueMessageMatching( 343 bool print_failed = (render_thread_.sink().GetUniqueMessageMatching(
344 PrintHostMsg_PrintingFailed::ID) != NULL); 344 PrintHostMsg_PrintingFailed::ID) != NULL);
345 EXPECT_EQ(did_fail, print_failed); 345 EXPECT_EQ(did_fail, print_failed);
346 } 346 }
347 347
348 void VerifyPrintPreviewInvalidPrinterSettings(bool settings_invalid) {
349 bool print_preview_invalid_printer_settings =
350 (render_thread_.sink().GetUniqueMessageMatching(
351 PrintHostMsg_PrintPreviewInvalidPrinterSettings::ID) != NULL);
352 EXPECT_EQ(settings_invalid, print_preview_invalid_printer_settings);
353 }
354
348 DISALLOW_COPY_AND_ASSIGN(PrintWebViewHelperPreviewTest); 355 DISALLOW_COPY_AND_ASSIGN(PrintWebViewHelperPreviewTest);
349 }; 356 };
350 357
351 // Tests that print preview work and sending and receiving messages through 358 // Tests that print preview work and sending and receiving messages through
352 // that channel all works. 359 // that channel all works.
353 TEST_F(PrintWebViewHelperPreviewTest, OnPrintPreview) { 360 TEST_F(PrintWebViewHelperPreviewTest, OnPrintPreview) {
354 LoadHTML(kHelloWorldHTML); 361 LoadHTML(kHelloWorldHTML);
355 362
356 PrintWebViewHelper::Get(view_)->OnInitiatePrintPreview(); 363 PrintWebViewHelper::Get(view_)->OnInitiatePrintPreview();
357 // Fill in some dummy values. 364 // Fill in some dummy values.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 TEST_F(PrintWebViewHelperPreviewTest, OnPrintForPrintPreviewFail) { 428 TEST_F(PrintWebViewHelperPreviewTest, OnPrintForPrintPreviewFail) {
422 LoadHTML(kPrintPreviewHTML); 429 LoadHTML(kPrintPreviewHTML);
423 430
424 // An empty dictionary should fail. 431 // An empty dictionary should fail.
425 DictionaryValue empty_dict; 432 DictionaryValue empty_dict;
426 PrintWebViewHelper::Get(view_)->OnPrintForPrintPreview(empty_dict); 433 PrintWebViewHelper::Get(view_)->OnPrintForPrintPreview(empty_dict);
427 434
428 VerifyPrintFailed(true); 435 VerifyPrintFailed(true);
429 VerifyPagesPrinted(false); 436 VerifyPagesPrinted(false);
430 } 437 }
438
439 // Tests that printing from invalid printer settings fails and receiving error
440 // messages through that channel all works.
441 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.
442 LoadHTML(kPrintPreviewHTML);
443
444 PrintWebViewHelper::Get(view_)->OnInitiatePrintPreview();
445
446 // 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.
447 PrintMsg_Print_Params orig_params, wrong_params;
448
449 render_thread_.printer()->GetDefaultPrintSettings(&orig_params);
450 render_thread_.printer()->SetBadSettings(true);
451 render_thread_.printer()->SetDefaultPrintSettings(wrong_params);
452 render_thread_.printer()->ResetPrinter();
453
454 // Fill in some dummy values.
455 DictionaryValue dict;
456 CreatePrintSettingsDictionary(&dict);
457 PrintWebViewHelper::Get(view_)->OnPrintPreview(dict);
458
459 VerifyPrintPreviewInvalidPrinterSettings(true);
460 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.
461 VerifyPagesPrinted(false);
462
463 render_thread_.printer()->SetBadSettings(false);
464 render_thread_.printer()->SetDefaultPrintSettings(orig_params);
465 render_thread_.printer()->ResetPrinter();
466 }
467
431 #endif // !defined(OS_CHROMEOS) 468 #endif // !defined(OS_CHROMEOS)
OLDNEW
« 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