OLD | NEW |
---|---|
(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 | |
OLD | NEW |