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

Unified Diff: chromeos/printing/printer_translator_unittest.cc

Issue 2343983004: Add PPDProvider barebones implementation and associated cache skeleton. (Closed)
Patch Set: Initial PPDProvider/PPDCache implementation. Also, add associated unittests. This doesn't plumb th… Created 4 years, 2 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
Index: chromeos/printing/printer_translator_unittest.cc
diff --git a/chromeos/printing/printer_translator_unittest.cc b/chromeos/printing/printer_translator_unittest.cc
index 06d64c1dee303725208ba014e06954523b6c0087..51edff9df7d5716b97080cb05b937dac2af39ed1 100644
--- a/chromeos/printing/printer_translator_unittest.cc
+++ b/chromeos/printing/printer_translator_unittest.cc
@@ -23,11 +23,10 @@ const char kModel[] = "Inktastic Laser Magic";
const char kUri[] = "ipp://printy.domain.co:555/ipp/print";
const char kUUID[] = "UUID-UUID-UUID";
-// PPDFile test data
-const int kPPDiD = 13334;
-const char kFileName[] = "path/to/ppd/file.ppd";
-const int kVersion = 47773;
-const bool kQuirks = false;
+// PpdReference test data
+const char kUserSuppliedPpdUrl[] = "/some/path/to/user.url";
+const char kEffectiveManufacturer[] = "Ehch Pea";
+const char kEffectiveModel[] = "PrintBlaster 2000";
TEST(PrinterTranslatorTest, PrefToPrinterMissingId) {
base::DictionaryValue value;
@@ -78,24 +77,35 @@ TEST(PrinterTranslatorTest, PrinterToPref) {
base::ExpectDictStringValue(kUUID, *pref, "uuid");
}
-TEST(PrinterTranslatorTest, PrinterToPrefPPDFile) {
- Printer::PPDFile ppd;
- ppd.id = kPPDiD;
- ppd.file_name = kFileName;
- ppd.version_number = kVersion;
- ppd.from_quirks_server = kQuirks;
-
+TEST(PrinterTranslatorTest, PrinterToPrefPpdReference) {
Printer printer("UNIQUE_ID");
- printer.SetPPD(base::MakeUnique<Printer::PPDFile>(std::move(ppd)));
+ auto* ppd = printer.mutable_ppd_reference();
+ ppd->user_supplied_ppd_url = kUserSuppliedPpdUrl;
+ ppd->effective_manufacturer = kEffectiveManufacturer;
+ ppd->effective_model = kEffectiveModel;
std::unique_ptr<base::DictionaryValue> actual = PrinterToPref(printer);
- base::ExpectDictIntegerValue(kPPDiD, *actual, "ppd.id");
- base::ExpectDictStringValue(kFileName, *actual, "ppd.file_name");
- base::ExpectDictIntegerValue(kVersion, *actual, "ppd.version_number");
- base::ExpectDictBooleanValue(kQuirks, *actual, "ppd.from_quirks_server");
+ base::ExpectDictStringValue(kUserSuppliedPpdUrl, *actual,
+ "ppd_reference.user_supplied_ppd_url");
+ base::ExpectDictStringValue(kEffectiveManufacturer, *actual,
+ "ppd_reference.effective_manufacturer");
+ base::ExpectDictStringValue(kEffectiveModel, *actual,
+ "ppd_reference.effective_model");
}
+// Make sure we don't serialize empty fields.
+TEST(PrinterTranslatorTest, PrinterToPrefPpdReferenceLazy) {
+ Printer printer("UNIQUE_ID");
+ std::unique_ptr<base::DictionaryValue> actual = PrinterToPref(printer);
+
+ EXPECT_FALSE(actual->HasKey("ppd_reference.user_supplied_ppd_url"));
+ EXPECT_FALSE(actual->HasKey("ppd_reference.effective_manufacturer"));
+ EXPECT_FALSE(actual->HasKey("ppd_reference.effective_model"));
+}
+
+// FIXME add a test that we don't set fields that are empty.
skau 2016/10/14 22:10:17 FIXME
Carlson 2016/10/14 23:05:56 apparently chromium presubmits don't pickup FIXME?
+
TEST(PrinterTranslatorTest, PrefToPrinterRoundTrip) {
base::DictionaryValue preference;
preference.SetString("id", kGUID);
@@ -106,10 +116,11 @@ TEST(PrinterTranslatorTest, PrefToPrinterRoundTrip) {
preference.SetString("uri", kUri);
preference.SetString("uuid", kUUID);
- preference.SetInteger("ppd.id", kPPDiD);
- preference.SetString("ppd.file_name", kFileName);
- preference.SetInteger("ppd.version_number", kVersion);
- preference.SetBoolean("ppd.from_quirks_server", kQuirks);
+ preference.SetString("ppd_reference.user_supplied_ppd_url",
+ kUserSuppliedPpdUrl);
+ preference.SetString("ppd_reference.effective_manufacturer",
+ kEffectiveManufacturer);
+ preference.SetString("ppd_reference.effective_model", kEffectiveModel);
std::unique_ptr<Printer> printer = PrefToPrinter(preference);
std::unique_ptr<base::DictionaryValue> pref_copy = PrinterToPref(*printer);
« chromeos/printing/printer_configuration.h ('K') | « chromeos/printing/printer_translator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698