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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/memory/ref_counted_memory.h" | 7 #include "base/memory/ref_counted_memory.h" |
8 #include "chrome/browser/printing/print_preview_tab_controller.h" | 8 #include "chrome/browser/printing/print_preview_tab_controller.h" |
9 #include "chrome/browser/printing/print_preview_unit_test_base.h" | 9 #include "chrome/browser/printing/print_preview_unit_test_base.h" |
10 #include "chrome/browser/printing/print_view_manager.h" | 10 #include "chrome/browser/printing/print_view_manager.h" |
11 #include "chrome/browser/ui/browser_commands.h" | 11 #include "chrome/browser/ui/browser_commands.h" |
| 12 #include "chrome/browser/ui/browser_tabstrip.h" |
12 #include "chrome/browser/ui/constrained_window_tab_helper.h" | 13 #include "chrome/browser/ui/constrained_window_tab_helper.h" |
13 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 14 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
14 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" | 15 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" |
15 #include "content/public/browser/site_instance.h" | 16 #include "content/public/browser/site_instance.h" |
16 #include "content/public/browser/web_contents.h" | 17 #include "content/public/browser/web_contents.h" |
17 #include "content/public/test/web_contents_tester.h" | 18 #include "content/public/test/web_contents_tester.h" |
18 #include "printing/print_job_constants.h" | 19 #include "printing/print_job_constants.h" |
19 | 20 |
20 using content::WebContents; | 21 using content::WebContents; |
21 using content::WebContentsTester; | 22 using content::WebContentsTester; |
(...skipping 17 matching lines...) Expand all Loading... |
39 protected: | 40 protected: |
40 virtual void SetUp() OVERRIDE { | 41 virtual void SetUp() OVERRIDE { |
41 PrintPreviewUnitTestBase::SetUp(); | 42 PrintPreviewUnitTestBase::SetUp(); |
42 | 43 |
43 chrome::NewTab(browser()); | 44 chrome::NewTab(browser()); |
44 } | 45 } |
45 }; | 46 }; |
46 | 47 |
47 // Create/Get a preview tab for initiator tab. | 48 // Create/Get a preview tab for initiator tab. |
48 TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) { | 49 TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) { |
49 TabContents* initiator_tab = browser()->GetActiveTabContents(); | 50 TabContents* initiator_tab = chrome::GetActiveTabContents(browser()); |
50 ASSERT_TRUE(initiator_tab); | 51 ASSERT_TRUE(initiator_tab); |
51 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); | 52 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); |
52 | 53 |
53 printing::PrintPreviewTabController* controller = | 54 printing::PrintPreviewTabController* controller = |
54 printing::PrintPreviewTabController::GetInstance(); | 55 printing::PrintPreviewTabController::GetInstance(); |
55 ASSERT_TRUE(controller); | 56 ASSERT_TRUE(controller); |
56 | 57 |
57 initiator_tab->print_view_manager()->PrintPreviewNow(); | 58 initiator_tab->print_view_manager()->PrintPreviewNow(); |
58 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); | 59 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); |
59 | 60 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 preview_ui->ClearAllPreviewData(); | 94 preview_ui->ClearAllPreviewData(); |
94 | 95 |
95 preview_ui->GetPrintPreviewDataForIndex( | 96 preview_ui->GetPrintPreviewDataForIndex( |
96 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, | 97 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, |
97 &data); | 98 &data); |
98 EXPECT_EQ(NULL, data.get()); | 99 EXPECT_EQ(NULL, data.get()); |
99 } | 100 } |
100 | 101 |
101 // Set and get the individual draft pages. | 102 // Set and get the individual draft pages. |
102 TEST_F(PrintPreviewUIUnitTest, PrintPreviewDraftPages) { | 103 TEST_F(PrintPreviewUIUnitTest, PrintPreviewDraftPages) { |
103 TabContents* initiator_tab = browser()->GetActiveTabContents(); | 104 TabContents* initiator_tab = chrome::GetActiveTabContents(browser()); |
104 ASSERT_TRUE(initiator_tab); | 105 ASSERT_TRUE(initiator_tab); |
105 | 106 |
106 printing::PrintPreviewTabController* controller = | 107 printing::PrintPreviewTabController* controller = |
107 printing::PrintPreviewTabController::GetInstance(); | 108 printing::PrintPreviewTabController::GetInstance(); |
108 ASSERT_TRUE(controller); | 109 ASSERT_TRUE(controller); |
109 | 110 |
110 initiator_tab->print_view_manager()->PrintPreviewNow(); | 111 initiator_tab->print_view_manager()->PrintPreviewNow(); |
111 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); | 112 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); |
112 | 113 |
113 EXPECT_NE(initiator_tab, preview_tab); | 114 EXPECT_NE(initiator_tab, preview_tab); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 EXPECT_EQ(dummy_data.get(), data.get()); | 154 EXPECT_EQ(dummy_data.get(), data.get()); |
154 | 155 |
155 // Clear the preview data. | 156 // Clear the preview data. |
156 preview_ui->ClearAllPreviewData(); | 157 preview_ui->ClearAllPreviewData(); |
157 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); | 158 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); |
158 EXPECT_EQ(NULL, data.get()); | 159 EXPECT_EQ(NULL, data.get()); |
159 } | 160 } |
160 | 161 |
161 // Test the browser-side print preview cancellation functionality. | 162 // Test the browser-side print preview cancellation functionality. |
162 TEST_F(PrintPreviewUIUnitTest, GetCurrentPrintPreviewStatus) { | 163 TEST_F(PrintPreviewUIUnitTest, GetCurrentPrintPreviewStatus) { |
163 TabContents* initiator_tab = browser()->GetActiveTabContents(); | 164 TabContents* initiator_tab = chrome::GetActiveTabContents(browser()); |
164 ASSERT_TRUE(initiator_tab); | 165 ASSERT_TRUE(initiator_tab); |
165 | 166 |
166 printing::PrintPreviewTabController* controller = | 167 printing::PrintPreviewTabController* controller = |
167 printing::PrintPreviewTabController::GetInstance(); | 168 printing::PrintPreviewTabController::GetInstance(); |
168 ASSERT_TRUE(controller); | 169 ASSERT_TRUE(controller); |
169 | 170 |
170 initiator_tab->print_view_manager()->PrintPreviewNow(); | 171 initiator_tab->print_view_manager()->PrintPreviewNow(); |
171 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); | 172 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); |
172 | 173 |
173 EXPECT_NE(initiator_tab, preview_tab); | 174 EXPECT_NE(initiator_tab, preview_tab); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 &cancel); | 212 &cancel); |
212 EXPECT_FALSE(cancel); | 213 EXPECT_FALSE(cancel); |
213 } | 214 } |
214 | 215 |
215 TEST_F(PrintPreviewUIUnitTest, InitiatorTabGetsFocusOnPrintPreviewTabClose) { | 216 TEST_F(PrintPreviewUIUnitTest, InitiatorTabGetsFocusOnPrintPreviewTabClose) { |
216 EXPECT_EQ(1, browser()->tab_count()); | 217 EXPECT_EQ(1, browser()->tab_count()); |
217 WebContents* initiator_contents = | 218 WebContents* initiator_contents = |
218 WebContentsTester::CreateTestWebContentsCountFocus(profile(), NULL); | 219 WebContentsTester::CreateTestWebContentsCountFocus(profile(), NULL); |
219 WebContentsTester* initiator_tester = | 220 WebContentsTester* initiator_tester = |
220 WebContentsTester::For(initiator_contents); | 221 WebContentsTester::For(initiator_contents); |
221 browser()->AddWebContents(initiator_contents, | 222 chrome::AddWebContents(browser(), NULL, initiator_contents, |
222 NEW_FOREGROUND_TAB, | 223 NEW_FOREGROUND_TAB, gfx::Rect(), false); |
223 gfx::Rect(), | |
224 false); | |
225 TabContents* initiator_tab = TabContents::FromWebContents(initiator_contents); | 224 TabContents* initiator_tab = TabContents::FromWebContents(initiator_contents); |
226 ASSERT_TRUE(initiator_tab); | 225 ASSERT_TRUE(initiator_tab); |
227 EXPECT_EQ(2, browser()->tab_count()); | 226 EXPECT_EQ(2, browser()->tab_count()); |
228 EXPECT_EQ(0, initiator_tester->GetNumberOfFocusCalls()); | 227 EXPECT_EQ(0, initiator_tester->GetNumberOfFocusCalls()); |
229 | 228 |
230 printing::PrintPreviewTabController* controller = | 229 printing::PrintPreviewTabController* controller = |
231 printing::PrintPreviewTabController::GetInstance(); | 230 printing::PrintPreviewTabController::GetInstance(); |
232 ASSERT_TRUE(controller); | 231 ASSERT_TRUE(controller); |
233 | 232 |
234 initiator_tab->print_view_manager()->PrintPreviewNow(); | 233 initiator_tab->print_view_manager()->PrintPreviewNow(); |
235 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); | 234 TabContents* preview_tab = controller->GetOrCreatePreviewTab(initiator_tab); |
236 | 235 |
237 EXPECT_NE(initiator_tab, preview_tab); | 236 EXPECT_NE(initiator_tab, preview_tab); |
238 EXPECT_EQ(2, browser()->tab_count()); | 237 EXPECT_EQ(2, browser()->tab_count()); |
239 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); | 238 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); |
240 EXPECT_EQ(0, initiator_tester->GetNumberOfFocusCalls()); | 239 EXPECT_EQ(0, initiator_tester->GetNumberOfFocusCalls()); |
241 | 240 |
242 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 241 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
243 preview_tab->web_contents()->GetWebUI()->GetController()); | 242 preview_tab->web_contents()->GetWebUI()->GetController()); |
244 ASSERT_TRUE(preview_ui != NULL); | 243 ASSERT_TRUE(preview_ui != NULL); |
245 | 244 |
246 preview_ui->OnPrintPreviewTabClosed(); | 245 preview_ui->OnPrintPreviewTabClosed(); |
247 | 246 |
248 EXPECT_EQ(2, browser()->tab_count()); | 247 EXPECT_EQ(2, browser()->tab_count()); |
249 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); | 248 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); |
250 EXPECT_EQ(1, initiator_tester->GetNumberOfFocusCalls()); | 249 EXPECT_EQ(1, initiator_tester->GetNumberOfFocusCalls()); |
251 } | 250 } |
OLD | NEW |