Chromium Code Reviews| Index: chrome/browser/chromeos/printing/specifics_translation_unittest.cc |
| diff --git a/chrome/browser/chromeos/printing/specifics_translation_unittest.cc b/chrome/browser/chromeos/printing/specifics_translation_unittest.cc |
| index 23740c164f8cc6e37e373c750806c6c1887ab8fa..0b15fb479bf542d77a5143780c760f21967ee02f 100644 |
| --- a/chrome/browser/chromeos/printing/specifics_translation_unittest.cc |
| +++ b/chrome/browser/chromeos/printing/specifics_translation_unittest.cc |
| @@ -22,6 +22,7 @@ const char uri[] = "ipps://notaprinter.chromium.org/ipp/print"; |
| const char uuid[] = "UUIDUUIDUUID"; |
| const base::Time kUpdateTime = base::Time::FromInternalValue(22114455660000); |
| +const char kUserSuppliedPPD[] = "file://foo/bar/baz/eeaaaffccdd00"; |
| const char effective_make_and_model[] = "Manufacturer Model T1000"; |
| } // namespace |
| @@ -56,6 +57,7 @@ TEST(SpecificsTranslationTest, SpecificsToPrinter) { |
| EXPECT_EQ(effective_make_and_model, |
| result->ppd_reference().effective_make_and_model); |
| + EXPECT_FALSE(result->IsIppEverywhere()); |
| } |
| TEST(SpecificsTranslationTest, PrinterToSpecifics) { |
| @@ -97,7 +99,7 @@ TEST(SpecificsTranslationTest, SpecificsToPrinterRoundTrip) { |
| printer.set_uuid(uuid); |
| Printer::PpdReference ppd; |
| - ppd.effective_make_and_model = effective_make_and_model; |
| + ppd.autoconf = true; |
| *printer.mutable_ppd_reference() = ppd; |
| std::unique_ptr<sync_pb::PrinterSpecifics> temp = PrinterToSpecifics(printer); |
| @@ -111,8 +113,64 @@ TEST(SpecificsTranslationTest, SpecificsToPrinterRoundTrip) { |
| EXPECT_EQ(uri, result->uri()); |
| EXPECT_EQ(uuid, result->uuid()); |
| + EXPECT_TRUE(result->ppd_reference().effective_make_and_model.empty()); |
| + EXPECT_TRUE(result->ppd_reference().autoconf); |
| +} |
| + |
| +TEST(SpecificsTranslationTest, AutoconfUnset) { |
| + sync_pb::PrinterSpecifics original; |
| + original.set_id(id); |
| + |
| + auto printer = SpecificsToPrinter(original); |
| + |
| + EXPECT_FALSE(printer->IsIppEverywhere()); |
| +} |
| + |
| +TEST(SpecificsTranslationTest, MergePrinterToSpecifics) { |
| + sync_pb::PrinterSpecifics original; |
| + original.set_id(id); |
| + original.mutable_ppd_reference()->set_autoconf(true); |
| + |
| + Printer printer(id); |
| + printer.mutable_ppd_reference()->effective_make_and_model = |
| + effective_make_and_model; |
| + |
| + MergePrinterToSpecifics(printer, &original); |
| + |
| + EXPECT_EQ(id, original.id()); |
| EXPECT_EQ(effective_make_and_model, |
| - result->ppd_reference().effective_make_and_model); |
| + original.ppd_reference().effective_make_and_model()); |
| + |
| + // Verify that autoconf is cleared. |
| + EXPECT_FALSE(original.ppd_reference().autoconf()); |
| +} |
| + |
|
Carlson
2017/05/22 23:46:07
Comment for what this is testing for? (Also, belo
skau
2017/05/23 01:00:22
Done.
|
| +TEST(SpecificsTranslationTest, AutoconfOverrides) { |
| + sync_pb::PrinterSpecifics original; |
| + original.set_id(id); |
| + auto* ppd_reference = original.mutable_ppd_reference(); |
| + ppd_reference->set_autoconf(true); |
| + ppd_reference->set_user_supplied_ppd_url(kUserSuppliedPPD); |
| + |
| + auto printer = SpecificsToPrinter(original); |
| + |
| + EXPECT_TRUE(printer->ppd_reference().autoconf); |
| + EXPECT_TRUE(printer->ppd_reference().user_supplied_ppd_url.empty()); |
| + EXPECT_TRUE(printer->ppd_reference().effective_make_and_model.empty()); |
| +} |
| + |
| +TEST(SpecificsTranslationTest, UserSuppliedOverrides) { |
| + sync_pb::PrinterSpecifics original; |
| + original.set_id(id); |
| + auto* ppd_reference = original.mutable_ppd_reference(); |
| + ppd_reference->set_user_supplied_ppd_url(kUserSuppliedPPD); |
| + ppd_reference->set_effective_make_and_model(effective_make_and_model); |
| + |
| + auto printer = SpecificsToPrinter(original); |
| + |
| + EXPECT_FALSE(printer->ppd_reference().autoconf); |
| + EXPECT_FALSE(printer->ppd_reference().user_supplied_ppd_url.empty()); |
| + EXPECT_TRUE(printer->ppd_reference().effective_make_and_model.empty()); |
| } |
| } // namespace printing |