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

Unified Diff: chromeos/printing/printer_translator_unittest.cc

Issue 2795043003: Clean up printer preference handling. (Closed)
Patch Set: log missing fields Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/printing/printer_translator.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chromeos/printing/printer_translator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698