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 "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
9 #include "chrome/browser/printing/print_preview_dialog_controller.h" | 9 #include "chrome/browser/printing/print_preview_dialog_controller.h" |
10 #include "chrome/browser/printing/print_preview_test.h" | 10 #include "chrome/browser/printing/print_preview_test.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 55 |
56 PrintPreviewUIUnitTest::PrintPreviewUIUnitTest() {} | 56 PrintPreviewUIUnitTest::PrintPreviewUIUnitTest() {} |
57 PrintPreviewUIUnitTest::~PrintPreviewUIUnitTest() {} | 57 PrintPreviewUIUnitTest::~PrintPreviewUIUnitTest() {} |
58 | 58 |
59 void PrintPreviewUIUnitTest::SetUp() { | 59 void PrintPreviewUIUnitTest::SetUp() { |
60 PrintPreviewTest::SetUp(); | 60 PrintPreviewTest::SetUp(); |
61 | 61 |
62 chrome::NewTab(browser()); | 62 chrome::NewTab(browser()); |
63 } | 63 } |
64 | 64 |
65 // Create/Get a preview tab for initiator tab. | 65 // Create/Get a preview tab for initiator. |
66 TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) { | 66 TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) { |
67 WebContents* initiator_tab = | 67 WebContents* initiator = browser()->tab_strip_model()->GetActiveWebContents(); |
68 browser()->tab_strip_model()->GetActiveWebContents(); | 68 ASSERT_TRUE(initiator); |
69 ASSERT_TRUE(initiator_tab); | 69 EXPECT_FALSE(IsShowingWebContentsModalDialog(initiator)); |
70 EXPECT_FALSE(IsShowingWebContentsModalDialog(initiator_tab)); | |
71 | 70 |
72 printing::PrintPreviewDialogController* controller = | 71 printing::PrintPreviewDialogController* controller = |
73 printing::PrintPreviewDialogController::GetInstance(); | 72 printing::PrintPreviewDialogController::GetInstance(); |
74 ASSERT_TRUE(controller); | 73 ASSERT_TRUE(controller); |
75 | 74 |
76 printing::PrintViewManager* print_view_manager = | 75 printing::PrintViewManager* print_view_manager = |
77 printing::PrintViewManager::FromWebContents(initiator_tab); | 76 printing::PrintViewManager::FromWebContents(initiator); |
78 print_view_manager->PrintPreviewNow(false); | 77 print_view_manager->PrintPreviewNow(false); |
79 WebContents* preview_dialog = | 78 WebContents* preview_dialog = controller->GetOrCreatePreviewDialog(initiator); |
80 controller->GetOrCreatePreviewDialog(initiator_tab); | |
81 | 79 |
82 EXPECT_NE(initiator_tab, preview_dialog); | 80 EXPECT_NE(initiator, preview_dialog); |
83 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 81 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
84 EXPECT_TRUE(IsShowingWebContentsModalDialog(initiator_tab)); | 82 EXPECT_TRUE(IsShowingWebContentsModalDialog(initiator)); |
85 | 83 |
86 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 84 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
87 preview_dialog->GetWebUI()->GetController()); | 85 preview_dialog->GetWebUI()->GetController()); |
88 ASSERT_TRUE(preview_ui != NULL); | 86 ASSERT_TRUE(preview_ui != NULL); |
89 | 87 |
90 scoped_refptr<base::RefCountedBytes> data; | 88 scoped_refptr<base::RefCountedBytes> data; |
91 preview_ui->GetPrintPreviewDataForIndex( | 89 preview_ui->GetPrintPreviewDataForIndex( |
92 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, | 90 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, |
93 &data); | 91 &data); |
94 EXPECT_EQ(NULL, data.get()); | 92 EXPECT_EQ(NULL, data.get()); |
(...skipping 18 matching lines...) Expand all Loading... |
113 preview_ui->ClearAllPreviewData(); | 111 preview_ui->ClearAllPreviewData(); |
114 | 112 |
115 preview_ui->GetPrintPreviewDataForIndex( | 113 preview_ui->GetPrintPreviewDataForIndex( |
116 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, | 114 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, |
117 &data); | 115 &data); |
118 EXPECT_EQ(NULL, data.get()); | 116 EXPECT_EQ(NULL, data.get()); |
119 } | 117 } |
120 | 118 |
121 // Set and get the individual draft pages. | 119 // Set and get the individual draft pages. |
122 TEST_F(PrintPreviewUIUnitTest, PrintPreviewDraftPages) { | 120 TEST_F(PrintPreviewUIUnitTest, PrintPreviewDraftPages) { |
123 WebContents* initiator_tab = | 121 WebContents* initiator = browser()->tab_strip_model()->GetActiveWebContents(); |
124 browser()->tab_strip_model()->GetActiveWebContents(); | 122 ASSERT_TRUE(initiator); |
125 ASSERT_TRUE(initiator_tab); | |
126 | 123 |
127 printing::PrintPreviewDialogController* controller = | 124 printing::PrintPreviewDialogController* controller = |
128 printing::PrintPreviewDialogController::GetInstance(); | 125 printing::PrintPreviewDialogController::GetInstance(); |
129 ASSERT_TRUE(controller); | 126 ASSERT_TRUE(controller); |
130 | 127 |
131 printing::PrintViewManager* print_view_manager = | 128 printing::PrintViewManager* print_view_manager = |
132 printing::PrintViewManager::FromWebContents(initiator_tab); | 129 printing::PrintViewManager::FromWebContents(initiator); |
133 print_view_manager->PrintPreviewNow(false); | 130 print_view_manager->PrintPreviewNow(false); |
134 WebContents* preview_dialog = | 131 WebContents* preview_dialog = controller->GetOrCreatePreviewDialog(initiator); |
135 controller->GetOrCreatePreviewDialog(initiator_tab); | |
136 | 132 |
137 EXPECT_NE(initiator_tab, preview_dialog); | 133 EXPECT_NE(initiator, preview_dialog); |
138 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 134 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
139 EXPECT_TRUE(IsShowingWebContentsModalDialog(initiator_tab)); | 135 EXPECT_TRUE(IsShowingWebContentsModalDialog(initiator)); |
140 | 136 |
141 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 137 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
142 preview_dialog->GetWebUI()->GetController()); | 138 preview_dialog->GetWebUI()->GetController()); |
143 ASSERT_TRUE(preview_ui != NULL); | 139 ASSERT_TRUE(preview_ui != NULL); |
144 | 140 |
145 scoped_refptr<base::RefCountedBytes> data; | 141 scoped_refptr<base::RefCountedBytes> data; |
146 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); | 142 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); |
147 EXPECT_EQ(NULL, data.get()); | 143 EXPECT_EQ(NULL, data.get()); |
148 | 144 |
149 scoped_refptr<base::RefCountedBytes> dummy_data = CreateTestData(); | 145 scoped_refptr<base::RefCountedBytes> dummy_data = CreateTestData(); |
(...skipping 25 matching lines...) Expand all Loading... |
175 EXPECT_EQ(dummy_data.get(), data.get()); | 171 EXPECT_EQ(dummy_data.get(), data.get()); |
176 | 172 |
177 // Clear the preview data. | 173 // Clear the preview data. |
178 preview_ui->ClearAllPreviewData(); | 174 preview_ui->ClearAllPreviewData(); |
179 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); | 175 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); |
180 EXPECT_EQ(NULL, data.get()); | 176 EXPECT_EQ(NULL, data.get()); |
181 } | 177 } |
182 | 178 |
183 // Test the browser-side print preview cancellation functionality. | 179 // Test the browser-side print preview cancellation functionality. |
184 TEST_F(PrintPreviewUIUnitTest, GetCurrentPrintPreviewStatus) { | 180 TEST_F(PrintPreviewUIUnitTest, GetCurrentPrintPreviewStatus) { |
185 WebContents* initiator_tab = | 181 WebContents* initiator = browser()->tab_strip_model()->GetActiveWebContents(); |
186 browser()->tab_strip_model()->GetActiveWebContents(); | 182 ASSERT_TRUE(initiator); |
187 ASSERT_TRUE(initiator_tab); | |
188 | 183 |
189 printing::PrintPreviewDialogController* controller = | 184 printing::PrintPreviewDialogController* controller = |
190 printing::PrintPreviewDialogController::GetInstance(); | 185 printing::PrintPreviewDialogController::GetInstance(); |
191 ASSERT_TRUE(controller); | 186 ASSERT_TRUE(controller); |
192 | 187 |
193 printing::PrintViewManager* print_view_manager = | 188 printing::PrintViewManager* print_view_manager = |
194 printing::PrintViewManager::FromWebContents(initiator_tab); | 189 printing::PrintViewManager::FromWebContents(initiator); |
195 print_view_manager->PrintPreviewNow(false); | 190 print_view_manager->PrintPreviewNow(false); |
196 WebContents* preview_dialog = | 191 WebContents* preview_dialog = controller->GetOrCreatePreviewDialog(initiator); |
197 controller->GetOrCreatePreviewDialog(initiator_tab); | |
198 | 192 |
199 EXPECT_NE(initiator_tab, preview_dialog); | 193 EXPECT_NE(initiator, preview_dialog); |
200 EXPECT_EQ(1, browser()->tab_strip_model()->count()); | 194 EXPECT_EQ(1, browser()->tab_strip_model()->count()); |
201 EXPECT_TRUE(IsShowingWebContentsModalDialog(initiator_tab)); | 195 EXPECT_TRUE(IsShowingWebContentsModalDialog(initiator)); |
202 | 196 |
203 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 197 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
204 preview_dialog->GetWebUI()->GetController()); | 198 preview_dialog->GetWebUI()->GetController()); |
205 ASSERT_TRUE(preview_ui != NULL); | 199 ASSERT_TRUE(preview_ui != NULL); |
206 | 200 |
207 // Test with invalid |preview_ui_addr|. | 201 // Test with invalid |preview_ui_addr|. |
208 bool cancel = false; | 202 bool cancel = false; |
209 const int32 kInvalidId = -5; | 203 const int32 kInvalidId = -5; |
210 preview_ui->GetCurrentPrintPreviewStatus(kInvalidId, 0, &cancel); | 204 preview_ui->GetCurrentPrintPreviewStatus(kInvalidId, 0, &cancel); |
211 EXPECT_TRUE(cancel); | 205 EXPECT_TRUE(cancel); |
(...skipping 19 matching lines...) Expand all Loading... |
231 cancel = false; | 225 cancel = false; |
232 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kFirstRequestId, | 226 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kFirstRequestId, |
233 &cancel); | 227 &cancel); |
234 EXPECT_TRUE(cancel); | 228 EXPECT_TRUE(cancel); |
235 | 229 |
236 cancel = true; | 230 cancel = true; |
237 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kSecondRequestId, | 231 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kSecondRequestId, |
238 &cancel); | 232 &cancel); |
239 EXPECT_FALSE(cancel); | 233 EXPECT_FALSE(cancel); |
240 } | 234 } |
OLD | NEW |