| OLD | NEW | 
|    1 // Copyright 2017 The Chromium Authors. All rights reserved. |    1 // Copyright 2017 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 <utility> |    5 #include <utility> | 
|    6  |    6  | 
|    7 #include "base/memory/ptr_util.h" |    7 #include "base/memory/ptr_util.h" | 
|    8 #include "chrome/browser/chromeos/printing/specifics_translation.h" |    8 #include "chrome/browser/chromeos/printing/specifics_translation.h" | 
|    9 #include "chromeos/printing/printer_configuration.h" |    9 #include "chromeos/printing/printer_configuration.h" | 
|   10 #include "components/sync/protocol/printer_specifics.pb.h" |   10 #include "components/sync/protocol/printer_specifics.pb.h" | 
|   11 #include "testing/gtest/include/gtest/gtest.h" |   11 #include "testing/gtest/include/gtest/gtest.h" | 
|   12  |   12  | 
|   13 namespace { |   13 namespace { | 
|   14  |   14  | 
|   15 const char id[] = "UNIQUE_ID"; |   15 const char id[] = "UNIQUE_ID"; | 
|   16 const char display_name[] = "Best Printer Ever"; |   16 const char display_name[] = "Best Printer Ever"; | 
|   17 const char description[] = "The green one"; |   17 const char description[] = "The green one"; | 
|   18 const char manufacturer[] = "Manufacturer"; |   18 const char manufacturer[] = "Manufacturer"; | 
|   19 const char model[] = "MODEL"; |   19 const char model[] = "MODEL"; | 
|   20 const char uri[] = "ipps://notaprinter.chromium.org/ipp/print"; |   20 const char uri[] = "ipps://notaprinter.chromium.org/ipp/print"; | 
|   21 const char uuid[] = "UUIDUUIDUUID"; |   21 const char uuid[] = "UUIDUUIDUUID"; | 
|   22  |   22  | 
|   23 const char effective_model[] = "Manufacturer Model T1000"; |   23 const char effective_make_and_model[] = "Manufacturer Model T1000"; | 
|   24  |   24  | 
|   25 }  // namespace |   25 }  // namespace | 
|   26  |   26  | 
|   27 namespace chromeos { |   27 namespace chromeos { | 
|   28 namespace printing { |   28 namespace printing { | 
|   29  |   29  | 
|   30 TEST(SpecificsTranslationTest, SpecificsToPrinter) { |   30 TEST(SpecificsTranslationTest, SpecificsToPrinter) { | 
|   31   sync_pb::PrinterSpecifics specifics; |   31   sync_pb::PrinterSpecifics specifics; | 
|   32   specifics.set_id(id); |   32   specifics.set_id(id); | 
|   33   specifics.set_display_name(display_name); |   33   specifics.set_display_name(display_name); | 
|   34   specifics.set_description(description); |   34   specifics.set_description(description); | 
|   35   specifics.set_manufacturer(manufacturer); |   35   specifics.set_manufacturer(manufacturer); | 
|   36   specifics.set_model(model); |   36   specifics.set_model(model); | 
|   37   specifics.set_uri(uri); |   37   specifics.set_uri(uri); | 
|   38   specifics.set_uuid(uuid); |   38   specifics.set_uuid(uuid); | 
|   39  |   39  | 
|   40   sync_pb::PrinterPPDReference ppd; |   40   sync_pb::PrinterPPDReference ppd; | 
|   41   ppd.set_effective_model(effective_model); |   41   ppd.set_effective_make_and_model(effective_make_and_model); | 
|   42   *specifics.mutable_ppd_reference() = ppd; |   42   *specifics.mutable_ppd_reference() = ppd; | 
|   43  |   43  | 
|   44   std::unique_ptr<Printer> result = SpecificsToPrinter(specifics); |   44   std::unique_ptr<Printer> result = SpecificsToPrinter(specifics); | 
|   45   EXPECT_EQ(id, result->id()); |   45   EXPECT_EQ(id, result->id()); | 
|   46   EXPECT_EQ(display_name, result->display_name()); |   46   EXPECT_EQ(display_name, result->display_name()); | 
|   47   EXPECT_EQ(description, result->description()); |   47   EXPECT_EQ(description, result->description()); | 
|   48   EXPECT_EQ(manufacturer, result->manufacturer()); |   48   EXPECT_EQ(manufacturer, result->manufacturer()); | 
|   49   EXPECT_EQ(model, result->model()); |   49   EXPECT_EQ(model, result->model()); | 
|   50   EXPECT_EQ(uri, result->uri()); |   50   EXPECT_EQ(uri, result->uri()); | 
|   51   EXPECT_EQ(uuid, result->uuid()); |   51   EXPECT_EQ(uuid, result->uuid()); | 
|   52  |   52  | 
|   53   EXPECT_EQ(effective_model, result->ppd_reference().effective_model); |   53   EXPECT_EQ(effective_make_and_model, | 
 |   54             result->ppd_reference().effective_make_and_model); | 
|   54 } |   55 } | 
|   55  |   56  | 
|   56 TEST(SpecificsTranslationTest, PrinterToSpecifics) { |   57 TEST(SpecificsTranslationTest, PrinterToSpecifics) { | 
|   57   Printer printer; |   58   Printer printer; | 
|   58   printer.set_id(id); |   59   printer.set_id(id); | 
|   59   printer.set_display_name(display_name); |   60   printer.set_display_name(display_name); | 
|   60   printer.set_description(description); |   61   printer.set_description(description); | 
|   61   printer.set_manufacturer(manufacturer); |   62   printer.set_manufacturer(manufacturer); | 
|   62   printer.set_model(model); |   63   printer.set_model(model); | 
|   63   printer.set_uri(uri); |   64   printer.set_uri(uri); | 
|   64   printer.set_uuid(uuid); |   65   printer.set_uuid(uuid); | 
|   65  |   66  | 
|   66   Printer::PpdReference ppd; |   67   Printer::PpdReference ppd; | 
|   67   ppd.effective_model = effective_model; |   68   ppd.effective_make_and_model = effective_make_and_model; | 
|   68   *printer.mutable_ppd_reference() = ppd; |   69   *printer.mutable_ppd_reference() = ppd; | 
|   69  |   70  | 
|   70   std::unique_ptr<sync_pb::PrinterSpecifics> result = |   71   std::unique_ptr<sync_pb::PrinterSpecifics> result = | 
|   71       PrinterToSpecifics(printer); |   72       PrinterToSpecifics(printer); | 
|   72   EXPECT_EQ(id, result->id()); |   73   EXPECT_EQ(id, result->id()); | 
|   73   EXPECT_EQ(display_name, result->display_name()); |   74   EXPECT_EQ(display_name, result->display_name()); | 
|   74   EXPECT_EQ(description, result->description()); |   75   EXPECT_EQ(description, result->description()); | 
|   75   EXPECT_EQ(manufacturer, result->manufacturer()); |   76   EXPECT_EQ(manufacturer, result->manufacturer()); | 
|   76   EXPECT_EQ(model, result->model()); |   77   EXPECT_EQ(model, result->model()); | 
|   77   EXPECT_EQ(uri, result->uri()); |   78   EXPECT_EQ(uri, result->uri()); | 
|   78   EXPECT_EQ(uuid, result->uuid()); |   79   EXPECT_EQ(uuid, result->uuid()); | 
|   79  |   80  | 
|   80   EXPECT_EQ(effective_model, result->ppd_reference().effective_model()); |   81   EXPECT_EQ(effective_make_and_model, | 
 |   82             result->ppd_reference().effective_make_and_model()); | 
|   81 } |   83 } | 
|   82  |   84  | 
|   83 TEST(SpecificsTranslationTest, SpecificsToPrinterRoundTrip) { |   85 TEST(SpecificsTranslationTest, SpecificsToPrinterRoundTrip) { | 
|   84   Printer printer; |   86   Printer printer; | 
|   85   printer.set_id(id); |   87   printer.set_id(id); | 
|   86   printer.set_display_name(display_name); |   88   printer.set_display_name(display_name); | 
|   87   printer.set_description(description); |   89   printer.set_description(description); | 
|   88   printer.set_manufacturer(manufacturer); |   90   printer.set_manufacturer(manufacturer); | 
|   89   printer.set_model(model); |   91   printer.set_model(model); | 
|   90   printer.set_uri(uri); |   92   printer.set_uri(uri); | 
|   91   printer.set_uuid(uuid); |   93   printer.set_uuid(uuid); | 
|   92  |   94  | 
|   93   Printer::PpdReference ppd; |   95   Printer::PpdReference ppd; | 
|   94   ppd.effective_model = effective_model; |   96   ppd.effective_make_and_model = effective_make_and_model; | 
|   95   *printer.mutable_ppd_reference() = ppd; |   97   *printer.mutable_ppd_reference() = ppd; | 
|   96  |   98  | 
|   97   std::unique_ptr<sync_pb::PrinterSpecifics> temp = PrinterToSpecifics(printer); |   99   std::unique_ptr<sync_pb::PrinterSpecifics> temp = PrinterToSpecifics(printer); | 
|   98   std::unique_ptr<Printer> result = SpecificsToPrinter(*temp); |  100   std::unique_ptr<Printer> result = SpecificsToPrinter(*temp); | 
|   99  |  101  | 
|  100   EXPECT_EQ(id, result->id()); |  102   EXPECT_EQ(id, result->id()); | 
|  101   EXPECT_EQ(display_name, result->display_name()); |  103   EXPECT_EQ(display_name, result->display_name()); | 
|  102   EXPECT_EQ(description, result->description()); |  104   EXPECT_EQ(description, result->description()); | 
|  103   EXPECT_EQ(manufacturer, result->manufacturer()); |  105   EXPECT_EQ(manufacturer, result->manufacturer()); | 
|  104   EXPECT_EQ(model, result->model()); |  106   EXPECT_EQ(model, result->model()); | 
|  105   EXPECT_EQ(uri, result->uri()); |  107   EXPECT_EQ(uri, result->uri()); | 
|  106   EXPECT_EQ(uuid, result->uuid()); |  108   EXPECT_EQ(uuid, result->uuid()); | 
|  107  |  109  | 
|  108   EXPECT_EQ(effective_model, result->ppd_reference().effective_model); |  110   EXPECT_EQ(effective_make_and_model, | 
 |  111             result->ppd_reference().effective_make_and_model); | 
|  109 } |  112 } | 
|  110  |  113  | 
|  111 }  // namespace printing |  114 }  // namespace printing | 
|  112 }  // namespace chromeos |  115 }  // namespace chromeos | 
| OLD | NEW |