OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/json/json_writer.h" | 6 #include "base/json/json_writer.h" |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
9 #include "chrome/browser/printing/background_printing_manager.h" | 9 #include "chrome/browser/printing/background_printing_manager.h" |
10 #include "chrome/browser/printing/print_preview_tab_controller.h" | 10 #include "chrome/browser/printing/print_preview_tab_controller.h" |
11 #include "chrome/browser/ui/browser_list.h" | 11 #include "chrome/browser/ui/browser_list.h" |
12 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 12 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
13 #include "chrome/browser/ui/webui/print_preview_handler.h" | 13 #include "chrome/browser/ui/webui/print_preview_handler.h" |
14 #include "chrome/browser/ui/webui/print_preview_ui.h" | 14 #include "chrome/browser/ui/webui/print_preview_ui.h" |
15 #include "chrome/common/chrome_switches.h" | 15 #include "chrome/common/chrome_switches.h" |
16 #include "chrome/test/base/browser_with_test_window_test.h" | 16 #include "chrome/test/base/browser_with_test_window_test.h" |
17 #include "printing/page_size_margins.h" | 17 #include "printing/page_size_margins.h" |
18 #include "printing/print_job_constants.h" | 18 #include "printing/print_job_constants.h" |
19 | 19 |
| 20 // Test crashes on Aura due to initiator tab's native view having no parent. |
| 21 // http://crbug.com/104284 |
| 22 #if defined(USE_AURA) |
| 23 #define MAYBE_StickyMarginsCustom DISABLED_StickyMarginsCustom |
| 24 #define MAYBE_StickyMarginsDefault DISABLED_StickyMarginsDefault |
| 25 #define MAYBE_StickyMarginsCustomThenDefault \ |
| 26 DISABLED_StickyMarginsCustomThenDefault |
| 27 #define MAYBE_GetLastUsedMarginSettingsCustom \ |
| 28 DISABLED_GetLastUsedMarginSettingsCustom |
| 29 #define MAYBE_GetLastUsedMarginSettingsDefault \ |
| 30 DISABLED_GetLastUsedMarginSettingsDefault |
| 31 #else |
| 32 #define MAYBE_StickyMarginsCustom StickyMarginsCustom |
| 33 #define MAYBE_StickyMarginsDefault StickyMarginsDefault |
| 34 #define MAYBE_StickyMarginsCustomThenDefault StickyMarginsCustomThenDefault |
| 35 #define MAYBE_GetLastUsedMarginSettingsCustom GetLastUsedMarginSettingsCustom |
| 36 #define MAYBE_GetLastUsedMarginSettingsDefault GetLastUsedMarginSettingsDefault |
| 37 #endif |
| 38 |
20 namespace { | 39 namespace { |
21 | 40 |
22 DictionaryValue* GetCustomMarginsDictionary( | 41 DictionaryValue* GetCustomMarginsDictionary( |
23 const double margin_top, const double margin_right, | 42 const double margin_top, const double margin_right, |
24 const double margin_bottom, const double margin_left) { | 43 const double margin_bottom, const double margin_left) { |
25 base::DictionaryValue* custom_settings = new base::DictionaryValue(); | 44 base::DictionaryValue* custom_settings = new base::DictionaryValue(); |
26 custom_settings->SetDouble(printing::kSettingMarginTop, margin_top); | 45 custom_settings->SetDouble(printing::kSettingMarginTop, margin_top); |
27 custom_settings->SetDouble(printing::kSettingMarginRight, margin_right); | 46 custom_settings->SetDouble(printing::kSettingMarginRight, margin_right); |
28 custom_settings->SetDouble(printing::kSettingMarginBottom, margin_bottom); | 47 custom_settings->SetDouble(printing::kSettingMarginBottom, margin_bottom); |
29 custom_settings->SetDouble(printing::kSettingMarginLeft, margin_left); | 48 custom_settings->SetDouble(printing::kSettingMarginLeft, margin_left); |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 PrintPreviewUI* preview_ui_; | 159 PrintPreviewUI* preview_ui_; |
141 | 160 |
142 private: | 161 private: |
143 void ClearStickySettings() { | 162 void ClearStickySettings() { |
144 PrintPreviewHandler::last_used_margins_type_ = printing::DEFAULT_MARGINS; | 163 PrintPreviewHandler::last_used_margins_type_ = printing::DEFAULT_MARGINS; |
145 delete PrintPreviewHandler::last_used_page_size_margins_; | 164 delete PrintPreviewHandler::last_used_page_size_margins_; |
146 PrintPreviewHandler::last_used_page_size_margins_ = NULL; | 165 PrintPreviewHandler::last_used_page_size_margins_ = NULL; |
147 } | 166 } |
148 }; | 167 }; |
149 | 168 |
150 // Test crashs on TouchUI due to initiator tab's native view having no parent. | |
151 // http://crbug.com/104284 | |
152 #if defined(TOUCH_UI) | |
153 #define MAYBE_StickyMarginsCustom DISABLED_StickyMarginsCustom | |
154 #else | |
155 #define MAYBE_StickyMarginsCustom StickyMarginsCustom | |
156 #endif | |
157 // Tests that margin settings are saved correctly when printing with custom | 169 // Tests that margin settings are saved correctly when printing with custom |
158 // margins selected. | 170 // margins selected. |
159 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsCustom) { | 171 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsCustom) { |
160 const double kMarginTop = 25.5; | 172 const double kMarginTop = 25.5; |
161 const double kMarginRight = 26.5; | 173 const double kMarginRight = 26.5; |
162 const double kMarginBottom = 27.5; | 174 const double kMarginBottom = 27.5; |
163 const double kMarginLeft = 28.5; | 175 const double kMarginLeft = 28.5; |
164 RequestPrintWithCustomMargins( | 176 RequestPrintWithCustomMargins( |
165 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); | 177 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); |
166 EXPECT_EQ(1, browser()->tab_count()); | 178 EXPECT_EQ(1, browser()->tab_count()); |
167 | 179 |
168 // Checking that sticky settings were saved correctly. | 180 // Checking that sticky settings were saved correctly. |
169 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); | 181 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); |
170 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, | 182 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, |
171 printing::CUSTOM_MARGINS); | 183 printing::CUSTOM_MARGINS); |
172 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); | 184 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); |
173 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); | 185 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); |
174 } | 186 } |
175 | 187 |
176 // http://crbug.com/104284 | |
177 #if defined(TOUCH_UI) | |
178 #define MAYBE_StickyMarginsDefault DISABLED_StickyMarginsDefault | |
179 #else | |
180 #define MAYBE_StickyMarginsDefault StickyMarginsDefault | |
181 #endif | |
182 // Tests that margin settings are saved correctly when printing with default | 188 // Tests that margin settings are saved correctly when printing with default |
183 // margins selected. | 189 // margins selected. |
184 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsDefault) { | 190 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsDefault) { |
185 RequestPrintWithDefaultMargins(); | 191 RequestPrintWithDefaultMargins(); |
186 EXPECT_EQ(1, browser()->tab_count()); | 192 EXPECT_EQ(1, browser()->tab_count()); |
187 | 193 |
188 // Checking that sticky settings were saved correctly. | 194 // Checking that sticky settings were saved correctly. |
189 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); | 195 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); |
190 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, | 196 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, |
191 printing::DEFAULT_MARGINS); | 197 printing::DEFAULT_MARGINS); |
192 ASSERT_FALSE(PrintPreviewHandler::last_used_page_size_margins_); | 198 ASSERT_FALSE(PrintPreviewHandler::last_used_page_size_margins_); |
193 } | 199 } |
194 | 200 |
195 // http://crbug.com/104284 | |
196 #if defined(TOUCH_UI) | |
197 #define MAYBE_StickyMarginsCustomThenDefault \ | |
198 DISABLED_StickyMarginsCustomThenDefault | |
199 #else | |
200 #define MAYBE_StickyMarginsCustomThenDefault StickyMarginsCustomThenDefault | |
201 #endif | |
202 // Tests that margin settings are saved correctly when printing with custom | 201 // Tests that margin settings are saved correctly when printing with custom |
203 // margins selected and then again with default margins selected. | 202 // margins selected and then again with default margins selected. |
204 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsCustomThenDefault) { | 203 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsCustomThenDefault) { |
205 const double kMarginTop = 125.5; | 204 const double kMarginTop = 125.5; |
206 const double kMarginRight = 126.5; | 205 const double kMarginRight = 126.5; |
207 const double kMarginBottom = 127.5; | 206 const double kMarginBottom = 127.5; |
208 const double kMarginLeft = 128.5; | 207 const double kMarginLeft = 128.5; |
209 RequestPrintWithCustomMargins( | 208 RequestPrintWithCustomMargins( |
210 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); | 209 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); |
211 EXPECT_EQ(1, browser()->tab_count()); | 210 EXPECT_EQ(1, browser()->tab_count()); |
212 DeletePrintPreviewTab(); | 211 DeletePrintPreviewTab(); |
213 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, | 212 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, |
214 printing::CUSTOM_MARGINS); | 213 printing::CUSTOM_MARGINS); |
215 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); | 214 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); |
216 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); | 215 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); |
217 | 216 |
218 OpenPrintPreviewTab(); | 217 OpenPrintPreviewTab(); |
219 RequestPrintWithDefaultMargins(); | 218 RequestPrintWithDefaultMargins(); |
220 | 219 |
221 // Checking that sticky settings were saved correctly. | 220 // Checking that sticky settings were saved correctly. |
222 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); | 221 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); |
223 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, | 222 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, |
224 printing::DEFAULT_MARGINS); | 223 printing::DEFAULT_MARGINS); |
225 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); | 224 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); |
226 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); | 225 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); |
227 } | 226 } |
228 | 227 |
229 // http://crbug.com/104284 | |
230 #if defined(TOUCH_UI) | |
231 #define MAYBE_GetLastUsedMarginSettingsCustom \ | |
232 DISABLED_GetLastUsedMarginSettingsCustom | |
233 #else | |
234 #define MAYBE_GetLastUsedMarginSettingsCustom GetLastUsedMarginSettingsCustom | |
235 #endif | |
236 // Tests that margin settings are retrieved correctly after printing with custom | 228 // Tests that margin settings are retrieved correctly after printing with custom |
237 // margins. | 229 // margins. |
238 TEST_F(PrintPreviewHandlerTest, MAYBE_GetLastUsedMarginSettingsCustom) { | 230 TEST_F(PrintPreviewHandlerTest, MAYBE_GetLastUsedMarginSettingsCustom) { |
239 const double kMarginTop = 125.5; | 231 const double kMarginTop = 125.5; |
240 const double kMarginRight = 126.5; | 232 const double kMarginRight = 126.5; |
241 const double kMarginBottom = 127.5; | 233 const double kMarginBottom = 127.5; |
242 const double kMarginLeft = 128.5; | 234 const double kMarginLeft = 128.5; |
243 RequestPrintWithCustomMargins( | 235 RequestPrintWithCustomMargins( |
244 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); | 236 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); |
245 base::DictionaryValue initial_settings; | 237 base::DictionaryValue initial_settings; |
(...skipping 10 matching lines...) Expand all Loading... |
256 &margin_value)); | 248 &margin_value)); |
257 EXPECT_EQ(kMarginRight, margin_value); | 249 EXPECT_EQ(kMarginRight, margin_value); |
258 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginBottom, | 250 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginBottom, |
259 &margin_value)); | 251 &margin_value)); |
260 EXPECT_EQ(kMarginBottom, margin_value); | 252 EXPECT_EQ(kMarginBottom, margin_value); |
261 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginLeft, | 253 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginLeft, |
262 &margin_value)); | 254 &margin_value)); |
263 EXPECT_EQ(kMarginLeft, margin_value); | 255 EXPECT_EQ(kMarginLeft, margin_value); |
264 } | 256 } |
265 | 257 |
266 // http://crbug.com/104284 | |
267 #if defined(TOUCH_UI) | |
268 #define MAYBE_GetLastUsedMarginSettingsDefault \ | |
269 DISABLED_GetLastUsedMarginSettingsDefault | |
270 #else | |
271 #define MAYBE_GetLastUsedMarginSettingsDefault GetLastUsedMarginSettingsDefault | |
272 #endif | |
273 // Tests that margin settings are retrieved correctly after printing with | 258 // Tests that margin settings are retrieved correctly after printing with |
274 // default margins. | 259 // default margins. |
275 TEST_F(PrintPreviewHandlerTest, MAYBE_GetLastUsedMarginSettingsDefault) { | 260 TEST_F(PrintPreviewHandlerTest, MAYBE_GetLastUsedMarginSettingsDefault) { |
276 RequestPrintWithDefaultMargins(); | 261 RequestPrintWithDefaultMargins(); |
277 base::DictionaryValue initial_settings; | 262 base::DictionaryValue initial_settings; |
278 preview_ui_->handler_->GetLastUsedMarginSettings(&initial_settings); | 263 preview_ui_->handler_->GetLastUsedMarginSettings(&initial_settings); |
279 int margins_type; | 264 int margins_type; |
280 EXPECT_TRUE(initial_settings.GetInteger(printing::kSettingMarginsType, | 265 EXPECT_TRUE(initial_settings.GetInteger(printing::kSettingMarginsType, |
281 &margins_type)); | 266 &margins_type)); |
282 EXPECT_EQ(margins_type, printing::DEFAULT_MARGINS); | 267 EXPECT_EQ(margins_type, printing::DEFAULT_MARGINS); |
283 double margin_value; | 268 double margin_value; |
284 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginTop, | 269 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginTop, |
285 &margin_value)); | 270 &margin_value)); |
286 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginRight, | 271 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginRight, |
287 &margin_value)); | 272 &margin_value)); |
288 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginBottom, | 273 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginBottom, |
289 &margin_value)); | 274 &margin_value)); |
290 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginLeft, | 275 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginLeft, |
291 &margin_value)); | 276 &margin_value)); |
292 } | 277 } |
OLD | NEW |