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

Side by Side Diff: chrome/browser/ui/webui/print_preview_handler_unittest.cc

Issue 8659014: Check that we have a focus manager in aura before trying to set focus. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: update, add print preview handler unittest also, same fix. Created 9 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/printing/print_view_manager.h" 11 #include "chrome/browser/printing/print_view_manager.h"
12 #include "chrome/browser/ui/browser_list.h" 12 #include "chrome/browser/ui/browser_list.h"
13 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 13 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
14 #include "chrome/browser/ui/webui/print_preview_handler.h" 14 #include "chrome/browser/ui/webui/print_preview_handler.h"
15 #include "chrome/browser/ui/webui/print_preview_ui.h" 15 #include "chrome/browser/ui/webui/print_preview_ui.h"
16 #include "chrome/common/chrome_switches.h" 16 #include "chrome/common/chrome_switches.h"
17 #include "chrome/test/base/browser_with_test_window_test.h" 17 #include "chrome/test/base/browser_with_test_window_test.h"
18 #include "printing/page_size_margins.h" 18 #include "printing/page_size_margins.h"
19 #include "printing/print_job_constants.h" 19 #include "printing/print_job_constants.h"
20 20
21 // Test crashes on Aura due to initiator tab's native view having no parent.
22 // http://crbug.com/104284
23 #if defined(USE_AURA)
24 #define MAYBE_StickyMarginsCustom DISABLED_StickyMarginsCustom
25 #define MAYBE_StickyMarginsDefault DISABLED_StickyMarginsDefault
26 #define MAYBE_StickyMarginsCustomThenDefault \
27 DISABLED_StickyMarginsCustomThenDefault
28 #define MAYBE_GetLastUsedMarginSettingsCustom \
29 DISABLED_GetLastUsedMarginSettingsCustom
30 #define MAYBE_GetLastUsedMarginSettingsDefault \
31 DISABLED_GetLastUsedMarginSettingsDefault
32 #else
33 #define MAYBE_StickyMarginsCustom StickyMarginsCustom
34 #define MAYBE_StickyMarginsDefault StickyMarginsDefault
35 #define MAYBE_StickyMarginsCustomThenDefault StickyMarginsCustomThenDefault
36 #define MAYBE_GetLastUsedMarginSettingsCustom GetLastUsedMarginSettingsCustom
37 #define MAYBE_GetLastUsedMarginSettingsDefault GetLastUsedMarginSettingsDefault
38 #endif
39
40 namespace { 21 namespace {
41 22
42 DictionaryValue* GetCustomMarginsDictionary( 23 DictionaryValue* GetCustomMarginsDictionary(
43 const double margin_top, const double margin_right, 24 const double margin_top, const double margin_right,
44 const double margin_bottom, const double margin_left) { 25 const double margin_bottom, const double margin_left) {
45 base::DictionaryValue* custom_settings = new base::DictionaryValue(); 26 base::DictionaryValue* custom_settings = new base::DictionaryValue();
46 custom_settings->SetDouble(printing::kSettingMarginTop, margin_top); 27 custom_settings->SetDouble(printing::kSettingMarginTop, margin_top);
47 custom_settings->SetDouble(printing::kSettingMarginRight, margin_right); 28 custom_settings->SetDouble(printing::kSettingMarginRight, margin_right);
48 custom_settings->SetDouble(printing::kSettingMarginBottom, margin_bottom); 29 custom_settings->SetDouble(printing::kSettingMarginBottom, margin_bottom);
49 custom_settings->SetDouble(printing::kSettingMarginLeft, margin_left); 30 custom_settings->SetDouble(printing::kSettingMarginLeft, margin_left);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 private: 144 private:
164 void ClearStickySettings() { 145 void ClearStickySettings() {
165 PrintPreviewHandler::last_used_margins_type_ = printing::DEFAULT_MARGINS; 146 PrintPreviewHandler::last_used_margins_type_ = printing::DEFAULT_MARGINS;
166 delete PrintPreviewHandler::last_used_page_size_margins_; 147 delete PrintPreviewHandler::last_used_page_size_margins_;
167 PrintPreviewHandler::last_used_page_size_margins_ = NULL; 148 PrintPreviewHandler::last_used_page_size_margins_ = NULL;
168 } 149 }
169 }; 150 };
170 151
171 // Tests that margin settings are saved correctly when printing with custom 152 // Tests that margin settings are saved correctly when printing with custom
172 // margins selected. 153 // margins selected.
173 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsCustom) { 154 TEST_F(PrintPreviewHandlerTest, StickyMarginsCustom) {
174 const double kMarginTop = 25.5; 155 const double kMarginTop = 25.5;
175 const double kMarginRight = 26.5; 156 const double kMarginRight = 26.5;
176 const double kMarginBottom = 27.5; 157 const double kMarginBottom = 27.5;
177 const double kMarginLeft = 28.5; 158 const double kMarginLeft = 28.5;
178 RequestPrintWithCustomMargins( 159 RequestPrintWithCustomMargins(
179 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); 160 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft);
180 EXPECT_EQ(1, browser()->tab_count()); 161 EXPECT_EQ(1, browser()->tab_count());
181 162
182 // Checking that sticky settings were saved correctly. 163 // Checking that sticky settings were saved correctly.
183 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); 164 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR);
184 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, 165 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_,
185 printing::CUSTOM_MARGINS); 166 printing::CUSTOM_MARGINS);
186 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); 167 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_);
187 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); 168 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft);
188 } 169 }
189 170
190 // Tests that margin settings are saved correctly when printing with default 171 // Tests that margin settings are saved correctly when printing with default
191 // margins selected. 172 // margins selected.
192 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsDefault) { 173 TEST_F(PrintPreviewHandlerTest, StickyMarginsDefault) {
193 RequestPrintWithDefaultMargins(); 174 RequestPrintWithDefaultMargins();
194 EXPECT_EQ(1, browser()->tab_count()); 175 EXPECT_EQ(1, browser()->tab_count());
195 176
196 // Checking that sticky settings were saved correctly. 177 // Checking that sticky settings were saved correctly.
197 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); 178 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR);
198 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, 179 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_,
199 printing::DEFAULT_MARGINS); 180 printing::DEFAULT_MARGINS);
200 ASSERT_FALSE(PrintPreviewHandler::last_used_page_size_margins_); 181 ASSERT_FALSE(PrintPreviewHandler::last_used_page_size_margins_);
201 } 182 }
202 183
203 // Tests that margin settings are saved correctly when printing with custom 184 // Tests that margin settings are saved correctly when printing with custom
204 // margins selected and then again with default margins selected. 185 // margins selected and then again with default margins selected.
205 TEST_F(PrintPreviewHandlerTest, MAYBE_StickyMarginsCustomThenDefault) { 186 TEST_F(PrintPreviewHandlerTest, StickyMarginsCustomThenDefault) {
206 const double kMarginTop = 125.5; 187 const double kMarginTop = 125.5;
207 const double kMarginRight = 126.5; 188 const double kMarginRight = 126.5;
208 const double kMarginBottom = 127.5; 189 const double kMarginBottom = 127.5;
209 const double kMarginLeft = 128.5; 190 const double kMarginLeft = 128.5;
210 RequestPrintWithCustomMargins( 191 RequestPrintWithCustomMargins(
211 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); 192 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft);
212 EXPECT_EQ(1, browser()->tab_count()); 193 EXPECT_EQ(1, browser()->tab_count());
213 DeletePrintPreviewTab(); 194 DeletePrintPreviewTab();
214 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, 195 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_,
215 printing::CUSTOM_MARGINS); 196 printing::CUSTOM_MARGINS);
216 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); 197 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_);
217 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); 198 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft);
218 199
219 OpenPrintPreviewTab(); 200 OpenPrintPreviewTab();
220 RequestPrintWithDefaultMargins(); 201 RequestPrintWithDefaultMargins();
221 202
222 // Checking that sticky settings were saved correctly. 203 // Checking that sticky settings were saved correctly.
223 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR); 204 EXPECT_EQ(PrintPreviewHandler::last_used_color_model_, printing::COLOR);
224 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_, 205 EXPECT_EQ(PrintPreviewHandler::last_used_margins_type_,
225 printing::DEFAULT_MARGINS); 206 printing::DEFAULT_MARGINS);
226 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_); 207 ASSERT_TRUE(PrintPreviewHandler::last_used_page_size_margins_);
227 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); 208 CheckCustomMargins(kMarginTop, kMarginRight, kMarginBottom, kMarginLeft);
228 } 209 }
229 210
230 // Tests that margin settings are retrieved correctly after printing with custom 211 // Tests that margin settings are retrieved correctly after printing with custom
231 // margins. 212 // margins.
232 TEST_F(PrintPreviewHandlerTest, MAYBE_GetLastUsedMarginSettingsCustom) { 213 TEST_F(PrintPreviewHandlerTest, GetLastUsedMarginSettingsCustom) {
233 const double kMarginTop = 125.5; 214 const double kMarginTop = 125.5;
234 const double kMarginRight = 126.5; 215 const double kMarginRight = 126.5;
235 const double kMarginBottom = 127.5; 216 const double kMarginBottom = 127.5;
236 const double kMarginLeft = 128.5; 217 const double kMarginLeft = 128.5;
237 RequestPrintWithCustomMargins( 218 RequestPrintWithCustomMargins(
238 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft); 219 kMarginTop, kMarginRight, kMarginBottom, kMarginLeft);
239 base::DictionaryValue initial_settings; 220 base::DictionaryValue initial_settings;
240 preview_ui_->handler_->GetLastUsedMarginSettings(&initial_settings); 221 preview_ui_->handler_->GetLastUsedMarginSettings(&initial_settings);
241 int margins_type; 222 int margins_type;
242 EXPECT_TRUE(initial_settings.GetInteger(printing::kSettingMarginsType, 223 EXPECT_TRUE(initial_settings.GetInteger(printing::kSettingMarginsType,
243 &margins_type)); 224 &margins_type));
244 EXPECT_EQ(margins_type, printing::CUSTOM_MARGINS); 225 EXPECT_EQ(margins_type, printing::CUSTOM_MARGINS);
245 double margin_value; 226 double margin_value;
246 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginTop, 227 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginTop,
247 &margin_value)); 228 &margin_value));
248 EXPECT_EQ(kMarginTop, margin_value); 229 EXPECT_EQ(kMarginTop, margin_value);
249 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginRight, 230 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginRight,
250 &margin_value)); 231 &margin_value));
251 EXPECT_EQ(kMarginRight, margin_value); 232 EXPECT_EQ(kMarginRight, margin_value);
252 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginBottom, 233 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginBottom,
253 &margin_value)); 234 &margin_value));
254 EXPECT_EQ(kMarginBottom, margin_value); 235 EXPECT_EQ(kMarginBottom, margin_value);
255 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginLeft, 236 EXPECT_TRUE(initial_settings.GetDouble(printing::kSettingMarginLeft,
256 &margin_value)); 237 &margin_value));
257 EXPECT_EQ(kMarginLeft, margin_value); 238 EXPECT_EQ(kMarginLeft, margin_value);
258 } 239 }
259 240
260 // Tests that margin settings are retrieved correctly after printing with 241 // Tests that margin settings are retrieved correctly after printing with
261 // default margins. 242 // default margins.
262 TEST_F(PrintPreviewHandlerTest, MAYBE_GetLastUsedMarginSettingsDefault) { 243 TEST_F(PrintPreviewHandlerTest, GetLastUsedMarginSettingsDefault) {
263 RequestPrintWithDefaultMargins(); 244 RequestPrintWithDefaultMargins();
264 base::DictionaryValue initial_settings; 245 base::DictionaryValue initial_settings;
265 preview_ui_->handler_->GetLastUsedMarginSettings(&initial_settings); 246 preview_ui_->handler_->GetLastUsedMarginSettings(&initial_settings);
266 int margins_type; 247 int margins_type;
267 EXPECT_TRUE(initial_settings.GetInteger(printing::kSettingMarginsType, 248 EXPECT_TRUE(initial_settings.GetInteger(printing::kSettingMarginsType,
268 &margins_type)); 249 &margins_type));
269 EXPECT_EQ(margins_type, printing::DEFAULT_MARGINS); 250 EXPECT_EQ(margins_type, printing::DEFAULT_MARGINS);
270 double margin_value; 251 double margin_value;
271 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginTop, 252 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginTop,
272 &margin_value)); 253 &margin_value));
273 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginRight, 254 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginRight,
274 &margin_value)); 255 &margin_value));
275 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginBottom, 256 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginBottom,
276 &margin_value)); 257 &margin_value));
277 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginLeft, 258 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginLeft,
278 &margin_value)); 259 &margin_value));
279 } 260 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698