| 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/prefs/pref_service.h" | 8 #include "chrome/browser/prefs/pref_service.h" |
| 9 #include "chrome/browser/printing/print_preview_tab_controller.h" | 9 #include "chrome/browser/printing/print_preview_tab_controller.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/browser_tabstrip.h" |
| 13 #include "chrome/browser/ui/constrained_window_tab_helper.h" | 13 #include "chrome/browser/ui/constrained_window_tab_helper.h" |
| 14 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 14 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
| 15 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" | 15 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" |
| 16 #include "chrome/common/pref_names.h" | 16 #include "chrome/common/pref_names.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 "content/public/browser/site_instance.h" | 18 #include "content/public/browser/site_instance.h" |
| 19 #include "content/public/browser/web_contents.h" | 19 #include "content/public/browser/web_contents.h" |
| 20 #include "content/public/test/web_contents_tester.h" | 20 #include "content/public/test/web_contents_tester.h" |
| 21 #include "printing/print_job_constants.h" | 21 #include "printing/print_job_constants.h" |
| 22 | 22 |
| 23 using content::WebContents; | 23 using content::WebContents; |
| 24 using content::WebContentsTester; | 24 using content::WebContentsTester; |
| 25 | 25 |
| 26 namespace { | 26 namespace { |
| 27 | 27 |
| 28 const unsigned char blob1[] = | 28 base::RefCountedBytes* CreateTestData() { |
| 29 "12346102356120394751634516591348710478123649165419234519234512349134"; | 29 const unsigned char blob1[] = |
| 30 "12346102356120394751634516591348710478123649165419234519234512349134"; |
| 31 std::vector<unsigned char> preview_data(blob1, blob1 + sizeof(blob1)); |
| 32 return new base::RefCountedBytes(preview_data); |
| 33 } |
| 30 | 34 |
| 31 size_t GetConstrainedWindowCount(TabContents* tab) { | 35 size_t GetConstrainedWindowCount(TabContents* tab) { |
| 32 return tab->constrained_window_tab_helper()->constrained_window_count(); | 36 return tab->constrained_window_tab_helper()->constrained_window_count(); |
| 33 } | 37 } |
| 34 | 38 |
| 35 } // namespace | 39 } // namespace |
| 36 | 40 |
| 37 class PrintPreviewUIUnitTest : public BrowserWithTestWindowTest { | 41 class PrintPreviewUIUnitTest : public BrowserWithTestWindowTest { |
| 38 public: | 42 public: |
| 39 PrintPreviewUIUnitTest() {} | 43 PrintPreviewUIUnitTest() {} |
| (...skipping 29 matching lines...) Expand all Loading... |
| 69 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 73 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
| 70 preview_tab->web_contents()->GetWebUI()->GetController()); | 74 preview_tab->web_contents()->GetWebUI()->GetController()); |
| 71 ASSERT_TRUE(preview_ui != NULL); | 75 ASSERT_TRUE(preview_ui != NULL); |
| 72 | 76 |
| 73 scoped_refptr<base::RefCountedBytes> data; | 77 scoped_refptr<base::RefCountedBytes> data; |
| 74 preview_ui->GetPrintPreviewDataForIndex( | 78 preview_ui->GetPrintPreviewDataForIndex( |
| 75 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, | 79 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, |
| 76 &data); | 80 &data); |
| 77 EXPECT_EQ(NULL, data.get()); | 81 EXPECT_EQ(NULL, data.get()); |
| 78 | 82 |
| 79 std::vector<unsigned char> preview_data(blob1, blob1 + sizeof(blob1)); | 83 scoped_refptr<base::RefCountedBytes> dummy_data = CreateTestData(); |
| 80 scoped_refptr<base::RefCountedBytes> dummy_data = | |
| 81 new base::RefCountedBytes(preview_data); | |
| 82 | 84 |
| 83 preview_ui->SetPrintPreviewDataForIndex( | 85 preview_ui->SetPrintPreviewDataForIndex( |
| 84 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, | 86 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, |
| 85 dummy_data.get()); | 87 dummy_data.get()); |
| 86 preview_ui->GetPrintPreviewDataForIndex( | 88 preview_ui->GetPrintPreviewDataForIndex( |
| 87 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, | 89 printing::COMPLETE_PREVIEW_DOCUMENT_INDEX, |
| 88 &data); | 90 &data); |
| 89 EXPECT_EQ(dummy_data->size(), data->size()); | 91 EXPECT_EQ(dummy_data->size(), data->size()); |
| 90 EXPECT_EQ(dummy_data.get(), data.get()); | 92 EXPECT_EQ(dummy_data.get(), data.get()); |
| 91 | 93 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 120 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); | 122 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); |
| 121 | 123 |
| 122 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 124 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
| 123 preview_tab->web_contents()->GetWebUI()->GetController()); | 125 preview_tab->web_contents()->GetWebUI()->GetController()); |
| 124 ASSERT_TRUE(preview_ui != NULL); | 126 ASSERT_TRUE(preview_ui != NULL); |
| 125 | 127 |
| 126 scoped_refptr<base::RefCountedBytes> data; | 128 scoped_refptr<base::RefCountedBytes> data; |
| 127 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); | 129 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); |
| 128 EXPECT_EQ(NULL, data.get()); | 130 EXPECT_EQ(NULL, data.get()); |
| 129 | 131 |
| 130 std::vector<unsigned char> preview_data(blob1, blob1 + sizeof(blob1)); | 132 scoped_refptr<base::RefCountedBytes> dummy_data = CreateTestData(); |
| 131 scoped_refptr<base::RefCountedBytes> dummy_data = | |
| 132 new base::RefCountedBytes(preview_data); | |
| 133 | 133 |
| 134 preview_ui->SetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, | 134 preview_ui->SetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, |
| 135 dummy_data.get()); | 135 dummy_data.get()); |
| 136 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); | 136 preview_ui->GetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX, &data); |
| 137 EXPECT_EQ(dummy_data->size(), data->size()); | 137 EXPECT_EQ(dummy_data->size(), data->size()); |
| 138 EXPECT_EQ(dummy_data.get(), data.get()); | 138 EXPECT_EQ(dummy_data.get(), data.get()); |
| 139 | 139 |
| 140 // Set and get the third page data. | 140 // Set and get the third page data. |
| 141 preview_ui->SetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX + 2, | 141 preview_ui->SetPrintPreviewDataForIndex(printing::FIRST_PAGE_INDEX + 2, |
| 142 dummy_data.get()); | 142 dummy_data.get()); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 EXPECT_NE(initiator_tab, preview_tab); | 178 EXPECT_NE(initiator_tab, preview_tab); |
| 179 EXPECT_EQ(1, browser()->tab_count()); | 179 EXPECT_EQ(1, browser()->tab_count()); |
| 180 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); | 180 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); |
| 181 | 181 |
| 182 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 182 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
| 183 preview_tab->web_contents()->GetWebUI()->GetController()); | 183 preview_tab->web_contents()->GetWebUI()->GetController()); |
| 184 ASSERT_TRUE(preview_ui != NULL); | 184 ASSERT_TRUE(preview_ui != NULL); |
| 185 | 185 |
| 186 // Test with invalid |preview_ui_addr|. | 186 // Test with invalid |preview_ui_addr|. |
| 187 bool cancel = false; | 187 bool cancel = false; |
| 188 preview_ui->GetCurrentPrintPreviewStatus("invalid", 0, &cancel); | 188 const int32 kInvalidId = -5; |
| 189 preview_ui->GetCurrentPrintPreviewStatus(kInvalidId, 0, &cancel); |
| 189 EXPECT_TRUE(cancel); | 190 EXPECT_TRUE(cancel); |
| 190 | 191 |
| 191 const int kFirstRequestId = 1000; | 192 const int kFirstRequestId = 1000; |
| 192 const int kSecondRequestId = 1001; | 193 const int kSecondRequestId = 1001; |
| 193 const std::string preview_ui_addr = preview_ui->GetPrintPreviewUIAddress(); | 194 const int32 preview_ui_addr = preview_ui->GetIDForPrintPreviewUI(); |
| 194 | 195 |
| 195 // Test with kFirstRequestId. | 196 // Test with kFirstRequestId. |
| 196 preview_ui->OnPrintPreviewRequest(kFirstRequestId); | 197 preview_ui->OnPrintPreviewRequest(kFirstRequestId); |
| 197 cancel = true; | 198 cancel = true; |
| 198 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kFirstRequestId, | 199 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kFirstRequestId, |
| 199 &cancel); | 200 &cancel); |
| 200 EXPECT_FALSE(cancel); | 201 EXPECT_FALSE(cancel); |
| 201 | 202 |
| 202 cancel = false; | 203 cancel = false; |
| 203 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kSecondRequestId, | 204 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kSecondRequestId, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 246 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
| 246 preview_tab->web_contents()->GetWebUI()->GetController()); | 247 preview_tab->web_contents()->GetWebUI()->GetController()); |
| 247 ASSERT_TRUE(preview_ui != NULL); | 248 ASSERT_TRUE(preview_ui != NULL); |
| 248 | 249 |
| 249 preview_ui->OnPrintPreviewTabClosed(); | 250 preview_ui->OnPrintPreviewTabClosed(); |
| 250 | 251 |
| 251 EXPECT_EQ(2, browser()->tab_count()); | 252 EXPECT_EQ(2, browser()->tab_count()); |
| 252 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); | 253 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); |
| 253 EXPECT_EQ(1, initiator_tester->GetNumberOfFocusCalls()); | 254 EXPECT_EQ(1, initiator_tester->GetNumberOfFocusCalls()); |
| 254 } | 255 } |
| OLD | NEW |