| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "printing/backend/cups_helper.h" | 5 #include "printing/backend/cups_helper.h" |
| 6 #include "printing/backend/print_backend.h" | 6 #include "printing/backend/print_backend.h" |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 8 |
| 9 TEST(PrintBackendCupsHelperTest, TestPpdParsingNoColorDuplexLongEdge) { | 9 TEST(PrintBackendCupsHelperTest, TestPpdParsingNoColorDuplexLongEdge) { |
| 10 std::string test_ppd_data; | 10 const char kTestPpdData[] = |
| 11 test_ppd_data.append( | |
| 12 "*PPD-Adobe: \"4.3\"\n\n" | 11 "*PPD-Adobe: \"4.3\"\n\n" |
| 13 "*OpenGroup: General/General\n\n" | 12 "*OpenGroup: General/General\n\n" |
| 14 "*OpenUI *ColorModel/Color Model: PickOne\n" | 13 "*OpenUI *ColorModel/Color Model: PickOne\n" |
| 15 "*DefaultColorModel: Gray\n" | 14 "*DefaultColorModel: Gray\n" |
| 16 "*ColorModel Gray/Grayscale: \"" | 15 "*ColorModel Gray/Grayscale: \"" |
| 17 "<</cupsColorSpace 0/cupsColorOrder 0>>" | 16 "<</cupsColorSpace 0/cupsColorOrder 0>>" |
| 18 "setpagedevice\"\n" | 17 "setpagedevice\"\n" |
| 19 "*ColorModel Black/Inverted Grayscale: \"" | 18 "*ColorModel Black/Inverted Grayscale: \"" |
| 20 "<</cupsColorSpace 3/cupsColorOrder 0>>" | 19 "<</cupsColorSpace 3/cupsColorOrder 0>>" |
| 21 "setpagedevice\"\n" | 20 "setpagedevice\"\n" |
| 22 "*CloseUI: *ColorModel\n" | 21 "*CloseUI: *ColorModel\n" |
| 23 "*OpenUI *Duplex/2-Sided Printing: PickOne\n" | 22 "*OpenUI *Duplex/2-Sided Printing: PickOne\n" |
| 24 "*DefaultDuplex: DuplexTumble\n" | 23 "*DefaultDuplex: DuplexTumble\n" |
| 25 "*Duplex None/Off: \"<</Duplex false>>" | 24 "*Duplex None/Off: \"<</Duplex false>>" |
| 26 "setpagedevice\"\n" | 25 "setpagedevice\"\n" |
| 27 "*Duplex DuplexNoTumble/LongEdge: \"" | 26 "*Duplex DuplexNoTumble/LongEdge: \"" |
| 28 "<</Duplex true/Tumble false>>setpagedevice\"\n" | 27 "<</Duplex true/Tumble false>>setpagedevice\"\n" |
| 29 "*Duplex DuplexTumble/ShortEdge: \"" | 28 "*Duplex DuplexTumble/ShortEdge: \"" |
| 30 "<</Duplex true/Tumble true>>setpagedevice\"\n" | 29 "<</Duplex true/Tumble true>>setpagedevice\"\n" |
| 31 "*CloseUI: *Duplex\n\n" | 30 "*CloseUI: *Duplex\n\n" |
| 32 "*CloseGroup: General\n"); | 31 "*CloseGroup: General\n"; |
| 33 | 32 |
| 34 printing::PrinterSemanticCapsAndDefaults caps; | 33 printing::PrinterSemanticCapsAndDefaults caps; |
| 35 EXPECT_TRUE(printing::ParsePpdCapabilities("test", test_ppd_data, &caps)); | 34 EXPECT_TRUE(printing::ParsePpdCapabilities("test", kTestPpdData, &caps)); |
| 36 EXPECT_TRUE(caps.collate_capable); | 35 EXPECT_TRUE(caps.collate_capable); |
| 37 EXPECT_TRUE(caps.collate_default); | 36 EXPECT_TRUE(caps.collate_default); |
| 38 EXPECT_TRUE(caps.copies_capable); | 37 EXPECT_TRUE(caps.copies_capable); |
| 39 EXPECT_TRUE(caps.duplex_capable); | 38 EXPECT_TRUE(caps.duplex_capable); |
| 40 EXPECT_EQ(caps.duplex_default, printing::LONG_EDGE); | 39 EXPECT_EQ(caps.duplex_default, printing::LONG_EDGE); |
| 41 EXPECT_FALSE(caps.color_changeable); | 40 EXPECT_FALSE(caps.color_changeable); |
| 42 EXPECT_FALSE(caps.color_default); | 41 EXPECT_FALSE(caps.color_default); |
| 43 } | 42 } |
| 44 | 43 |
| 45 // Test duplex detection code, which regressed in http://crbug.com/103999. | 44 // Test duplex detection code, which regressed in http://crbug.com/103999. |
| 46 TEST(PrintBackendCupsHelperTest, TestPpdParsingNoColorDuplexSimples) { | 45 TEST(PrintBackendCupsHelperTest, TestPpdParsingNoColorDuplexSimples) { |
| 47 std::string test_ppd_data; | 46 const char kTestPpdData[] = |
| 48 test_ppd_data.append( | |
| 49 "*PPD-Adobe: \"4.3\"\n\n" | 47 "*PPD-Adobe: \"4.3\"\n\n" |
| 50 "*OpenGroup: General/General\n\n" | 48 "*OpenGroup: General/General\n\n" |
| 51 "*OpenUI *Duplex/Double-Sided Printing: PickOne\n" | 49 "*OpenUI *Duplex/Double-Sided Printing: PickOne\n" |
| 52 "*DefaultDuplex: None\n" | 50 "*DefaultDuplex: None\n" |
| 53 "*Duplex None/Off: " | 51 "*Duplex None/Off: " |
| 54 "\"<</Duplex false>>setpagedevice\"\n" | 52 "\"<</Duplex false>>setpagedevice\"\n" |
| 55 "*Duplex DuplexNoTumble/Long Edge (Standard): " | 53 "*Duplex DuplexNoTumble/Long Edge (Standard): " |
| 56 "\"<</Duplex true/Tumble false>>setpagedevice\"\n" | 54 "\"<</Duplex true/Tumble false>>setpagedevice\"\n" |
| 57 "*Duplex DuplexTumble/Short Edge (Flip): " | 55 "*Duplex DuplexTumble/Short Edge (Flip): " |
| 58 "\"<</Duplex true/Tumble true>>setpagedevice\"\n" | 56 "\"<</Duplex true/Tumble true>>setpagedevice\"\n" |
| 59 "*CloseUI: *Duplex\n\n" | 57 "*CloseUI: *Duplex\n\n" |
| 60 "*CloseGroup: General\n"); | 58 "*CloseGroup: General\n"; |
| 61 | 59 |
| 62 printing::PrinterSemanticCapsAndDefaults caps; | 60 printing::PrinterSemanticCapsAndDefaults caps; |
| 63 EXPECT_TRUE(printing::ParsePpdCapabilities("test", test_ppd_data, &caps)); | 61 EXPECT_TRUE(printing::ParsePpdCapabilities("test", kTestPpdData, &caps)); |
| 64 EXPECT_TRUE(caps.collate_capable); | 62 EXPECT_TRUE(caps.collate_capable); |
| 65 EXPECT_TRUE(caps.collate_default); | 63 EXPECT_TRUE(caps.collate_default); |
| 66 EXPECT_TRUE(caps.copies_capable); | 64 EXPECT_TRUE(caps.copies_capable); |
| 67 EXPECT_TRUE(caps.duplex_capable); | 65 EXPECT_TRUE(caps.duplex_capable); |
| 68 EXPECT_EQ(caps.duplex_default, printing::SIMPLEX); | 66 EXPECT_EQ(caps.duplex_default, printing::SIMPLEX); |
| 69 EXPECT_FALSE(caps.color_changeable); | 67 EXPECT_FALSE(caps.color_changeable); |
| 70 EXPECT_FALSE(caps.color_default); | 68 EXPECT_FALSE(caps.color_default); |
| 71 } | 69 } |
| 72 | 70 |
| 73 TEST(PrintBackendCupsHelperTest, TestPpdParsingNoColorNoDuplex) { | 71 TEST(PrintBackendCupsHelperTest, TestPpdParsingNoColorNoDuplex) { |
| 74 std::string test_ppd_data; | 72 const char kTestPpdData[] = |
| 75 test_ppd_data.append( | |
| 76 "*PPD-Adobe: \"4.3\"\n\n" | 73 "*PPD-Adobe: \"4.3\"\n\n" |
| 77 "*OpenGroup: General/General\n\n" | 74 "*OpenGroup: General/General\n\n" |
| 78 "*OpenUI *ColorModel/Color Model: PickOne\n" | 75 "*OpenUI *ColorModel/Color Model: PickOne\n" |
| 79 "*DefaultColorModel: Gray\n" | 76 "*DefaultColorModel: Gray\n" |
| 80 "*ColorModel Gray/Grayscale: \"" | 77 "*ColorModel Gray/Grayscale: \"" |
| 81 "<</cupsColorSpace 0/cupsColorOrder 0>>" | 78 "<</cupsColorSpace 0/cupsColorOrder 0>>" |
| 82 "setpagedevice\"\n" | 79 "setpagedevice\"\n" |
| 83 "*ColorModel Black/Inverted Grayscale: \"" | 80 "*ColorModel Black/Inverted Grayscale: \"" |
| 84 "<</cupsColorSpace 3/cupsColorOrder 0>>" | 81 "<</cupsColorSpace 3/cupsColorOrder 0>>" |
| 85 "setpagedevice\"\n" | 82 "setpagedevice\"\n" |
| 86 "*CloseUI: *ColorModel\n" | 83 "*CloseUI: *ColorModel\n" |
| 87 "*CloseGroup: General\n"); | 84 "*CloseGroup: General\n"; |
| 88 | 85 |
| 89 printing::PrinterSemanticCapsAndDefaults caps; | 86 printing::PrinterSemanticCapsAndDefaults caps; |
| 90 EXPECT_TRUE(printing::ParsePpdCapabilities("test", test_ppd_data, &caps)); | 87 EXPECT_TRUE(printing::ParsePpdCapabilities("test", kTestPpdData, &caps)); |
| 91 EXPECT_TRUE(caps.collate_capable); | 88 EXPECT_TRUE(caps.collate_capable); |
| 92 EXPECT_TRUE(caps.collate_default); | 89 EXPECT_TRUE(caps.collate_default); |
| 93 EXPECT_TRUE(caps.copies_capable); | 90 EXPECT_TRUE(caps.copies_capable); |
| 94 EXPECT_FALSE(caps.duplex_capable); | 91 EXPECT_FALSE(caps.duplex_capable); |
| 95 EXPECT_EQ(caps.duplex_default, printing::UNKNOWN_DUPLEX_MODE); | 92 EXPECT_EQ(caps.duplex_default, printing::UNKNOWN_DUPLEX_MODE); |
| 96 EXPECT_FALSE(caps.color_changeable); | 93 EXPECT_FALSE(caps.color_changeable); |
| 97 EXPECT_FALSE(caps.color_default); | 94 EXPECT_FALSE(caps.color_default); |
| 98 } | 95 } |
| 99 | 96 |
| 100 TEST(PrintBackendCupsHelperTest, TestPpdParsingColorTrueDuplexLongEdge) { | 97 TEST(PrintBackendCupsHelperTest, TestPpdParsingColorTrueDuplexLongEdge) { |
| 101 std::string test_ppd_data; | 98 const char kTestPpdData[] = |
| 102 test_ppd_data.append( | |
| 103 "*PPD-Adobe: \"4.3\"\n\n" | 99 "*PPD-Adobe: \"4.3\"\n\n" |
| 104 "*ColorDevice: True\n" | 100 "*ColorDevice: True\n" |
| 105 "*DefaultColorSpace: CMYK\n\n" | 101 "*DefaultColorSpace: CMYK\n\n" |
| 106 "*OpenGroup: General/General\n\n" | 102 "*OpenGroup: General/General\n\n" |
| 107 "*OpenUI *ColorModel/Color Model: PickOne\n" | 103 "*OpenUI *ColorModel/Color Model: PickOne\n" |
| 108 "*DefaultColorModel: CMYK\n" | 104 "*DefaultColorModel: CMYK\n" |
| 109 "*ColorModel CMYK/Color: " | 105 "*ColorModel CMYK/Color: " |
| 110 "\"(cmyk) RCsetdevicecolor\"\n" | 106 "\"(cmyk) RCsetdevicecolor\"\n" |
| 111 "*ColorModel Gray/Black and White: " | 107 "*ColorModel Gray/Black and White: " |
| 112 "\"(gray) RCsetdevicecolor\"\n" | 108 "\"(gray) RCsetdevicecolor\"\n" |
| 113 "*CloseUI: *ColorModel\n" | 109 "*CloseUI: *ColorModel\n" |
| 114 "*OpenUI *Duplex/2-Sided Printing: PickOne\n" | 110 "*OpenUI *Duplex/2-Sided Printing: PickOne\n" |
| 115 "*DefaultDuplex: DuplexTumble\n" | 111 "*DefaultDuplex: DuplexTumble\n" |
| 116 "*Duplex None/Off: \"<</Duplex false>>" | 112 "*Duplex None/Off: \"<</Duplex false>>" |
| 117 "setpagedevice\"\n" | 113 "setpagedevice\"\n" |
| 118 "*Duplex DuplexNoTumble/LongEdge: \"" | 114 "*Duplex DuplexNoTumble/LongEdge: \"" |
| 119 "<</Duplex true/Tumble false>>setpagedevice\"\n" | 115 "<</Duplex true/Tumble false>>setpagedevice\"\n" |
| 120 "*Duplex DuplexTumble/ShortEdge: \"" | 116 "*Duplex DuplexTumble/ShortEdge: \"" |
| 121 "<</Duplex true/Tumble true>>setpagedevice\"\n" | 117 "<</Duplex true/Tumble true>>setpagedevice\"\n" |
| 122 "*CloseUI: *Duplex\n\n" | 118 "*CloseUI: *Duplex\n\n" |
| 123 "*CloseGroup: General\n"); | 119 "*CloseGroup: General\n"; |
| 124 | 120 |
| 125 printing::PrinterSemanticCapsAndDefaults caps; | 121 printing::PrinterSemanticCapsAndDefaults caps; |
| 126 EXPECT_TRUE(printing::ParsePpdCapabilities("test", test_ppd_data, &caps)); | 122 EXPECT_TRUE(printing::ParsePpdCapabilities("test", kTestPpdData, &caps)); |
| 127 EXPECT_TRUE(caps.collate_capable); | 123 EXPECT_TRUE(caps.collate_capable); |
| 128 EXPECT_TRUE(caps.collate_default); | 124 EXPECT_TRUE(caps.collate_default); |
| 129 EXPECT_TRUE(caps.copies_capable); | 125 EXPECT_TRUE(caps.copies_capable); |
| 130 EXPECT_TRUE(caps.duplex_capable); | 126 EXPECT_TRUE(caps.duplex_capable); |
| 131 EXPECT_EQ(caps.duplex_default, printing::LONG_EDGE); | 127 EXPECT_EQ(caps.duplex_default, printing::LONG_EDGE); |
| 132 EXPECT_TRUE(caps.color_changeable); | 128 EXPECT_TRUE(caps.color_changeable); |
| 133 EXPECT_TRUE(caps.color_default); | 129 EXPECT_TRUE(caps.color_default); |
| 134 } | 130 } |
| 135 | 131 |
| 136 TEST(PrintBackendCupsHelperTest, TestPpdParsingColorFalseDuplexLongEdge) { | 132 TEST(PrintBackendCupsHelperTest, TestPpdParsingColorFalseDuplexLongEdge) { |
| 137 std::string test_ppd_data; | 133 const char kTestPpdData[] = |
| 138 test_ppd_data.append( | |
| 139 "*PPD-Adobe: \"4.3\"\n\n" | 134 "*PPD-Adobe: \"4.3\"\n\n" |
| 140 "*ColorDevice: True\n" | 135 "*ColorDevice: True\n" |
| 141 "*DefaultColorSpace: CMYK\n\n" | 136 "*DefaultColorSpace: CMYK\n\n" |
| 142 "*OpenGroup: General/General\n\n" | 137 "*OpenGroup: General/General\n\n" |
| 143 "*OpenUI *ColorModel/Color Model: PickOne\n" | 138 "*OpenUI *ColorModel/Color Model: PickOne\n" |
| 144 "*DefaultColorModel: Grayscale\n" | 139 "*DefaultColorModel: Grayscale\n" |
| 145 "*ColorModel Color/Color: " | 140 "*ColorModel Color/Color: " |
| 146 "\"%% FoomaticRIPOptionSetting: ColorModel=Color\"\n" | 141 "\"%% FoomaticRIPOptionSetting: ColorModel=Color\"\n" |
| 147 "*FoomaticRIPOptionSetting ColorModel=Color: " | 142 "*FoomaticRIPOptionSetting ColorModel=Color: " |
| 148 "\"JCLDatamode=Color GSCmdLine=Color\"\n" | 143 "\"JCLDatamode=Color GSCmdLine=Color\"\n" |
| 149 "*ColorModel Grayscale/Grayscale: " | 144 "*ColorModel Grayscale/Grayscale: " |
| 150 "\"%% FoomaticRIPOptionSetting: ColorModel=Grayscale\"\n" | 145 "\"%% FoomaticRIPOptionSetting: ColorModel=Grayscale\"\n" |
| 151 "*FoomaticRIPOptionSetting ColorModel=Grayscale: " | 146 "*FoomaticRIPOptionSetting ColorModel=Grayscale: " |
| 152 "\"JCLDatamode=Grayscale GSCmdLine=Grayscale\"\n" | 147 "\"JCLDatamode=Grayscale GSCmdLine=Grayscale\"\n" |
| 153 "*CloseUI: *ColorModel\n" | 148 "*CloseUI: *ColorModel\n" |
| 154 "*OpenUI *Duplex/2-Sided Printing: PickOne\n" | 149 "*OpenUI *Duplex/2-Sided Printing: PickOne\n" |
| 155 "*DefaultDuplex: DuplexTumble\n" | 150 "*DefaultDuplex: DuplexTumble\n" |
| 156 "*Duplex None/Off: \"<</Duplex false>>" | 151 "*Duplex None/Off: \"<</Duplex false>>" |
| 157 "setpagedevice\"\n" | 152 "setpagedevice\"\n" |
| 158 "*Duplex DuplexNoTumble/LongEdge: \"" | 153 "*Duplex DuplexNoTumble/LongEdge: \"" |
| 159 "<</Duplex true/Tumble false>>setpagedevice\"\n" | 154 "<</Duplex true/Tumble false>>setpagedevice\"\n" |
| 160 "*Duplex DuplexTumble/ShortEdge: \"" | 155 "*Duplex DuplexTumble/ShortEdge: \"" |
| 161 "<</Duplex true/Tumble true>>setpagedevice\"\n" | 156 "<</Duplex true/Tumble true>>setpagedevice\"\n" |
| 162 "*CloseUI: *Duplex\n\n" | 157 "*CloseUI: *Duplex\n\n" |
| 163 "*CloseGroup: General\n"); | 158 "*CloseGroup: General\n"; |
| 164 | 159 |
| 165 printing::PrinterSemanticCapsAndDefaults caps; | 160 printing::PrinterSemanticCapsAndDefaults caps; |
| 166 EXPECT_TRUE(printing::ParsePpdCapabilities("test", test_ppd_data, &caps)); | 161 EXPECT_TRUE(printing::ParsePpdCapabilities("test", kTestPpdData, &caps)); |
| 167 EXPECT_TRUE(caps.collate_capable); | 162 EXPECT_TRUE(caps.collate_capable); |
| 168 EXPECT_TRUE(caps.collate_default); | 163 EXPECT_TRUE(caps.collate_default); |
| 169 EXPECT_TRUE(caps.copies_capable); | 164 EXPECT_TRUE(caps.copies_capable); |
| 170 EXPECT_TRUE(caps.duplex_capable); | 165 EXPECT_TRUE(caps.duplex_capable); |
| 171 EXPECT_EQ(caps.duplex_default, printing::LONG_EDGE); | 166 EXPECT_EQ(caps.duplex_default, printing::LONG_EDGE); |
| 172 EXPECT_TRUE(caps.color_changeable); | 167 EXPECT_TRUE(caps.color_changeable); |
| 173 EXPECT_FALSE(caps.color_default); | 168 EXPECT_FALSE(caps.color_default); |
| 174 } | 169 } |
| 175 | 170 |
| 176 TEST(PrintBackendCupsHelperTest, TestPpdParsingPageSize) { | 171 TEST(PrintBackendCupsHelperTest, TestPpdParsingPageSize) { |
| 177 std::string test_ppd_data; | 172 const char kTestPpdData[] = |
| 178 test_ppd_data.append( | |
| 179 "*PPD-Adobe: \"4.3\"\n\n" | 173 "*PPD-Adobe: \"4.3\"\n\n" |
| 180 "*OpenUI *PageSize: PickOne\n" | 174 "*OpenUI *PageSize: PickOne\n" |
| 181 "*OrderDependency: 30 AnySetup *PageSize\n" | 175 "*OrderDependency: 30 AnySetup *PageSize\n" |
| 182 "*DefaultPageSize: Letter\n" | 176 "*DefaultPageSize: Letter\n" |
| 183 "*PageSize Letter/US Letter: \"" | 177 "*PageSize Letter/US Letter: \"" |
| 184 " <</DeferredMediaSelection true /PageSize [612 792] " | 178 " <</DeferredMediaSelection true /PageSize [612 792] " |
| 185 " /ImagingBBox null /MediaClass null >> setpagedevice\"\n" | 179 " /ImagingBBox null /MediaClass null >> setpagedevice\"\n" |
| 186 "*End\n" | 180 "*End\n" |
| 187 "*PageSize Legal/US Legal: \"" | 181 "*PageSize Legal/US Legal: \"" |
| 188 " <</DeferredMediaSelection true /PageSize [612 1008] " | 182 " <</DeferredMediaSelection true /PageSize [612 1008] " |
| 189 " /ImagingBBox null /MediaClass null >> setpagedevice\"\n" | 183 " /ImagingBBox null /MediaClass null >> setpagedevice\"\n" |
| 190 "*End\n" | 184 "*End\n" |
| 191 "*DefaultPaperDimension: Letter\n" | 185 "*DefaultPaperDimension: Letter\n" |
| 192 "*PaperDimension Letter/US Letter: \"612 792\"\n" | 186 "*PaperDimension Letter/US Letter: \"612 792\"\n" |
| 193 "*PaperDimension Legal/US Legal: \"612 1008\"\n\n" | 187 "*PaperDimension Legal/US Legal: \"612 1008\"\n\n" |
| 194 "*CloseUI: *PageSize\n\n"); | 188 "*CloseUI: *PageSize\n\n"; |
| 195 | 189 |
| 196 printing::PrinterSemanticCapsAndDefaults caps; | 190 printing::PrinterSemanticCapsAndDefaults caps; |
| 197 EXPECT_TRUE(printing::ParsePpdCapabilities("test", test_ppd_data, &caps)); | 191 EXPECT_TRUE(printing::ParsePpdCapabilities("test", kTestPpdData, &caps)); |
| 198 ASSERT_EQ(2UL, caps.papers.size()); | 192 ASSERT_EQ(2UL, caps.papers.size()); |
| 199 EXPECT_EQ("Letter", caps.papers[0].vendor_id); | 193 EXPECT_EQ("Letter", caps.papers[0].vendor_id); |
| 200 EXPECT_EQ("US Letter", caps.papers[0].display_name); | 194 EXPECT_EQ("US Letter", caps.papers[0].display_name); |
| 201 EXPECT_EQ(215900, caps.papers[0].size_um.width()); | 195 EXPECT_EQ(215900, caps.papers[0].size_um.width()); |
| 202 EXPECT_EQ(279400, caps.papers[0].size_um.height()); | 196 EXPECT_EQ(279400, caps.papers[0].size_um.height()); |
| 203 EXPECT_EQ("Legal", caps.papers[1].vendor_id); | 197 EXPECT_EQ("Legal", caps.papers[1].vendor_id); |
| 204 EXPECT_EQ("US Legal", caps.papers[1].display_name); | 198 EXPECT_EQ("US Legal", caps.papers[1].display_name); |
| 205 EXPECT_EQ(215900, caps.papers[1].size_um.width()); | 199 EXPECT_EQ(215900, caps.papers[1].size_um.width()); |
| 206 EXPECT_EQ(355600, caps.papers[1].size_um.height()); | 200 EXPECT_EQ(355600, caps.papers[1].size_um.height()); |
| 207 } | 201 } |
| OLD | NEW |