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