OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
11 #include "base/json/json_string_value_serializer.h" | 11 #include "base/json/json_string_value_serializer.h" |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "base/run_loop.h" | 14 #include "base/run_loop.h" |
| 15 #include "base/strings/string16.h" |
| 16 #include "base/strings/utf_string_conversions.h" |
15 #include "base/values.h" | 17 #include "base/values.h" |
16 #include "chrome/browser/local_discovery/pwg_raster_converter.h" | 18 #include "chrome/browser/local_discovery/pwg_raster_converter.h" |
17 #include "chrome/browser/ui/webui/print_preview/extension_printer_handler.h" | 19 #include "chrome/browser/ui/webui/print_preview/extension_printer_handler.h" |
18 #include "chrome/test/base/testing_profile.h" | 20 #include "chrome/test/base/testing_profile.h" |
19 #include "extensions/browser/api/printer_provider/printer_provider_api.h" | 21 #include "extensions/browser/api/printer_provider/printer_provider_api.h" |
20 #include "extensions/browser/api/printer_provider/printer_provider_api_factory.h
" | 22 #include "extensions/browser/api/printer_provider/printer_provider_api_factory.h
" |
21 #include "extensions/browser/api/printer_provider/printer_provider_print_job.h" | 23 #include "extensions/browser/api/printer_provider/printer_provider_print_job.h" |
22 #include "printing/pdf_render_settings.h" | 24 #include "printing/pdf_render_settings.h" |
23 #include "printing/pwg_raster_settings.h" | 25 #include "printing/pwg_raster_settings.h" |
24 #include "printing/units.h" | 26 #include "printing/units.h" |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 } | 507 } |
506 | 508 |
507 TEST_F(ExtensionPrinterHandlerTest, Print_Pdf) { | 509 TEST_F(ExtensionPrinterHandlerTest, Print_Pdf) { |
508 size_t call_count = 0; | 510 size_t call_count = 0; |
509 bool success = false; | 511 bool success = false; |
510 std::string status; | 512 std::string status; |
511 | 513 |
512 scoped_refptr<base::RefCountedString> print_data( | 514 scoped_refptr<base::RefCountedString> print_data( |
513 new base::RefCountedString()); | 515 new base::RefCountedString()); |
514 print_data->data() = "print data, PDF"; | 516 print_data->data() = "print data, PDF"; |
| 517 base::string16 title = base::ASCIIToUTF16("Title"); |
515 | 518 |
516 extension_printer_handler_->StartPrint( | 519 extension_printer_handler_->StartPrint( |
517 kPrinterId, kPdfSupportedPrinter, kEmptyPrintTicket, gfx::Size(100, 100), | 520 kPrinterId, kPdfSupportedPrinter, title, kEmptyPrintTicket, |
518 print_data, | 521 gfx::Size(100, 100), print_data, |
519 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 522 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
520 | 523 |
521 EXPECT_EQ(0u, call_count); | 524 EXPECT_EQ(0u, call_count); |
522 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 525 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
523 ASSERT_TRUE(fake_api); | 526 ASSERT_TRUE(fake_api); |
524 ASSERT_EQ(1u, fake_api->pending_print_count()); | 527 ASSERT_EQ(1u, fake_api->pending_print_count()); |
525 | 528 |
526 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); | 529 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
527 ASSERT_TRUE(print_job); | 530 ASSERT_TRUE(print_job); |
528 | 531 |
529 EXPECT_EQ(kPrinterId, print_job->printer_id); | 532 EXPECT_EQ(kPrinterId, print_job->printer_id); |
| 533 EXPECT_EQ(title, print_job->job_title); |
530 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); | 534 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); |
531 EXPECT_EQ(kContentTypePDF, print_job->content_type); | 535 EXPECT_EQ(kContentTypePDF, print_job->content_type); |
532 EXPECT_TRUE(print_job->document_path.empty()); | 536 EXPECT_TRUE(print_job->document_path.empty()); |
533 ASSERT_TRUE(print_job->document_bytes); | 537 ASSERT_TRUE(print_job->document_bytes); |
534 EXPECT_EQ(print_data->data(), | 538 EXPECT_EQ(print_data->data(), |
535 RefCountedMemoryToString(print_job->document_bytes)); | 539 RefCountedMemoryToString(print_job->document_bytes)); |
536 | 540 |
537 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 541 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
538 | 542 |
539 EXPECT_EQ(1u, call_count); | 543 EXPECT_EQ(1u, call_count); |
540 EXPECT_TRUE(success); | 544 EXPECT_TRUE(success); |
541 EXPECT_EQ(kPrintRequestSuccess, status); | 545 EXPECT_EQ(kPrintRequestSuccess, status); |
542 } | 546 } |
543 | 547 |
544 TEST_F(ExtensionPrinterHandlerTest, Print_Pdf_Reset) { | 548 TEST_F(ExtensionPrinterHandlerTest, Print_Pdf_Reset) { |
545 size_t call_count = 0; | 549 size_t call_count = 0; |
546 bool success = false; | 550 bool success = false; |
547 std::string status; | 551 std::string status; |
548 | 552 |
549 scoped_refptr<base::RefCountedString> print_data( | 553 scoped_refptr<base::RefCountedString> print_data( |
550 new base::RefCountedString()); | 554 new base::RefCountedString()); |
551 print_data->data() = "print data, PDF"; | 555 print_data->data() = "print data, PDF"; |
| 556 base::string16 title = base::ASCIIToUTF16("Title"); |
552 | 557 |
553 extension_printer_handler_->StartPrint( | 558 extension_printer_handler_->StartPrint( |
554 kPrinterId, kPdfSupportedPrinter, kEmptyPrintTicket, gfx::Size(100, 100), | 559 kPrinterId, kPdfSupportedPrinter, title, kEmptyPrintTicket, |
555 print_data, | 560 gfx::Size(100, 100), print_data, |
556 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 561 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
557 | 562 |
558 EXPECT_EQ(0u, call_count); | 563 EXPECT_EQ(0u, call_count); |
559 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 564 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
560 ASSERT_TRUE(fake_api); | 565 ASSERT_TRUE(fake_api); |
561 ASSERT_EQ(1u, fake_api->pending_print_count()); | 566 ASSERT_EQ(1u, fake_api->pending_print_count()); |
562 | 567 |
563 extension_printer_handler_->Reset(); | 568 extension_printer_handler_->Reset(); |
564 | 569 |
565 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 570 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
566 | 571 |
567 EXPECT_EQ(0u, call_count); | 572 EXPECT_EQ(0u, call_count); |
568 } | 573 } |
569 | 574 |
570 TEST_F(ExtensionPrinterHandlerTest, Print_All) { | 575 TEST_F(ExtensionPrinterHandlerTest, Print_All) { |
571 size_t call_count = 0; | 576 size_t call_count = 0; |
572 bool success = false; | 577 bool success = false; |
573 std::string status; | 578 std::string status; |
574 | 579 |
575 scoped_refptr<base::RefCountedString> print_data( | 580 scoped_refptr<base::RefCountedString> print_data( |
576 new base::RefCountedString()); | 581 new base::RefCountedString()); |
577 print_data->data() = "print data, PDF"; | 582 print_data->data() = "print data, PDF"; |
| 583 base::string16 title = base::ASCIIToUTF16("Title"); |
578 | 584 |
579 extension_printer_handler_->StartPrint( | 585 extension_printer_handler_->StartPrint( |
580 kPrinterId, kAllContentTypesSupportedPrinter, kEmptyPrintTicket, | 586 kPrinterId, kAllContentTypesSupportedPrinter, title, kEmptyPrintTicket, |
581 gfx::Size(100, 100), print_data, | 587 gfx::Size(100, 100), print_data, |
582 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 588 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
583 | 589 |
584 EXPECT_EQ(0u, call_count); | 590 EXPECT_EQ(0u, call_count); |
585 | 591 |
586 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 592 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
587 ASSERT_TRUE(fake_api); | 593 ASSERT_TRUE(fake_api); |
588 ASSERT_EQ(1u, fake_api->pending_print_count()); | 594 ASSERT_EQ(1u, fake_api->pending_print_count()); |
589 | 595 |
590 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); | 596 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
591 ASSERT_TRUE(print_job); | 597 ASSERT_TRUE(print_job); |
592 | 598 |
593 EXPECT_EQ(kPrinterId, print_job->printer_id); | 599 EXPECT_EQ(kPrinterId, print_job->printer_id); |
| 600 EXPECT_EQ(title, print_job->job_title); |
594 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); | 601 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); |
595 EXPECT_EQ(kContentTypePDF, print_job->content_type); | 602 EXPECT_EQ(kContentTypePDF, print_job->content_type); |
596 EXPECT_TRUE(print_job->document_path.empty()); | 603 EXPECT_TRUE(print_job->document_path.empty()); |
597 ASSERT_TRUE(print_job->document_bytes); | 604 ASSERT_TRUE(print_job->document_bytes); |
598 EXPECT_EQ(print_data->data(), | 605 EXPECT_EQ(print_data->data(), |
599 RefCountedMemoryToString(print_job->document_bytes)); | 606 RefCountedMemoryToString(print_job->document_bytes)); |
600 | 607 |
601 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 608 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
602 | 609 |
603 EXPECT_EQ(1u, call_count); | 610 EXPECT_EQ(1u, call_count); |
604 EXPECT_TRUE(success); | 611 EXPECT_TRUE(success); |
605 EXPECT_EQ(kPrintRequestSuccess, status); | 612 EXPECT_EQ(kPrintRequestSuccess, status); |
606 } | 613 } |
607 | 614 |
608 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg) { | 615 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg) { |
609 size_t call_count = 0; | 616 size_t call_count = 0; |
610 bool success = false; | 617 bool success = false; |
611 std::string status; | 618 std::string status; |
612 | 619 |
613 scoped_refptr<base::RefCountedString> print_data( | 620 scoped_refptr<base::RefCountedString> print_data( |
614 new base::RefCountedString()); | 621 new base::RefCountedString()); |
615 print_data->data() = "print data, PDF"; | 622 print_data->data() = "print data, PDF"; |
| 623 base::string16 title = base::ASCIIToUTF16("Title"); |
616 | 624 |
617 extension_printer_handler_->StartPrint( | 625 extension_printer_handler_->StartPrint( |
618 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, kEmptyPrintTicket, | 626 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, |
619 gfx::Size(100, 50), print_data, | 627 kEmptyPrintTicket, gfx::Size(100, 50), print_data, |
620 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 628 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
621 | 629 |
622 EXPECT_EQ(0u, call_count); | 630 EXPECT_EQ(0u, call_count); |
623 | 631 |
624 base::RunLoop().RunUntilIdle(); | 632 base::RunLoop().RunUntilIdle(); |
625 | 633 |
626 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 634 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
627 ASSERT_TRUE(fake_api); | 635 ASSERT_TRUE(fake_api); |
628 ASSERT_EQ(1u, fake_api->pending_print_count()); | 636 ASSERT_EQ(1u, fake_api->pending_print_count()); |
629 | 637 |
630 EXPECT_EQ(printing::TRANSFORM_NORMAL, | 638 EXPECT_EQ(printing::TRANSFORM_NORMAL, |
631 pwg_raster_converter_->bitmap_settings().odd_page_transform); | 639 pwg_raster_converter_->bitmap_settings().odd_page_transform); |
632 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); | 640 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); |
633 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().reverse_page_order); | 641 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().reverse_page_order); |
634 | 642 |
635 EXPECT_EQ(printing::kDefaultPdfDpi, | 643 EXPECT_EQ(printing::kDefaultPdfDpi, |
636 pwg_raster_converter_->conversion_settings().dpi()); | 644 pwg_raster_converter_->conversion_settings().dpi()); |
637 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); | 645 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); |
638 EXPECT_EQ("0,0 208x416", // vertically_oriented_size * dpi / points_per_inch | 646 EXPECT_EQ("0,0 208x416", // vertically_oriented_size * dpi / points_per_inch |
639 pwg_raster_converter_->conversion_settings().area().ToString()); | 647 pwg_raster_converter_->conversion_settings().area().ToString()); |
640 | 648 |
641 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); | 649 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
642 ASSERT_TRUE(print_job); | 650 ASSERT_TRUE(print_job); |
643 | 651 |
644 EXPECT_EQ(kPrinterId, print_job->printer_id); | 652 EXPECT_EQ(kPrinterId, print_job->printer_id); |
| 653 EXPECT_EQ(title, print_job->job_title); |
645 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); | 654 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); |
646 EXPECT_EQ(kContentTypePWG, print_job->content_type); | 655 EXPECT_EQ(kContentTypePWG, print_job->content_type); |
647 EXPECT_FALSE(print_job->document_bytes); | 656 EXPECT_FALSE(print_job->document_bytes); |
648 EXPECT_FALSE(print_job->document_path.empty()); | 657 EXPECT_FALSE(print_job->document_path.empty()); |
649 EXPECT_EQ(pwg_raster_converter_->path(), print_job->document_path); | 658 EXPECT_EQ(pwg_raster_converter_->path(), print_job->document_path); |
650 EXPECT_EQ(static_cast<int64_t>(print_data->size()), | 659 EXPECT_EQ(static_cast<int64_t>(print_data->size()), |
651 print_job->file_info.size); | 660 print_job->file_info.size); |
652 | 661 |
653 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 662 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
654 | 663 |
655 EXPECT_EQ(1u, call_count); | 664 EXPECT_EQ(1u, call_count); |
656 EXPECT_TRUE(success); | 665 EXPECT_TRUE(success); |
657 EXPECT_EQ(kPrintRequestSuccess, status); | 666 EXPECT_EQ(kPrintRequestSuccess, status); |
658 } | 667 } |
659 | 668 |
660 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_NonDefaultSettings) { | 669 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_NonDefaultSettings) { |
661 size_t call_count = 0; | 670 size_t call_count = 0; |
662 bool success = false; | 671 bool success = false; |
663 std::string status; | 672 std::string status; |
664 | 673 |
665 scoped_refptr<base::RefCountedString> print_data( | 674 scoped_refptr<base::RefCountedString> print_data( |
666 new base::RefCountedString()); | 675 new base::RefCountedString()); |
667 print_data->data() = "print data, PDF"; | 676 print_data->data() = "print data, PDF"; |
| 677 base::string16 title = base::ASCIIToUTF16("Title"); |
668 | 678 |
669 extension_printer_handler_->StartPrint( | 679 extension_printer_handler_->StartPrint( |
670 kPrinterId, kPWGRasterOnlyPrinter, kPrintTicketWithDuplex, | 680 kPrinterId, kPWGRasterOnlyPrinter, title, kPrintTicketWithDuplex, |
671 gfx::Size(100, 50), print_data, | 681 gfx::Size(100, 50), print_data, |
672 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 682 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
673 | 683 |
674 EXPECT_EQ(0u, call_count); | 684 EXPECT_EQ(0u, call_count); |
675 | 685 |
676 base::RunLoop().RunUntilIdle(); | 686 base::RunLoop().RunUntilIdle(); |
677 | 687 |
678 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 688 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
679 ASSERT_TRUE(fake_api); | 689 ASSERT_TRUE(fake_api); |
680 ASSERT_EQ(1u, fake_api->pending_print_count()); | 690 ASSERT_EQ(1u, fake_api->pending_print_count()); |
681 | 691 |
682 EXPECT_EQ(printing::TRANSFORM_FLIP_VERTICAL, | 692 EXPECT_EQ(printing::TRANSFORM_FLIP_VERTICAL, |
683 pwg_raster_converter_->bitmap_settings().odd_page_transform); | 693 pwg_raster_converter_->bitmap_settings().odd_page_transform); |
684 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); | 694 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); |
685 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().reverse_page_order); | 695 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().reverse_page_order); |
686 | 696 |
687 EXPECT_EQ(200, // max(vertical_dpi, horizontal_dpi) | 697 EXPECT_EQ(200, // max(vertical_dpi, horizontal_dpi) |
688 pwg_raster_converter_->conversion_settings().dpi()); | 698 pwg_raster_converter_->conversion_settings().dpi()); |
689 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); | 699 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); |
690 EXPECT_EQ("0,0 138x277", // vertically_oriented_size * dpi / points_per_inch | 700 EXPECT_EQ("0,0 138x277", // vertically_oriented_size * dpi / points_per_inch |
691 pwg_raster_converter_->conversion_settings().area().ToString()); | 701 pwg_raster_converter_->conversion_settings().area().ToString()); |
692 | 702 |
693 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); | 703 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
694 ASSERT_TRUE(print_job); | 704 ASSERT_TRUE(print_job); |
695 | 705 |
696 EXPECT_EQ(kPrinterId, print_job->printer_id); | 706 EXPECT_EQ(kPrinterId, print_job->printer_id); |
| 707 EXPECT_EQ(title, print_job->job_title); |
697 EXPECT_EQ(kPrintTicketWithDuplex, print_job->ticket_json); | 708 EXPECT_EQ(kPrintTicketWithDuplex, print_job->ticket_json); |
698 EXPECT_EQ(kContentTypePWG, print_job->content_type); | 709 EXPECT_EQ(kContentTypePWG, print_job->content_type); |
699 EXPECT_FALSE(print_job->document_bytes); | 710 EXPECT_FALSE(print_job->document_bytes); |
700 EXPECT_FALSE(print_job->document_path.empty()); | 711 EXPECT_FALSE(print_job->document_path.empty()); |
701 EXPECT_EQ(pwg_raster_converter_->path(), print_job->document_path); | 712 EXPECT_EQ(pwg_raster_converter_->path(), print_job->document_path); |
702 EXPECT_EQ(static_cast<int64_t>(print_data->size()), | 713 EXPECT_EQ(static_cast<int64_t>(print_data->size()), |
703 print_job->file_info.size); | 714 print_job->file_info.size); |
704 | 715 |
705 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 716 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
706 | 717 |
707 EXPECT_EQ(1u, call_count); | 718 EXPECT_EQ(1u, call_count); |
708 EXPECT_TRUE(success); | 719 EXPECT_TRUE(success); |
709 EXPECT_EQ(kPrintRequestSuccess, status); | 720 EXPECT_EQ(kPrintRequestSuccess, status); |
710 } | 721 } |
711 | 722 |
712 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_Reset) { | 723 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_Reset) { |
713 size_t call_count = 0; | 724 size_t call_count = 0; |
714 bool success = false; | 725 bool success = false; |
715 std::string status; | 726 std::string status; |
716 | 727 |
717 scoped_refptr<base::RefCountedString> print_data( | 728 scoped_refptr<base::RefCountedString> print_data( |
718 new base::RefCountedString()); | 729 new base::RefCountedString()); |
719 print_data->data() = "print data, PDF"; | 730 print_data->data() = "print data, PDF"; |
| 731 base::string16 title = base::ASCIIToUTF16("Title"); |
720 | 732 |
721 extension_printer_handler_->StartPrint( | 733 extension_printer_handler_->StartPrint( |
722 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, kEmptyPrintTicket, | 734 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, |
723 gfx::Size(100, 50), print_data, | 735 kEmptyPrintTicket, gfx::Size(100, 50), print_data, |
724 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 736 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
725 | 737 |
726 EXPECT_EQ(0u, call_count); | 738 EXPECT_EQ(0u, call_count); |
727 | 739 |
728 base::RunLoop().RunUntilIdle(); | 740 base::RunLoop().RunUntilIdle(); |
729 | 741 |
730 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 742 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
731 ASSERT_TRUE(fake_api); | 743 ASSERT_TRUE(fake_api); |
732 ASSERT_EQ(1u, fake_api->pending_print_count()); | 744 ASSERT_EQ(1u, fake_api->pending_print_count()); |
733 | 745 |
734 extension_printer_handler_->Reset(); | 746 extension_printer_handler_->Reset(); |
735 | 747 |
736 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 748 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
737 | 749 |
738 EXPECT_EQ(0u, call_count); | 750 EXPECT_EQ(0u, call_count); |
739 } | 751 } |
740 | 752 |
741 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_InvalidTicket) { | 753 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_InvalidTicket) { |
742 size_t call_count = 0; | 754 size_t call_count = 0; |
743 bool success = false; | 755 bool success = false; |
744 std::string status; | 756 std::string status; |
745 | 757 |
746 scoped_refptr<base::RefCountedString> print_data( | 758 scoped_refptr<base::RefCountedString> print_data( |
747 new base::RefCountedString()); | 759 new base::RefCountedString()); |
748 print_data->data() = "print data, PDF"; | 760 print_data->data() = "print data, PDF"; |
| 761 base::string16 title = base::ASCIIToUTF16("Title"); |
749 | 762 |
750 extension_printer_handler_->StartPrint( | 763 extension_printer_handler_->StartPrint( |
751 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, "{}" /* ticket */, | 764 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, |
752 gfx::Size(100, 100), print_data, | 765 "{}" /* ticket */, gfx::Size(100, 100), print_data, |
753 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 766 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
754 | 767 |
755 EXPECT_EQ(1u, call_count); | 768 EXPECT_EQ(1u, call_count); |
756 | 769 |
757 EXPECT_FALSE(success); | 770 EXPECT_FALSE(success); |
758 EXPECT_EQ("INVALID_TICKET", status); | 771 EXPECT_EQ("INVALID_TICKET", status); |
759 } | 772 } |
760 | 773 |
761 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_FailedConversion) { | 774 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_FailedConversion) { |
762 size_t call_count = 0; | 775 size_t call_count = 0; |
763 bool success = false; | 776 bool success = false; |
764 std::string status; | 777 std::string status; |
765 | 778 |
766 pwg_raster_converter_->FailConversion(); | 779 pwg_raster_converter_->FailConversion(); |
767 | 780 |
768 scoped_refptr<base::RefCountedString> print_data( | 781 scoped_refptr<base::RefCountedString> print_data( |
769 new base::RefCountedString()); | 782 new base::RefCountedString()); |
770 print_data->data() = "print data, PDF"; | 783 print_data->data() = "print data, PDF"; |
| 784 base::string16 title = base::ASCIIToUTF16("Title"); |
771 | 785 |
772 extension_printer_handler_->StartPrint( | 786 extension_printer_handler_->StartPrint( |
773 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, kEmptyPrintTicket, | 787 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, |
774 gfx::Size(100, 100), print_data, | 788 kEmptyPrintTicket, gfx::Size(100, 100), print_data, |
775 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 789 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
776 | 790 |
777 EXPECT_EQ(1u, call_count); | 791 EXPECT_EQ(1u, call_count); |
778 | 792 |
779 EXPECT_FALSE(success); | 793 EXPECT_FALSE(success); |
780 EXPECT_EQ("INVALID_DATA", status); | 794 EXPECT_EQ("INVALID_DATA", status); |
781 } | 795 } |
OLD | NEW |