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 "chrome/browser/ui/webui/print_preview/extension_printer_handler.h" | 5 #include "chrome/browser/ui/webui/print_preview/extension_printer_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 const base::ListValue& printers, | 196 const base::ListValue& printers, |
197 bool is_done) { | 197 bool is_done) { |
198 ++(*call_count); | 198 ++(*call_count); |
199 printers_out->reset(printers.DeepCopy()); | 199 printers_out->reset(printers.DeepCopy()); |
200 *is_done_out = is_done; | 200 *is_done_out = is_done; |
201 } | 201 } |
202 | 202 |
203 // Used as a callback to StartGetCapability in tests. | 203 // Used as a callback to StartGetCapability in tests. |
204 // Increases |*call_count| and records values returned by StartGetCapability. | 204 // Increases |*call_count| and records values returned by StartGetCapability. |
205 void RecordCapability(size_t* call_count, | 205 void RecordCapability(size_t* call_count, |
206 std::string* destination_id_out, | |
207 std::unique_ptr<base::DictionaryValue>* capability_out, | 206 std::unique_ptr<base::DictionaryValue>* capability_out, |
208 const std::string& destination_id, | |
209 const base::DictionaryValue& capability) { | 207 const base::DictionaryValue& capability) { |
210 ++(*call_count); | 208 ++(*call_count); |
211 *destination_id_out = destination_id; | |
212 capability_out->reset(capability.DeepCopy()); | 209 capability_out->reset(capability.DeepCopy()); |
213 } | 210 } |
214 | 211 |
215 // Used as a callback to StartPrint in tests. | 212 // Used as a callback to StartPrint in tests. |
216 // Increases |*call_count| and records values returned by StartPrint. | 213 // Increases |*call_count| and records values returned by StartPrint. |
217 void RecordPrintResult(size_t* call_count, | 214 void RecordPrintResult(size_t* call_count, |
218 bool* success_out, | 215 bool* success_out, |
219 std::string* status_out, | 216 std::string* status_out, |
220 bool success, | 217 bool success, |
221 const std::string& status) { | 218 const std::string& status) { |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
602 fake_api->TriggerNextGetPrintersCallback(base::ListValue(), true); | 599 fake_api->TriggerNextGetPrintersCallback(base::ListValue(), true); |
603 | 600 |
604 EXPECT_EQ(2u, call_count); | 601 EXPECT_EQ(2u, call_count); |
605 EXPECT_TRUE(is_done); | 602 EXPECT_TRUE(is_done); |
606 EXPECT_TRUE(printers.get()); | 603 EXPECT_TRUE(printers.get()); |
607 EXPECT_EQ(0u, printers->GetSize()); // RecordPrinterList resets |printers|. | 604 EXPECT_EQ(0u, printers->GetSize()); // RecordPrinterList resets |printers|. |
608 } | 605 } |
609 | 606 |
610 TEST_F(ExtensionPrinterHandlerTest, GetCapability) { | 607 TEST_F(ExtensionPrinterHandlerTest, GetCapability) { |
611 size_t call_count = 0; | 608 size_t call_count = 0; |
612 std::string destination_id; | |
613 std::unique_ptr<base::DictionaryValue> capability; | 609 std::unique_ptr<base::DictionaryValue> capability; |
614 | 610 |
615 extension_printer_handler_->StartGetCapability( | 611 extension_printer_handler_->StartGetCapability( |
616 kPrinterId, | 612 kPrinterId, base::Bind(&RecordCapability, &call_count, &capability)); |
617 base::Bind(&RecordCapability, &call_count, &destination_id, &capability)); | |
618 | 613 |
619 EXPECT_EQ(0u, call_count); | 614 EXPECT_EQ(0u, call_count); |
620 | 615 |
621 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 616 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
622 ASSERT_TRUE(fake_api); | 617 ASSERT_TRUE(fake_api); |
623 ASSERT_EQ(1u, fake_api->pending_get_capability_count()); | 618 ASSERT_EQ(1u, fake_api->pending_get_capability_count()); |
624 | 619 |
625 std::string error; | 620 std::string error; |
626 std::unique_ptr<base::DictionaryValue> original_capability( | 621 std::unique_ptr<base::DictionaryValue> original_capability( |
627 GetJSONAsDictionaryValue(kPWGRasterOnlyPrinterSimpleDescription, &error)); | 622 GetJSONAsDictionaryValue(kPWGRasterOnlyPrinterSimpleDescription, &error)); |
628 ASSERT_TRUE(original_capability) | 623 ASSERT_TRUE(original_capability) |
629 << "Error deserializing capability: " << error; | 624 << "Error deserializing capability: " << error; |
630 | 625 |
631 fake_api->TriggerNextGetCapabilityCallback(*original_capability); | 626 fake_api->TriggerNextGetCapabilityCallback(*original_capability); |
632 | 627 |
633 EXPECT_EQ(1u, call_count); | 628 EXPECT_EQ(1u, call_count); |
634 EXPECT_EQ(kPrinterId, destination_id); | |
635 ASSERT_TRUE(capability.get()); | 629 ASSERT_TRUE(capability.get()); |
636 EXPECT_TRUE(capability->Equals(original_capability.get())) | 630 EXPECT_TRUE(capability->Equals(original_capability.get())) |
637 << *capability << ", expected: " << *original_capability; | 631 << *capability << ", expected: " << *original_capability; |
638 } | 632 } |
639 | 633 |
640 TEST_F(ExtensionPrinterHandlerTest, GetCapability_Reset) { | 634 TEST_F(ExtensionPrinterHandlerTest, GetCapability_Reset) { |
641 size_t call_count = 0; | 635 size_t call_count = 0; |
642 std::string destination_id; | |
643 std::unique_ptr<base::DictionaryValue> capability; | 636 std::unique_ptr<base::DictionaryValue> capability; |
644 | 637 |
645 extension_printer_handler_->StartGetCapability( | 638 extension_printer_handler_->StartGetCapability( |
646 kPrinterId, | 639 kPrinterId, base::Bind(&RecordCapability, &call_count, &capability)); |
647 base::Bind(&RecordCapability, &call_count, &destination_id, &capability)); | |
648 | 640 |
649 EXPECT_EQ(0u, call_count); | 641 EXPECT_EQ(0u, call_count); |
650 | 642 |
651 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 643 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
652 ASSERT_TRUE(fake_api); | 644 ASSERT_TRUE(fake_api); |
653 ASSERT_EQ(1u, fake_api->pending_get_capability_count()); | 645 ASSERT_EQ(1u, fake_api->pending_get_capability_count()); |
654 | 646 |
655 extension_printer_handler_->Reset(); | 647 extension_printer_handler_->Reset(); |
656 | 648 |
657 std::string error; | 649 std::string error; |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1009 DictionaryBuilder() | 1001 DictionaryBuilder() |
1010 .Set("id", "printer1") | 1002 .Set("id", "printer1") |
1011 .Set("name", "Printer 1") | 1003 .Set("name", "Printer 1") |
1012 .Build()); | 1004 .Build()); |
1013 | 1005 |
1014 fake_api->TriggerNextUsbPrinterInfoCallback(*original_printer_info); | 1006 fake_api->TriggerNextUsbPrinterInfoCallback(*original_printer_info); |
1015 | 1007 |
1016 EXPECT_EQ(0u, call_count); | 1008 EXPECT_EQ(0u, call_count); |
1017 EXPECT_FALSE(printer_info.get()); | 1009 EXPECT_FALSE(printer_info.get()); |
1018 } | 1010 } |
OLD | NEW |