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

Side by Side Diff: chrome/browser/ui/webui/print_preview/hidden_web_contents_unittest.cc

Issue 1125343004: Add a "Simplify Page" option to the print preview dialog (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update AUTHORS file to reflect the correct HP name used in the CLA Created 5 years, 7 months 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
OLDNEW
(Empty)
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <string>
6 #include <vector>
7
8 #include "chrome/browser/printing/print_preview_test.h"
9 #include "chrome/browser/ui/browser_commands.h"
10 #include "chrome/browser/ui/tabs/tab_strip_model.h"
11 #include "chrome/browser/ui/webui/print_preview/hidden_web_contents.h"
12 #include "chrome/test/base/browser_with_test_window_test.h"
13
14 using content::WebContents;
15
16 class TestingObserver : public HiddenWebContents::Observer {
17 public:
18 TestingObserver() :
19 failed_(false) {}
20 ~TestingObserver() override {}
21
22 void OnFail(HiddenWebContents* contents) override {
23 failed_ = true;
24 }
25
26 void OnFinishedLoad(HiddenWebContents* contents) override {
27 }
28
29 bool failed() { return failed_; }
30
31 void Reset() {
32 failed_ = false;
33 }
34
35 private:
36 bool failed_;
37 };
38
39 class HiddenWebContentsUnitTest : public PrintPreviewTest {
40 public:
41 HiddenWebContentsUnitTest();
42 ~HiddenWebContentsUnitTest() override;
43
44 HiddenWebContents* CreateHiddenWebContentsForURL(GURL, TestingObserver&);
45
46 protected:
47 void SetUp() override;
48 private:
49 DISALLOW_COPY_AND_ASSIGN(HiddenWebContentsUnitTest);
50 };
51
52 HiddenWebContentsUnitTest::HiddenWebContentsUnitTest() {}
53 HiddenWebContentsUnitTest::~HiddenWebContentsUnitTest() {}
54
55 HiddenWebContents* HiddenWebContentsUnitTest::CreateHiddenWebContentsForURL(
56 GURL url, TestingObserver& observer) {
57
58 WebContents* initiator = browser()->tab_strip_model()->GetActiveWebContents();
59 Profile* profile =
60 Profile::FromBrowserContext(initiator->GetBrowserContext());
61
62 HiddenWebContents* hidden_web_contents = new HiddenWebContents(profile, url);
63 hidden_web_contents->AddObserver(&observer);
64
65 content::SessionStorageNamespace* session_storage_namespace =
66 initiator->GetController().GetDefaultSessionStorageNamespace();
67 hidden_web_contents->StartRendering(
68 gfx::Size(1, 1), session_storage_namespace);
69 return hidden_web_contents;
70 }
71
72 void HiddenWebContentsUnitTest::SetUp() {
73 PrintPreviewTest::SetUp();
74
75 chrome::NewTab(browser());
76 }
77
78 TEST_F(HiddenWebContentsUnitTest, ValidURL) {
79 TestingObserver observer;
80 scoped_ptr<HiddenWebContents> hidden_web_contents(
81 CreateHiddenWebContentsForURL(GURL("http://google.com"), observer));
82 ASSERT_TRUE(observer.failed());
83
84 hidden_web_contents->RemoveObserver(&observer);
85 observer.Reset();
86
87 hidden_web_contents.reset(
88 CreateHiddenWebContentsForURL(
89 GURL("chrome-distiller://fake/url"), observer));
90 ASSERT_FALSE(observer.failed());
91 hidden_web_contents->RemoveObserver(&observer);
92 }
93
94 static void DownloadCallback(bool should_continue) {
95 ASSERT_FALSE(should_continue);
96 }
97
98 TEST_F(HiddenWebContentsUnitTest, ContentFailures) {
99 TestingObserver observer;
100 scoped_ptr<HiddenWebContents> hidden_web_contents(
101 CreateHiddenWebContentsForURL(
102 GURL("chrome-distiller://fake/url"), observer));
103
104 content::OpenURLParams params(GURL(), content::Referrer(),
105 CURRENT_TAB, ui::PAGE_TRANSITION_AUTO_TOPLEVEL,
106 true /* is_renderer_initiated */);
107 WebContents* result_contents =
108 hidden_web_contents->web_contents()->GetDelegate()->OpenURLFromTab(
109 NULL, params);
110 ASSERT_TRUE(observer.failed());
111 ASSERT_EQ(NULL, result_contents);
112
113 hidden_web_contents->RemoveObserver(&observer);
114 observer.Reset();
115 hidden_web_contents.reset(
116 CreateHiddenWebContentsForURL(
117 GURL("chrome-distiller://fake/url"), observer));
118
119 hidden_web_contents->web_contents()->GetDelegate()->CloseContents(NULL);
120 ASSERT_TRUE(observer.failed());
121
122 hidden_web_contents->RemoveObserver(&observer);
123 observer.Reset();
124 hidden_web_contents.reset(
125 CreateHiddenWebContentsForURL(
126 GURL("chrome-distiller://fake/url"), observer));
127
128 hidden_web_contents->web_contents()->GetDelegate()->CanDownload(
129 NULL, GURL(), std::string(), base::Bind(&DownloadCallback));
130 ASSERT_TRUE(observer.failed());
131
132 hidden_web_contents->RemoveObserver(&observer);
133 observer.Reset();
134 hidden_web_contents.reset(
135 CreateHiddenWebContentsForURL(
136 GURL("chrome-distiller://fake/url"), observer));
137
138 bool result =
139 hidden_web_contents->web_contents()->
140 GetDelegate()->ShouldCreateWebContents(
141 NULL, 0, 0, WINDOW_CONTAINER_TYPE_NORMAL,
142 base::string16(), GURL(), std::string(), NULL);
143 ASSERT_TRUE(observer.failed());
144 ASSERT_FALSE(result);
145
146 hidden_web_contents->RemoveObserver(&observer);
147 observer.Reset();
148 hidden_web_contents.reset(
149 CreateHiddenWebContentsForURL(
150 GURL("chrome-distiller://fake/url"), observer));
151
152 result =
153 hidden_web_contents->web_contents()->GetDelegate()->ShouldSuppressDialogs(
154 NULL);
155 ASSERT_TRUE(observer.failed());
156 ASSERT_TRUE(result);
157
158 hidden_web_contents->RemoveObserver(&observer);
159 observer.Reset();
160 hidden_web_contents.reset(
161 CreateHiddenWebContentsForURL(
162 GURL("chrome-distiller://fake/url"), observer));
163 ASSERT_FALSE(observer.failed());
164
165 hidden_web_contents->web_contents()->GetDelegate()->RegisterProtocolHandler(
166 NULL, std::string(), GURL(), false);
167 ASSERT_TRUE(observer.failed());
168
169 hidden_web_contents->RemoveObserver(&observer);
170 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698