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" |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 | 108 |
109 // Print ticket that has duplex parameter set. | 109 // Print ticket that has duplex parameter set. |
110 const char kPrintTicketWithDuplex[] = | 110 const char kPrintTicketWithDuplex[] = |
111 "{" | 111 "{" |
112 " \"version\": \"1.0\"," | 112 " \"version\": \"1.0\"," |
113 " \"print\": {" | 113 " \"print\": {" |
114 " \"duplex\": {\"type\": \"LONG_EDGE\"}" | 114 " \"duplex\": {\"type\": \"LONG_EDGE\"}" |
115 " }" | 115 " }" |
116 "}"; | 116 "}"; |
117 | 117 |
118 // Suffix appended to document data by fake PWGRasterConverter. | |
119 const char kPWGConversionSuffix[] = "_converted"; | |
120 | |
121 const char kContentTypePDF[] = "application/pdf"; | 118 const char kContentTypePDF[] = "application/pdf"; |
122 const char kContentTypePWG[] = "image/pwg-raster"; | 119 const char kContentTypePWG[] = "image/pwg-raster"; |
123 | 120 |
124 // Print request status considered to be successful by fake PrinterProviderAPI. | 121 // Print request status considered to be successful by fake PrinterProviderAPI. |
125 const char kPrintRequestSuccess[] = "OK"; | 122 const char kPrintRequestSuccess[] = "OK"; |
126 | 123 |
127 // Used as a callback to StartGetPrinters in tests. | 124 // Used as a callback to StartGetPrinters in tests. |
128 // Increases |*call_count| and records values returned by StartGetPrinters. | 125 // Increases |*call_count| and records values returned by StartGetPrinters. |
129 void RecordPrinterList(size_t* call_count, | 126 void RecordPrinterList(size_t* call_count, |
130 scoped_ptr<base::ListValue>* printers_out, | 127 scoped_ptr<base::ListValue>* printers_out, |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 if (!deserialized) | 183 if (!deserialized) |
187 return scoped_ptr<base::DictionaryValue>(); | 184 return scoped_ptr<base::DictionaryValue>(); |
188 base::DictionaryValue* dictionary; | 185 base::DictionaryValue* dictionary; |
189 if (!deserialized->GetAsDictionary(&dictionary)) { | 186 if (!deserialized->GetAsDictionary(&dictionary)) { |
190 *error = "Value is not a dictionary."; | 187 *error = "Value is not a dictionary."; |
191 return scoped_ptr<base::DictionaryValue>(); | 188 return scoped_ptr<base::DictionaryValue>(); |
192 } | 189 } |
193 return scoped_ptr<base::DictionaryValue>(dictionary->DeepCopy()); | 190 return scoped_ptr<base::DictionaryValue>(dictionary->DeepCopy()); |
194 } | 191 } |
195 | 192 |
| 193 std::string RefCountedMemoryToString( |
| 194 const scoped_refptr<base::RefCountedMemory>& memory) { |
| 195 return std::string(memory->front_as<char>(), memory->size()); |
| 196 } |
| 197 |
196 // Fake PWGRasterconverter used in the tests. | 198 // Fake PWGRasterconverter used in the tests. |
197 class FakePWGRasterConverter : public PWGRasterConverter { | 199 class FakePWGRasterConverter : public PWGRasterConverter { |
198 public: | 200 public: |
199 FakePWGRasterConverter() : fail_conversion_(false), initialized_(false) {} | 201 FakePWGRasterConverter() : fail_conversion_(false), initialized_(false) {} |
200 ~FakePWGRasterConverter() override = default; | 202 ~FakePWGRasterConverter() override = default; |
201 | 203 |
202 // PWGRasterConverter implementation. | 204 // PWGRasterConverter implementation. It writes |data| to a temp file. |
203 // It writes |data| to a temp file, appending it |kPWGConversionSuffix|. | |
204 // Also, remembers conversion and bitmap settings passed into the method. | 205 // Also, remembers conversion and bitmap settings passed into the method. |
205 void Start(base::RefCountedMemory* data, | 206 void Start(base::RefCountedMemory* data, |
206 const printing::PdfRenderSettings& conversion_settings, | 207 const printing::PdfRenderSettings& conversion_settings, |
207 const printing::PwgRasterSettings& bitmap_settings, | 208 const printing::PwgRasterSettings& bitmap_settings, |
208 const ResultCallback& callback) override { | 209 const ResultCallback& callback) override { |
209 if (fail_conversion_) { | 210 if (fail_conversion_) { |
210 callback.Run(false, base::FilePath()); | 211 callback.Run(false, base::FilePath()); |
211 return; | 212 return; |
212 } | 213 } |
213 | 214 |
214 if (!initialized_ && !temp_dir_.CreateUniqueTempDir()) { | 215 if (!initialized_ && !temp_dir_.CreateUniqueTempDir()) { |
215 ADD_FAILURE() << "Unable to create target dir for cenverter"; | 216 ADD_FAILURE() << "Unable to create target dir for cenverter"; |
216 callback.Run(false, base::FilePath()); | 217 callback.Run(false, base::FilePath()); |
217 return; | 218 return; |
218 } | 219 } |
219 | 220 |
220 initialized_ = true; | 221 initialized_ = true; |
221 | 222 |
| 223 path_ = temp_dir_.path().AppendASCII("output.pwg"); |
222 std::string data_str(data->front_as<char>(), data->size()); | 224 std::string data_str(data->front_as<char>(), data->size()); |
223 data_str.append(kPWGConversionSuffix); | 225 int written = WriteFile(path_, data_str.c_str(), data_str.size()); |
224 base::FilePath target_path = temp_dir_.path().AppendASCII("output.pwg"); | |
225 int written = WriteFile(target_path, data_str.c_str(), data_str.size()); | |
226 if (written != static_cast<int>(data_str.size())) { | 226 if (written != static_cast<int>(data_str.size())) { |
227 ADD_FAILURE() << "Failed to write pwg raster file."; | 227 ADD_FAILURE() << "Failed to write pwg raster file."; |
228 callback.Run(false, base::FilePath()); | 228 callback.Run(false, base::FilePath()); |
229 return; | 229 return; |
230 } | 230 } |
231 | 231 |
232 conversion_settings_ = conversion_settings; | 232 conversion_settings_ = conversion_settings; |
233 bitmap_settings_ = bitmap_settings; | 233 bitmap_settings_ = bitmap_settings; |
234 | 234 |
235 callback.Run(true, target_path); | 235 callback.Run(true, path_); |
236 } | 236 } |
237 | 237 |
238 // Makes |Start| method always return an error. | 238 // Makes |Start| method always return an error. |
239 void FailConversion() { fail_conversion_ = true; } | 239 void FailConversion() { fail_conversion_ = true; } |
240 | 240 |
| 241 const base::FilePath& path() { return path_; } |
241 const printing::PdfRenderSettings& conversion_settings() const { | 242 const printing::PdfRenderSettings& conversion_settings() const { |
242 return conversion_settings_; | 243 return conversion_settings_; |
243 } | 244 } |
244 | 245 |
245 const printing::PwgRasterSettings& bitmap_settings() const { | 246 const printing::PwgRasterSettings& bitmap_settings() const { |
246 return bitmap_settings_; | 247 return bitmap_settings_; |
247 } | 248 } |
248 | 249 |
249 private: | 250 private: |
250 base::ScopedTempDir temp_dir_; | 251 base::ScopedTempDir temp_dir_; |
251 | 252 |
| 253 base::FilePath path_; |
252 printing::PdfRenderSettings conversion_settings_; | 254 printing::PdfRenderSettings conversion_settings_; |
253 printing::PwgRasterSettings bitmap_settings_; | 255 printing::PwgRasterSettings bitmap_settings_; |
254 bool fail_conversion_; | 256 bool fail_conversion_; |
255 bool initialized_; | 257 bool initialized_; |
256 | 258 |
257 DISALLOW_COPY_AND_ASSIGN(FakePWGRasterConverter); | 259 DISALLOW_COPY_AND_ASSIGN(FakePWGRasterConverter); |
258 }; | 260 }; |
259 | 261 |
260 // Copy of data contained in print job passed to |DispatchPrintRequested|. | |
261 struct PrintJobParams { | |
262 std::string printer_id; | |
263 std::string ticket; | |
264 std::string content_type; | |
265 std::string document; | |
266 }; | |
267 | |
268 // Information about received print requests. | 262 // Information about received print requests. |
269 struct PrintRequestInfo { | 263 struct PrintRequestInfo { |
270 PrinterProviderAPI::PrintCallback callback; | 264 PrinterProviderAPI::PrintCallback callback; |
271 PrintJobParams params; | 265 PrinterProviderPrintJob job; |
272 }; | 266 }; |
273 | 267 |
274 // Fake PrinterProviderAPI used in tests. | 268 // Fake PrinterProviderAPI used in tests. |
275 // It caches requests issued to API and exposes methods to trigger their | 269 // It caches requests issued to API and exposes methods to trigger their |
276 // callbacks. | 270 // callbacks. |
277 class FakePrinterProviderAPI : public PrinterProviderAPI { | 271 class FakePrinterProviderAPI : public PrinterProviderAPI { |
278 public: | 272 public: |
279 FakePrinterProviderAPI() = default; | 273 FakePrinterProviderAPI() = default; |
280 ~FakePrinterProviderAPI() override = default; | 274 ~FakePrinterProviderAPI() override = default; |
281 | 275 |
282 void DispatchGetPrintersRequested( | 276 void DispatchGetPrintersRequested( |
283 const PrinterProviderAPI::GetPrintersCallback& callback) override { | 277 const PrinterProviderAPI::GetPrintersCallback& callback) override { |
284 pending_printers_callbacks_.push_back(callback); | 278 pending_printers_callbacks_.push_back(callback); |
285 } | 279 } |
286 | 280 |
287 void DispatchGetCapabilityRequested( | 281 void DispatchGetCapabilityRequested( |
288 const std::string& destination_id, | 282 const std::string& destination_id, |
289 const PrinterProviderAPI::GetCapabilityCallback& callback) override { | 283 const PrinterProviderAPI::GetCapabilityCallback& callback) override { |
290 pending_capability_callbacks_.push_back(base::Bind(callback)); | 284 pending_capability_callbacks_.push_back(base::Bind(callback)); |
291 } | 285 } |
292 | 286 |
293 void DispatchPrintRequested( | 287 void DispatchPrintRequested( |
294 const PrinterProviderPrintJob& job, | 288 const PrinterProviderPrintJob& job, |
295 const PrinterProviderAPI::PrintCallback& callback) override { | 289 const PrinterProviderAPI::PrintCallback& callback) override { |
296 PrintRequestInfo request_info; | 290 PrintRequestInfo request_info; |
297 request_info.callback = callback; | 291 request_info.callback = callback; |
298 | 292 request_info.job = job; |
299 request_info.params.printer_id = job.printer_id; | |
300 request_info.params.ticket = job.ticket_json; | |
301 request_info.params.content_type = job.content_type; | |
302 request_info.params.document = std::string( | |
303 job.document_bytes->front_as<char>(), job.document_bytes->size()); | |
304 | 293 |
305 pending_print_requests_.push_back(request_info); | 294 pending_print_requests_.push_back(request_info); |
306 } | 295 } |
307 | 296 |
308 size_t pending_get_printers_count() const { | 297 size_t pending_get_printers_count() const { |
309 return pending_printers_callbacks_.size(); | 298 return pending_printers_callbacks_.size(); |
310 } | 299 } |
311 | 300 |
| 301 const PrinterProviderPrintJob* GetPrintJob( |
| 302 const extensions::Extension* extension, |
| 303 int request_id) const override { |
| 304 ADD_FAILURE() << "Not reached"; |
| 305 return nullptr; |
| 306 } |
| 307 |
312 void TriggerNextGetPrintersCallback(const base::ListValue& printers, | 308 void TriggerNextGetPrintersCallback(const base::ListValue& printers, |
313 bool done) { | 309 bool done) { |
314 ASSERT_GT(pending_get_printers_count(), 0u); | 310 ASSERT_GT(pending_get_printers_count(), 0u); |
315 pending_printers_callbacks_[0].Run(printers, done); | 311 pending_printers_callbacks_[0].Run(printers, done); |
316 pending_printers_callbacks_.erase(pending_printers_callbacks_.begin()); | 312 pending_printers_callbacks_.erase(pending_printers_callbacks_.begin()); |
317 } | 313 } |
318 | 314 |
319 size_t pending_get_capability_count() const { | 315 size_t pending_get_capability_count() const { |
320 return pending_capability_callbacks_.size(); | 316 return pending_capability_callbacks_.size(); |
321 } | 317 } |
322 | 318 |
323 void TriggerNextGetCapabilityCallback( | 319 void TriggerNextGetCapabilityCallback( |
324 const base::DictionaryValue& description) { | 320 const base::DictionaryValue& description) { |
325 ASSERT_GT(pending_get_capability_count(), 0u); | 321 ASSERT_GT(pending_get_capability_count(), 0u); |
326 pending_capability_callbacks_[0].Run(description); | 322 pending_capability_callbacks_[0].Run(description); |
327 pending_capability_callbacks_.erase(pending_capability_callbacks_.begin()); | 323 pending_capability_callbacks_.erase(pending_capability_callbacks_.begin()); |
328 } | 324 } |
329 | 325 |
330 size_t pending_print_count() const { return pending_print_requests_.size(); } | 326 size_t pending_print_count() const { return pending_print_requests_.size(); } |
331 | 327 |
332 const PrintJobParams* GetNextPendingPrintJob() const { | 328 const PrinterProviderPrintJob* GetNextPendingPrintJob() const { |
333 EXPECT_GT(pending_print_count(), 0u); | 329 EXPECT_GT(pending_print_count(), 0u); |
334 if (pending_print_count() == 0) | 330 if (pending_print_count() == 0) |
335 return NULL; | 331 return NULL; |
336 return &pending_print_requests_[0].params; | 332 return &pending_print_requests_[0].job; |
337 } | 333 } |
338 | 334 |
339 void TriggerNextPrintCallback(const std::string& result) { | 335 void TriggerNextPrintCallback(const std::string& result) { |
340 ASSERT_GT(pending_print_count(), 0u); | 336 ASSERT_GT(pending_print_count(), 0u); |
341 pending_print_requests_[0].callback.Run(result == kPrintRequestSuccess, | 337 pending_print_requests_[0].callback.Run(result == kPrintRequestSuccess, |
342 result); | 338 result); |
343 pending_print_requests_.erase(pending_print_requests_.begin()); | 339 pending_print_requests_.erase(pending_print_requests_.begin()); |
344 } | 340 } |
345 | 341 |
346 private: | 342 private: |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 extension_printer_handler_->StartPrint( | 516 extension_printer_handler_->StartPrint( |
521 kPrinterId, kPdfSupportedPrinter, kEmptyPrintTicket, gfx::Size(100, 100), | 517 kPrinterId, kPdfSupportedPrinter, kEmptyPrintTicket, gfx::Size(100, 100), |
522 print_data, | 518 print_data, |
523 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 519 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
524 | 520 |
525 EXPECT_EQ(0u, call_count); | 521 EXPECT_EQ(0u, call_count); |
526 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 522 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
527 ASSERT_TRUE(fake_api); | 523 ASSERT_TRUE(fake_api); |
528 ASSERT_EQ(1u, fake_api->pending_print_count()); | 524 ASSERT_EQ(1u, fake_api->pending_print_count()); |
529 | 525 |
530 const PrintJobParams* print_job = fake_api->GetNextPendingPrintJob(); | 526 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
531 ASSERT_TRUE(print_job); | 527 ASSERT_TRUE(print_job); |
532 | 528 |
533 EXPECT_EQ(kPrinterId, print_job->printer_id); | 529 EXPECT_EQ(kPrinterId, print_job->printer_id); |
534 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket); | 530 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); |
535 EXPECT_EQ(kContentTypePDF, print_job->content_type); | 531 EXPECT_EQ(kContentTypePDF, print_job->content_type); |
536 EXPECT_EQ(print_data->data(), print_job->document); | 532 EXPECT_TRUE(print_job->document_path.empty()); |
| 533 ASSERT_TRUE(print_job->document_bytes); |
| 534 EXPECT_EQ(print_data->data(), |
| 535 RefCountedMemoryToString(print_job->document_bytes)); |
537 | 536 |
538 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 537 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
539 | 538 |
540 EXPECT_EQ(1u, call_count); | 539 EXPECT_EQ(1u, call_count); |
541 EXPECT_TRUE(success); | 540 EXPECT_TRUE(success); |
542 EXPECT_EQ(kPrintRequestSuccess, status); | 541 EXPECT_EQ(kPrintRequestSuccess, status); |
543 } | 542 } |
544 | 543 |
545 TEST_F(ExtensionPrinterHandlerTest, Print_Pdf_Reset) { | 544 TEST_F(ExtensionPrinterHandlerTest, Print_Pdf_Reset) { |
546 size_t call_count = 0; | 545 size_t call_count = 0; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 kPrinterId, kAllContentTypesSupportedPrinter, kEmptyPrintTicket, | 580 kPrinterId, kAllContentTypesSupportedPrinter, kEmptyPrintTicket, |
582 gfx::Size(100, 100), print_data, | 581 gfx::Size(100, 100), print_data, |
583 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 582 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
584 | 583 |
585 EXPECT_EQ(0u, call_count); | 584 EXPECT_EQ(0u, call_count); |
586 | 585 |
587 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 586 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
588 ASSERT_TRUE(fake_api); | 587 ASSERT_TRUE(fake_api); |
589 ASSERT_EQ(1u, fake_api->pending_print_count()); | 588 ASSERT_EQ(1u, fake_api->pending_print_count()); |
590 | 589 |
591 const PrintJobParams* print_job = fake_api->GetNextPendingPrintJob(); | 590 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
592 ASSERT_TRUE(print_job); | 591 ASSERT_TRUE(print_job); |
593 | 592 |
594 EXPECT_EQ(kPrinterId, print_job->printer_id); | 593 EXPECT_EQ(kPrinterId, print_job->printer_id); |
595 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket); | 594 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); |
596 EXPECT_EQ(kContentTypePDF, print_job->content_type); | 595 EXPECT_EQ(kContentTypePDF, print_job->content_type); |
597 EXPECT_EQ(print_data->data(), print_job->document); | 596 EXPECT_TRUE(print_job->document_path.empty()); |
| 597 ASSERT_TRUE(print_job->document_bytes); |
| 598 EXPECT_EQ(print_data->data(), |
| 599 RefCountedMemoryToString(print_job->document_bytes)); |
598 | 600 |
599 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 601 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
600 | 602 |
601 EXPECT_EQ(1u, call_count); | 603 EXPECT_EQ(1u, call_count); |
602 EXPECT_TRUE(success); | 604 EXPECT_TRUE(success); |
603 EXPECT_EQ(kPrintRequestSuccess, status); | 605 EXPECT_EQ(kPrintRequestSuccess, status); |
604 } | 606 } |
605 | 607 |
606 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg) { | 608 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg) { |
607 size_t call_count = 0; | 609 size_t call_count = 0; |
(...skipping 21 matching lines...) Expand all Loading... |
629 pwg_raster_converter_->bitmap_settings().odd_page_transform); | 631 pwg_raster_converter_->bitmap_settings().odd_page_transform); |
630 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); | 632 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); |
631 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().reverse_page_order); | 633 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().reverse_page_order); |
632 | 634 |
633 EXPECT_EQ(printing::kDefaultPdfDpi, | 635 EXPECT_EQ(printing::kDefaultPdfDpi, |
634 pwg_raster_converter_->conversion_settings().dpi()); | 636 pwg_raster_converter_->conversion_settings().dpi()); |
635 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); | 637 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); |
636 EXPECT_EQ("0,0 208x416", // vertically_oriented_size * dpi / points_per_inch | 638 EXPECT_EQ("0,0 208x416", // vertically_oriented_size * dpi / points_per_inch |
637 pwg_raster_converter_->conversion_settings().area().ToString()); | 639 pwg_raster_converter_->conversion_settings().area().ToString()); |
638 | 640 |
639 const PrintJobParams* print_job = fake_api->GetNextPendingPrintJob(); | 641 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
640 ASSERT_TRUE(print_job); | 642 ASSERT_TRUE(print_job); |
641 | 643 |
642 EXPECT_EQ(kPrinterId, print_job->printer_id); | 644 EXPECT_EQ(kPrinterId, print_job->printer_id); |
643 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket); | 645 EXPECT_EQ(kEmptyPrintTicket, print_job->ticket_json); |
644 EXPECT_EQ(kContentTypePWG, print_job->content_type); | 646 EXPECT_EQ(kContentTypePWG, print_job->content_type); |
645 EXPECT_EQ(print_data->data() + kPWGConversionSuffix, print_job->document); | 647 EXPECT_FALSE(print_job->document_bytes); |
| 648 EXPECT_FALSE(print_job->document_path.empty()); |
| 649 EXPECT_EQ(pwg_raster_converter_->path(), print_job->document_path); |
| 650 EXPECT_EQ(static_cast<int64_t>(print_data->size()), |
| 651 print_job->file_info.size); |
646 | 652 |
647 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 653 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
648 | 654 |
649 EXPECT_EQ(1u, call_count); | 655 EXPECT_EQ(1u, call_count); |
650 EXPECT_TRUE(success); | 656 EXPECT_TRUE(success); |
651 EXPECT_EQ(kPrintRequestSuccess, status); | 657 EXPECT_EQ(kPrintRequestSuccess, status); |
652 } | 658 } |
653 | 659 |
654 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_NonDefaultSettings) { | 660 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_NonDefaultSettings) { |
655 size_t call_count = 0; | 661 size_t call_count = 0; |
(...skipping 21 matching lines...) Expand all Loading... |
677 pwg_raster_converter_->bitmap_settings().odd_page_transform); | 683 pwg_raster_converter_->bitmap_settings().odd_page_transform); |
678 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); | 684 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); |
679 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().reverse_page_order); | 685 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().reverse_page_order); |
680 | 686 |
681 EXPECT_EQ(200, // max(vertical_dpi, horizontal_dpi) | 687 EXPECT_EQ(200, // max(vertical_dpi, horizontal_dpi) |
682 pwg_raster_converter_->conversion_settings().dpi()); | 688 pwg_raster_converter_->conversion_settings().dpi()); |
683 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); | 689 EXPECT_TRUE(pwg_raster_converter_->conversion_settings().autorotate()); |
684 EXPECT_EQ("0,0 138x277", // vertically_oriented_size * dpi / points_per_inch | 690 EXPECT_EQ("0,0 138x277", // vertically_oriented_size * dpi / points_per_inch |
685 pwg_raster_converter_->conversion_settings().area().ToString()); | 691 pwg_raster_converter_->conversion_settings().area().ToString()); |
686 | 692 |
687 const PrintJobParams* print_job = fake_api->GetNextPendingPrintJob(); | 693 const PrinterProviderPrintJob* print_job = fake_api->GetNextPendingPrintJob(); |
688 ASSERT_TRUE(print_job); | 694 ASSERT_TRUE(print_job); |
689 | 695 |
690 EXPECT_EQ(kPrinterId, print_job->printer_id); | 696 EXPECT_EQ(kPrinterId, print_job->printer_id); |
691 EXPECT_EQ(kPrintTicketWithDuplex, print_job->ticket); | 697 EXPECT_EQ(kPrintTicketWithDuplex, print_job->ticket_json); |
692 EXPECT_EQ(kContentTypePWG, print_job->content_type); | 698 EXPECT_EQ(kContentTypePWG, print_job->content_type); |
693 EXPECT_EQ(print_data->data() + kPWGConversionSuffix, print_job->document); | 699 EXPECT_FALSE(print_job->document_bytes); |
| 700 EXPECT_FALSE(print_job->document_path.empty()); |
| 701 EXPECT_EQ(pwg_raster_converter_->path(), print_job->document_path); |
| 702 EXPECT_EQ(static_cast<int64_t>(print_data->size()), |
| 703 print_job->file_info.size); |
694 | 704 |
695 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 705 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
696 | 706 |
697 EXPECT_EQ(1u, call_count); | 707 EXPECT_EQ(1u, call_count); |
698 EXPECT_TRUE(success); | 708 EXPECT_TRUE(success); |
699 EXPECT_EQ(kPrintRequestSuccess, status); | 709 EXPECT_EQ(kPrintRequestSuccess, status); |
700 } | 710 } |
701 | 711 |
702 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_Reset) { | 712 TEST_F(ExtensionPrinterHandlerTest, Print_Pwg_Reset) { |
703 size_t call_count = 0; | 713 size_t call_count = 0; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
762 extension_printer_handler_->StartPrint( | 772 extension_printer_handler_->StartPrint( |
763 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, kEmptyPrintTicket, | 773 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, kEmptyPrintTicket, |
764 gfx::Size(100, 100), print_data, | 774 gfx::Size(100, 100), print_data, |
765 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 775 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
766 | 776 |
767 EXPECT_EQ(1u, call_count); | 777 EXPECT_EQ(1u, call_count); |
768 | 778 |
769 EXPECT_FALSE(success); | 779 EXPECT_FALSE(success); |
770 EXPECT_EQ("INVALID_DATA", status); | 780 EXPECT_EQ("INVALID_DATA", status); |
771 } | 781 } |
OLD | NEW |