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

Side by Side Diff: chrome/browser/ui/webui/print_preview/extension_printer_handler_unittest.cc

Issue 973993003: Instead of ArrayBuffer, pass blob with printerProvider.onPrintRequested (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase & add ext fun histogram Created 5 years, 9 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
OLDNEW
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
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
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
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/print_preview/extension_printer_handler.cc ('k') | content/browser/browser_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698