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