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

Side by Side Diff: content/renderer/previews_state_helper_unittest.cc

Issue 2910783002: Adds Lo-Fi fallback support for new Data Reduction Proxy protocol. (Closed)
Patch Set: Added integration test the excercises page-polices fallback Created 3 years, 6 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 2017 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 "content/renderer/previews_state_helper.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7
8 namespace content {
9
10 namespace {} // namespaces
megjablon 2017/06/05 23:47:59 Remove
dougarnett 2017/06/06 16:49:46 Done.
11
12 TEST(PreviewsStateHelperTest, UpdatePreviewsStateNoServerTransformRequested) {
13 blink::WebURLResponse response_no_headers;
megjablon 2017/06/05 23:47:59 update your #includes
dougarnett 2017/06/06 16:49:46 Done.
14
15 // No transforms specified.
16 EXPECT_EQ(PREVIEWS_UNSPECIFIED,
17 UpdatePreviewsStateFromMainFrameResponse(PREVIEWS_UNSPECIFIED,
18 response_no_headers));
19
20 // Client Lo-Fi preserved if no Server Lo-Fi nor Lite Page.
21 EXPECT_EQ(CLIENT_LOFI_ON, UpdatePreviewsStateFromMainFrameResponse(
22 CLIENT_LOFI_ON, response_no_headers));
23 }
24
25 TEST(PreviewsStateHelperTest, UpdatePreviewsStateNoTransformResponseHeaders) {
26 blink::WebURLResponse response_no_headers;
27 // Lite Page enabled but no CPCT nor page-polices => all cleared.
28 EXPECT_EQ(PREVIEWS_UNSPECIFIED,
29 UpdatePreviewsStateFromMainFrameResponse(
30 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON | CLIENT_LOFI_ON,
31 response_no_headers));
32 EXPECT_EQ(PREVIEWS_UNSPECIFIED,
33 UpdatePreviewsStateFromMainFrameResponse(SERVER_LITE_PAGE_ON,
34 response_no_headers));
35 EXPECT_EQ(PREVIEWS_UNSPECIFIED,
36 UpdatePreviewsStateFromMainFrameResponse(
37 SERVER_LITE_PAGE_ON | CLIENT_LOFI_ON, response_no_headers));
38 EXPECT_EQ(PREVIEWS_UNSPECIFIED,
39 UpdatePreviewsStateFromMainFrameResponse(
40 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON, response_no_headers));
41
42 // Legacy Lo-Fi path (Lite Pages not enabled but Server Lo-Fi is).
43 EXPECT_EQ(SERVER_LOFI_ON, UpdatePreviewsStateFromMainFrameResponse(
44 SERVER_LOFI_ON, response_no_headers));
45 EXPECT_EQ(SERVER_LOFI_ON | CLIENT_LOFI_ON,
46 UpdatePreviewsStateFromMainFrameResponse(
47 SERVER_LOFI_ON | CLIENT_LOFI_ON, response_no_headers));
48 }
49
50 TEST(PreviewsStateHelperTest, UpdatePreviewsStateLitePageTransform) {
51 blink::WebURLResponse response_with_lite_page;
52 response_with_lite_page.AddHTTPHeaderField("chrome-proxy-content-transform",
53 "lite-page");
54 EXPECT_EQ(SERVER_LITE_PAGE_ON,
55 UpdatePreviewsStateFromMainFrameResponse(SERVER_LITE_PAGE_ON,
56 response_with_lite_page));
57 EXPECT_EQ(SERVER_LITE_PAGE_ON,
58 UpdatePreviewsStateFromMainFrameResponse(
59 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON | CLIENT_LOFI_ON,
60 response_with_lite_page));
61 EXPECT_EQ(SERVER_LITE_PAGE_ON,
62 UpdatePreviewsStateFromMainFrameResponse(
63 SERVER_LITE_PAGE_ON | CLIENT_LOFI_ON, response_with_lite_page));
64 EXPECT_EQ(SERVER_LITE_PAGE_ON,
65 UpdatePreviewsStateFromMainFrameResponse(
66 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON, response_with_lite_page));
67 }
68
69 TEST(PreviewsStateHelperTest, UpdatePreviewsStateLoFiFallbackPagePolicy) {
70 blink::WebURLResponse response_with_page_policy;
71 response_with_page_policy.AddHTTPHeaderField("Chrome-Proxy", "SomeNoise");
72 response_with_page_policy.AddHTTPHeaderField("Chrome-Proxy",
73 "Page-Policies=Empty-Image");
74
75 // No fallbacks if Server Lo-Fi not enabled.
76 EXPECT_EQ(PREVIEWS_UNSPECIFIED,
77 UpdatePreviewsStateFromMainFrameResponse(
78 SERVER_LITE_PAGE_ON, response_with_page_policy));
79 EXPECT_EQ(PREVIEWS_UNSPECIFIED, UpdatePreviewsStateFromMainFrameResponse(
80 SERVER_LITE_PAGE_ON | CLIENT_LOFI_ON,
81 response_with_page_policy));
82
83 // Lo-Fi fallbacks if Server Lo-Fi enabled and get empty-image directive.
84 EXPECT_EQ(SERVER_LOFI_ON | CLIENT_LOFI_ON,
85 UpdatePreviewsStateFromMainFrameResponse(
86 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON | CLIENT_LOFI_ON,
87 response_with_page_policy));
88 EXPECT_EQ(SERVER_LOFI_ON, UpdatePreviewsStateFromMainFrameResponse(
89 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON,
90 response_with_page_policy));
91 }
92
93 TEST(PreviewsStateHelperTest, UpdatePreviewsStateLoFiFallbackAndOtherPolicies) {
94 blink::WebURLResponse response_with_page_policy;
95 response_with_page_policy.AddHTTPHeaderField("chrome-proxy", "Prefix=Noise");
96 response_with_page_policy.AddHTTPHeaderField(
97 "chrome-proxy", "page-policies=new-hotness|empty-image|newer-hotness");
98 response_with_page_policy.AddHTTPHeaderField("chrome-proxy",
99 "Suffix=More|Noise");
100
101 // Lo-Fi fallbacks if Server Lo-Fi enabled and get empty-image directive.
102 EXPECT_EQ(SERVER_LOFI_ON | CLIENT_LOFI_ON,
103 UpdatePreviewsStateFromMainFrameResponse(
104 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON | CLIENT_LOFI_ON,
105 response_with_page_policy));
106 EXPECT_EQ(SERVER_LOFI_ON, UpdatePreviewsStateFromMainFrameResponse(
107 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON,
108 response_with_page_policy));
109 }
110
111 TEST(PreviewsStateHelperTest, UpdatePreviewsStateNoKnownPolicies) {
112 blink::WebURLResponse response_with_page_policy;
113 response_with_page_policy.AddHTTPHeaderField("chrome-proxy", "Prefix=Noise");
114 response_with_page_policy.AddHTTPHeaderField(
115 "chrome-proxy",
116 "page-policies=new-hotness|new-empty-image|newer-hotness");
117 response_with_page_policy.AddHTTPHeaderField("chrome-proxy",
118 "Suffix=More|Noise");
119
120 // Lo-Fi fallbacks if Server Lo-Fi enabled and get empty-image directive.
121 EXPECT_EQ(PREVIEWS_UNSPECIFIED,
122 UpdatePreviewsStateFromMainFrameResponse(
123 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON | CLIENT_LOFI_ON,
124 response_with_page_policy));
125 EXPECT_EQ(PREVIEWS_UNSPECIFIED, UpdatePreviewsStateFromMainFrameResponse(
126 SERVER_LITE_PAGE_ON | SERVER_LOFI_ON,
127 response_with_page_policy));
128 }
129
130 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698