| Index: chromeos/printing/printer_translator_unittest.cc
|
| diff --git a/chromeos/printing/printer_translator_unittest.cc b/chromeos/printing/printer_translator_unittest.cc
|
| index fbd66bbbe75158da3ac509b407cc7c7e263ec907..a49585075316cd0e5ebd5b12369d7168b5a29ac7 100644
|
| --- a/chromeos/printing/printer_translator_unittest.cc
|
| +++ b/chromeos/printing/printer_translator_unittest.cc
|
| @@ -15,7 +15,7 @@ namespace chromeos {
|
| namespace printing {
|
|
|
| // Printer test data
|
| -const char kGUID[] = "GUID-GUID-GUID";
|
| +const char kHash[] = "ABCDEF123456";
|
| const char kName[] = "Chrome Super Printer";
|
| const char kDescription[] = "first star on the left";
|
| const char kMake[] = "Chrome";
|
| @@ -24,84 +24,73 @@ const char kUri[] = "ipp://printy.domain.co:555/ipp/print";
|
| const char kUUID[] = "UUID-UUID-UUID";
|
|
|
| // PpdReference test data
|
| -const char kUserSuppliedPpdUrl[] = "/some/path/to/user.url";
|
| -const char kEffectiveMakeAndModel[] = "PrintBlaster 2000";
|
| +const char kEffectiveMakeAndModel[] = "PrintBlaster LazerInker 2000";
|
|
|
| -TEST(PrinterTranslatorTest, PrefToPrinterMissingId) {
|
| +TEST(PrinterTranslatorTest, RecommendedPrinterToPrinterMissingId) {
|
| base::DictionaryValue value;
|
| - std::unique_ptr<Printer> printer = PrefToPrinter(value);
|
| + std::unique_ptr<Printer> printer = RecommendedPrinterToPrinter(value);
|
|
|
| EXPECT_FALSE(printer);
|
| }
|
|
|
| -TEST(PrinterTranslatorTest, PrefToPrinter) {
|
| +TEST(PrinterTranslatorTest, MissingDisplayNameFails) {
|
| base::DictionaryValue preference;
|
| - preference.SetString("id", kGUID);
|
| - preference.SetString("display_name", kName);
|
| - preference.SetString("description", kDescription);
|
| - preference.SetString("manufacturer", kMake);
|
| - preference.SetString("model", kModel);
|
| + preference.SetString("id", kHash);
|
| + // display name omitted
|
| preference.SetString("uri", kUri);
|
| - preference.SetString("uuid", kUUID);
|
| + preference.SetString("ppd_resource.effective_model", kEffectiveMakeAndModel);
|
|
|
| - std::unique_ptr<Printer> printer = PrefToPrinter(preference);
|
| - EXPECT_TRUE(printer);
|
| -
|
| - EXPECT_EQ(kGUID, printer->id());
|
| - EXPECT_EQ(kName, printer->display_name());
|
| - EXPECT_EQ(kDescription, printer->description());
|
| - EXPECT_EQ(kMake, printer->manufacturer());
|
| - EXPECT_EQ(kModel, printer->model());
|
| - EXPECT_EQ(kUri, printer->uri());
|
| - EXPECT_EQ(kUUID, printer->uuid());
|
| + std::unique_ptr<Printer> printer = RecommendedPrinterToPrinter(preference);
|
| + EXPECT_FALSE(printer);
|
| }
|
|
|
| -TEST(PrinterTranslatorTest, PrinterToPref) {
|
| - Printer printer("GLOBALLY_UNIQUE_ID");
|
| - printer.set_display_name(kName);
|
| - printer.set_description(kDescription);
|
| - printer.set_manufacturer(kMake);
|
| - printer.set_model(kModel);
|
| - printer.set_uri(kUri);
|
| - printer.set_uuid(kUUID);
|
| -
|
| - std::unique_ptr<base::DictionaryValue> pref = PrinterToPref(printer);
|
| -
|
| - base::ExpectDictStringValue("GLOBALLY_UNIQUE_ID", *pref, "id");
|
| - base::ExpectDictStringValue(kName, *pref, "display_name");
|
| - base::ExpectDictStringValue(kDescription, *pref, "description");
|
| - base::ExpectDictStringValue(kMake, *pref, "manufacturer");
|
| - base::ExpectDictStringValue(kModel, *pref, "model");
|
| - base::ExpectDictStringValue(kUri, *pref, "uri");
|
| - base::ExpectDictStringValue(kUUID, *pref, "uuid");
|
| +TEST(PrinterTranslatorTest, MissingUriFails) {
|
| + base::DictionaryValue preference;
|
| + preference.SetString("id", kHash);
|
| + preference.SetString("display_name", kName);
|
| + // uri omitted
|
| + preference.SetString("ppd_resource.effective_model", kEffectiveMakeAndModel);
|
| +
|
| + std::unique_ptr<Printer> printer = RecommendedPrinterToPrinter(preference);
|
| + EXPECT_FALSE(printer);
|
| }
|
|
|
| -TEST(PrinterTranslatorTest, PrinterToPrefPpdReference) {
|
| - Printer printer("UNIQUE_ID");
|
| - auto* ppd = printer.mutable_ppd_reference();
|
| - ppd->user_supplied_ppd_url = kUserSuppliedPpdUrl;
|
| - ppd->effective_make_and_model = kEffectiveMakeAndModel;
|
| +TEST(PrinterTranslatorTest, MissingPpdResourceFails) {
|
| + base::DictionaryValue preference;
|
| + preference.SetString("id", kHash);
|
| + preference.SetString("display_name", kName);
|
| + preference.SetString("uri", kUri);
|
| + // ppd resource omitted
|
| +
|
| + std::unique_ptr<Printer> printer = RecommendedPrinterToPrinter(preference);
|
| + EXPECT_FALSE(printer);
|
| +}
|
|
|
| - std::unique_ptr<base::DictionaryValue> actual = PrinterToPref(printer);
|
| +TEST(PrinterTranslatorTest, MissingEffectiveMakeModelFails) {
|
| + base::DictionaryValue preference;
|
| + preference.SetString("id", kHash);
|
| + preference.SetString("display_name", kName);
|
| + preference.SetString("uri", kUri);
|
| + preference.SetString("ppd_resource.foobarwrongfield", "gibberish");
|
|
|
| - base::ExpectDictStringValue(kUserSuppliedPpdUrl, *actual,
|
| - "ppd_reference.user_supplied_ppd_url");
|
| - base::ExpectDictStringValue(kEffectiveMakeAndModel, *actual,
|
| - "ppd_reference.effective_model");
|
| + std::unique_ptr<Printer> printer = RecommendedPrinterToPrinter(preference);
|
| + EXPECT_FALSE(printer);
|
| }
|
|
|
| -// Make sure we don't serialize empty fields.
|
| -TEST(PrinterTranslatorTest, PrinterToPrefPpdReferenceLazy) {
|
| - Printer printer("UNIQUE_ID");
|
| - std::unique_ptr<base::DictionaryValue> actual = PrinterToPref(printer);
|
| +TEST(PrinterTranslatorTest, RecommendedPrinterMinimalSetup) {
|
| + base::DictionaryValue preference;
|
| + preference.SetString("id", kHash);
|
| + preference.SetString("display_name", kName);
|
| + preference.SetString("uri", kUri);
|
| + preference.SetString("ppd_resource.effective_model", kEffectiveMakeAndModel);
|
|
|
| - EXPECT_FALSE(actual->HasKey("ppd_reference.user_supplied_ppd_url"));
|
| - EXPECT_FALSE(actual->HasKey("ppd_reference.ppd_server_key"));
|
| + std::unique_ptr<Printer> printer = RecommendedPrinterToPrinter(preference);
|
| + EXPECT_TRUE(printer);
|
| }
|
|
|
| -TEST(PrinterTranslatorTest, PrefToPrinterRoundTrip) {
|
| +TEST(PrinterTranslatorTest, RecommendedPrinterToPrinter) {
|
| base::DictionaryValue preference;
|
| - preference.SetString("id", kGUID);
|
| + preference.SetString("id", kHash);
|
| preference.SetString("display_name", kName);
|
| preference.SetString("description", kDescription);
|
| preference.SetString("manufacturer", kMake);
|
| @@ -109,14 +98,21 @@ TEST(PrinterTranslatorTest, PrefToPrinterRoundTrip) {
|
| preference.SetString("uri", kUri);
|
| preference.SetString("uuid", kUUID);
|
|
|
| - preference.SetString("ppd_reference.user_supplied_ppd_url",
|
| - kUserSuppliedPpdUrl);
|
| - preference.SetString("ppd_reference.effective_model", kEffectiveMakeAndModel);
|
| + preference.SetString("ppd_resource.effective_model", kEffectiveMakeAndModel);
|
|
|
| - std::unique_ptr<Printer> printer = PrefToPrinter(preference);
|
| - std::unique_ptr<base::DictionaryValue> pref_copy = PrinterToPref(*printer);
|
| + std::unique_ptr<Printer> printer = RecommendedPrinterToPrinter(preference);
|
| + EXPECT_TRUE(printer);
|
| +
|
| + EXPECT_EQ(kHash, printer->id());
|
| + EXPECT_EQ(kName, printer->display_name());
|
| + EXPECT_EQ(kDescription, printer->description());
|
| + EXPECT_EQ(kMake, printer->manufacturer());
|
| + EXPECT_EQ(kModel, printer->model());
|
| + EXPECT_EQ(kUri, printer->uri());
|
| + EXPECT_EQ(kUUID, printer->uuid());
|
|
|
| - EXPECT_TRUE(preference.Equals(pref_copy.get()));
|
| + EXPECT_EQ(kEffectiveMakeAndModel,
|
| + printer->ppd_reference().effective_make_and_model);
|
| }
|
|
|
| } // namespace printing
|
|
|