blob: ee1e34b13a6dd15f234a53b5a162e0461547da2e [file] [log] [blame]
Avi Drissman8ba1bad2022-09-13 19:22:361// Copyright 2021 The Chromium Authors
Duncan Mercer9c46b902022-08-19 17:55:112// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "components/lens/lens_url_utils.h"
6
7#include "base/strings/string_number_conversions.h"
8#include "base/time/time.h"
9#include "components/lens/lens_entrypoints.h"
10#include "components/lens/lens_rendering_environment.h"
11#include "testing/gmock/include/gmock/gmock.h"
12#include "testing/gtest/include/gtest/gtest.h"
13#include "url/gurl.h"
14
15using ::testing::MatchesRegex;
16
17namespace lens {
18
Jason Hu941e938492023-05-11 23:35:4619TEST(LensUrlUtilsTest, NonSidePanelRequestHasNoSidePanelSizeParams) {
20 lens::EntryPoint lens_region_search_ep =
21 lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
22 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:3723 lens_region_search_ep, /*is_lens_side_panel_request=*/false,
Jason Hu941e938492023-05-11 23:35:4624 /*side_panel_initial_size_upper_bound=*/gfx::Size(10, 10),
25 /*is_full_screen_region_search_request=*/false);
26
27 // Despite passing in a nonzero size, there should not be any side panel
28 // viewport size params.
29 EXPECT_THAT(query_param, MatchesRegex("ep=crs&re=df&s=4&st=\\d+"));
30}
31
Jason Hubaf33a762023-06-15 17:45:3732TEST(LensUrlUtilsTest, SidePanelRequestHasSidePanelSizeParams) {
Jason Hu941e938492023-05-11 23:35:4633 lens::EntryPoint lens_region_search_ep =
34 lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
35 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:3736 lens_region_search_ep, /*is_lens_side_panel_request=*/true,
Jason Hu941e938492023-05-11 23:35:4637 /*side_panel_initial_size_upper_bound=*/gfx::Size(10, 10),
38 /*is_full_screen_region_search_request=*/false);
39
40 EXPECT_THAT(query_param,
41 MatchesRegex("ep=crs&re=dcsp&s=4&st=\\d+&vph=10&vpw=10"));
42}
43
Jason Hubaf33a762023-06-15 17:45:3744TEST(LensUrlUtilsTest, CompanionRequestHasSidePanelSizeParams) {
45 lens::EntryPoint lens_region_search_ep =
46 lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
47 std::string query_param = lens::GetQueryParametersForLensRequest(
48 lens_region_search_ep, /*is_lens_side_panel_request=*/false,
49 /*side_panel_initial_size_upper_bound=*/gfx::Size(10, 10),
50 /*is_full_screen_region_search_request=*/false,
51 /*is_companion_request=*/true);
52
53 EXPECT_THAT(query_param,
54 MatchesRegex("ep=crs&re=csc&s=4&st=\\d+&vph=10&vpw=10"));
55}
56
Duncan Mercer9c46b902022-08-19 17:55:1157TEST(LensUrlUtilsTest, GetRegionSearchNewTabQueryParameterTest) {
58 lens::EntryPoint lens_region_search_ep =
59 lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
Duncan Mercer9c46b902022-08-19 17:55:1160 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:3761 lens_region_search_ep, /*is_lens_side_panel_request=*/false,
Jason Hu941e938492023-05-11 23:35:4662 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
63 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:4664 EXPECT_THAT(query_param, MatchesRegex("ep=crs&re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:1165}
66
67TEST(LensUrlUtilsTest, GetImageSearchNewTabQueryParameterTest) {
68 lens::EntryPoint lens_image_search_ep =
69 lens::EntryPoint::CHROME_SEARCH_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
Duncan Mercer9c46b902022-08-19 17:55:1170 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:3771 lens_image_search_ep, /*is_lens_side_panel_request=*/false,
Jason Hu941e938492023-05-11 23:35:4672 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
73 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:4674 EXPECT_THAT(query_param, MatchesRegex("ep=ccm&re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:1175}
76
Bryan Nguyen252f9ac02023-01-31 00:05:1077TEST(LensUrlUtilsTest, GetImageTranslateNewTabQueryParameterTest) {
78 lens::EntryPoint lens_image_translate_ep = lens::EntryPoint::
79 CHROME_TRANSLATE_IMAGE_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
80 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:3781 lens_image_translate_ep, /*is_lens_side_panel_request=*/false,
Jason Hu941e938492023-05-11 23:35:4682 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
83 /*is_full_screen_region_search_request=*/false);
Bryan Nguyenf0dbd082023-02-16 21:13:2284 EXPECT_THAT(query_param, MatchesRegex("ep=ctrcm&re=df&s=4&st=\\d+"));
Bryan Nguyen252f9ac02023-01-31 00:05:1085}
86
Duncan Mercer9c46b902022-08-19 17:55:1187TEST(LensUrlUtilsTest, GetRegionSearchSidePanelQueryParameterTest) {
88 lens::EntryPoint lens_region_search_ep =
89 lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
Duncan Mercer9c46b902022-08-19 17:55:1190 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:3791 lens_region_search_ep, /*is_lens_side_panel_request=*/true,
Jason Hu941e938492023-05-11 23:35:4692 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
93 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:4694 EXPECT_THAT(query_param, MatchesRegex("ep=crs&re=dcsp&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:1195}
96
97TEST(LensUrlUtilsTest, GetImageSearchSidePanelQueryParameterTest) {
98 lens::EntryPoint lens_image_search_ep =
99 lens::EntryPoint::CHROME_SEARCH_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
Duncan Mercer9c46b902022-08-19 17:55:11100 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:37101 lens_image_search_ep, /*is_lens_side_panel_request=*/true,
Jason Hu941e938492023-05-11 23:35:46102 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
103 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:46104 EXPECT_THAT(query_param, MatchesRegex("ep=ccm&re=dcsp&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11105}
106
Bryan Nguyen252f9ac02023-01-31 00:05:10107TEST(LensUrlUtilsTest, GetImageTranslateSidePanelQueryParameterTest) {
108 lens::EntryPoint lens_image_translate_ep = lens::EntryPoint::
109 CHROME_TRANSLATE_IMAGE_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
110 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:37111 lens_image_translate_ep, /*is_lens_side_panel_request=*/true,
Jason Hu941e938492023-05-11 23:35:46112 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
113 /*is_full_screen_region_search_request=*/false);
Bryan Nguyenf0dbd082023-02-16 21:13:22114 EXPECT_THAT(query_param, MatchesRegex("ep=ctrcm&re=dcsp&s=4&st=\\d+"));
Bryan Nguyen252f9ac02023-01-31 00:05:10115}
116
Duncan Mercer9c46b902022-08-19 17:55:11117TEST(LensUrlUtilsTest, GetOpenNewTabSidePanelParameterTest) {
118 lens::EntryPoint lens_open_new_tab_side_panel_ep =
119 lens::EntryPoint::CHROME_OPEN_NEW_TAB_SIDE_PANEL;
Duncan Mercer9c46b902022-08-19 17:55:11120 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:37121 lens_open_new_tab_side_panel_ep, /*is_lens_side_panel_request=*/false,
Jason Hu941e938492023-05-11 23:35:46122 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
123 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:46124 EXPECT_THAT(query_param, MatchesRegex("ep=cnts&re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11125}
126
Anudeep Palanki02b81082022-11-10 18:26:30127TEST(LensUrlUtilsTest, GetFullscreenSearchQueryParameterTest) {
128 lens::EntryPoint lens_ep =
129 lens::EntryPoint::CHROME_FULLSCREEN_SEARCH_MENU_ITEM;
130 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:37131 lens_ep, /*is_lens_side_panel_request=*/false,
Jason Hu941e938492023-05-11 23:35:46132 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
133 /*is_full_screen_region_search_request=*/true);
Duncan Mercer14dd5c022023-01-11 19:57:46134 EXPECT_THAT(query_param, MatchesRegex("ep=cfs&re=avsf&s=4&st=\\d+"));
Anudeep Palanki02b81082022-11-10 18:26:30135}
136
Duncan Mercer9c46b902022-08-19 17:55:11137TEST(LensUrlUtilsTest, GetUnknownEntryPointTest) {
Duncan Mercer9c46b902022-08-19 17:55:11138 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:37139 lens::EntryPoint::UNKNOWN, /*is_lens_side_panel_request=*/false,
Jason Hu941e938492023-05-11 23:35:46140 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
141 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:46142 EXPECT_THAT(query_param, MatchesRegex("re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11143}
144
145TEST(LensUrlUtilsTest, GetUnknownEntryPointSidePanelTest) {
Duncan Mercer9c46b902022-08-19 17:55:11146 std::string query_param = lens::GetQueryParametersForLensRequest(
Jason Hubaf33a762023-06-15 17:45:37147 lens::EntryPoint::UNKNOWN, /*is_lens_side_panel_request=*/true,
Jason Hu941e938492023-05-11 23:35:46148 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
149 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:46150 EXPECT_THAT(query_param, MatchesRegex("re=dcsp&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11151}
152
Duncan Mercer9c46b902022-08-19 17:55:11153TEST(LensUrlUtilsTest, AppendRegionSearchNewTabQueryParameterTest) {
154 lens::EntryPoint lens_region_search_ep =
155 lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
156 lens::RenderingEnvironment re =
157 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_FULLSCREEN;
158 GURL original_url = GURL("https://lens.google.com/");
159 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
Anudeep Palankifd1c54e2022-09-13 20:03:09160 original_url, lens_region_search_ep, re,
Jason Hu941e938492023-05-11 23:35:46161 /*is_side_panel_request=*/false,
162 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46163 EXPECT_THAT(url.query(), MatchesRegex("ep=crs&re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11164}
165
166TEST(LensUrlUtilsTest, AppendImageSearchNewTabQueryParameterTest) {
167 lens::EntryPoint lens_image_search_ep =
168 lens::EntryPoint::CHROME_SEARCH_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
169 lens::RenderingEnvironment re =
170 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_FULLSCREEN;
171 GURL original_url = GURL("https://lens.google.com/");
172 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
Anudeep Palankifd1c54e2022-09-13 20:03:09173 original_url, lens_image_search_ep, re,
Jason Hu941e938492023-05-11 23:35:46174 /*is_side_panel_request=*/false,
175 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46176 EXPECT_THAT(url.query(), MatchesRegex("ep=ccm&re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11177}
178
Bryan Nguyen252f9ac02023-01-31 00:05:10179TEST(LensUrlUtilsTest, AppendImageTranslateNewTabQueryParameterTest) {
180 lens::EntryPoint lens_image_translate_ep = lens::EntryPoint::
181 CHROME_TRANSLATE_IMAGE_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
182 lens::RenderingEnvironment re =
183 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_FULLSCREEN;
184 GURL original_url = GURL("https://lens.google.com/");
185 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
186 original_url, lens_image_translate_ep, re,
Jason Hu941e938492023-05-11 23:35:46187 /*is_side_panel_request=*/false,
188 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Bryan Nguyenf0dbd082023-02-16 21:13:22189 EXPECT_THAT(url.query(), MatchesRegex("ep=ctrcm&re=df&s=4&st=\\d+"));
Bryan Nguyen252f9ac02023-01-31 00:05:10190}
191
Duncan Mercer9c46b902022-08-19 17:55:11192TEST(LensUrlUtilsTest, AppendRegionSearchSidePanelQueryParameterTest) {
193 lens::EntryPoint lens_region_search_ep =
194 lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
195 lens::RenderingEnvironment re =
196 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_CHROME_SIDE_PANEL;
197 GURL original_url = GURL("https://lens.google.com/");
198 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
Anudeep Palankifd1c54e2022-09-13 20:03:09199 original_url, lens_region_search_ep, re,
Jason Hu941e938492023-05-11 23:35:46200 /*is_side_panel_request=*/true,
201 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46202 EXPECT_THAT(url.query(), MatchesRegex("ep=crs&re=dcsp&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11203}
204
205TEST(LensUrlUtilsTest, AppendImageSearchSidePanelQueryParameterTest) {
206 lens::EntryPoint lens_image_search_ep =
207 lens::EntryPoint::CHROME_SEARCH_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
208 lens::RenderingEnvironment re =
209 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_CHROME_SIDE_PANEL;
210 GURL original_url = GURL("https://lens.google.com/");
211 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
Anudeep Palankifd1c54e2022-09-13 20:03:09212 original_url, lens_image_search_ep, re,
Jason Hu941e938492023-05-11 23:35:46213 /*is_side_panel_request=*/true,
214 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46215 EXPECT_THAT(url.query(), MatchesRegex("ep=ccm&re=dcsp&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11216}
217
Bryan Nguyen252f9ac02023-01-31 00:05:10218TEST(LensUrlUtilsTest, AppendImageTranslateSidePanelQueryParameterTest) {
219 lens::EntryPoint lens_image_translate_ep = lens::EntryPoint::
220 CHROME_TRANSLATE_IMAGE_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
221 lens::RenderingEnvironment re =
222 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_CHROME_SIDE_PANEL;
223 GURL original_url = GURL("https://lens.google.com/");
224 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
225 original_url, lens_image_translate_ep, re,
Jason Hu941e938492023-05-11 23:35:46226 /*is_side_panel_request=*/true,
227 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Bryan Nguyenf0dbd082023-02-16 21:13:22228 EXPECT_THAT(url.query(), MatchesRegex("ep=ctrcm&re=dcsp&s=4&st=\\d+"));
Bryan Nguyen252f9ac02023-01-31 00:05:10229}
230
Duncan Mercer9c46b902022-08-19 17:55:11231TEST(LensUrlUtilsTest, AppendOpenNewTabSidePanelParameterTest) {
232 lens::EntryPoint lens_open_new_tab_side_panel_ep =
233 lens::EntryPoint::CHROME_OPEN_NEW_TAB_SIDE_PANEL;
234 lens::RenderingEnvironment re =
235 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_FULLSCREEN;
236 GURL original_url = GURL("https://lens.google.com/");
237 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
238 original_url, lens_open_new_tab_side_panel_ep, re,
Jason Hu941e938492023-05-11 23:35:46239 /*is_side_panel_request=*/false,
240 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46241 EXPECT_THAT(url.query(), MatchesRegex("ep=cnts&re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11242}
243
Anudeep Palanki02b81082022-11-10 18:26:30244TEST(LensUrlUtilsTest, AppendFullscreenSearchQueryParameterTest) {
245 lens::EntryPoint lens_ep =
246 lens::EntryPoint::CHROME_FULLSCREEN_SEARCH_MENU_ITEM;
247 lens::RenderingEnvironment re =
248 lens::RenderingEnvironment::ONELENS_AMBIENT_VISUAL_SEARCH_WEB_FULLSCREEN;
249 GURL original_url = GURL("https://lens.google.com/");
250 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
Jason Hu941e938492023-05-11 23:35:46251 original_url, lens_ep, re, /*is_side_panel_request=*/false,
252 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46253 EXPECT_THAT(url.query(), MatchesRegex("ep=cfs&re=avsf&s=4&st=\\d+"));
Anudeep Palanki02b81082022-11-10 18:26:30254}
255
Duncan Mercer9c46b902022-08-19 17:55:11256TEST(LensUrlUtilsTest, AppendUnknownEntryPointTest) {
257 lens::RenderingEnvironment re =
258 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_FULLSCREEN;
259 GURL original_url = GURL("https://lens.google.com/");
260 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
261 original_url, lens::EntryPoint::UNKNOWN, re,
Jason Hu941e938492023-05-11 23:35:46262 /*is_side_panel_request=*/false,
263 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46264 EXPECT_THAT(url.query(), MatchesRegex("re=df&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11265}
266
267TEST(LensUrlUtilsTest, AppendUnknownRenderingEnvironmentTest) {
268 lens::EntryPoint ep = lens::EntryPoint::CHROME_REGION_SEARCH_MENU_ITEM;
269 GURL original_url = GURL("https://lens.google.com/");
270 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
271 original_url, ep, lens::RenderingEnvironment::RENDERING_ENV_UNKNOWN,
Jason Hu941e938492023-05-11 23:35:46272 /*is_side_panel_request=*/false,
273 /*side_panel_initial_size_upper_bound=*/gfx::Size());
Duncan Mercer14dd5c022023-01-11 19:57:46274 EXPECT_THAT(url.query(), MatchesRegex("ep=crs&s=4&st=\\d+"));
Duncan Mercer9c46b902022-08-19 17:55:11275}
276
Shivani Patelafd94e42022-09-28 20:28:44277TEST(LensUrlUtilsTest, AppendEmptyLogsTest) {
278 std::vector<lens::mojom::LatencyLogPtr> log_data;
Anudeep Palanki02b81082022-11-10 18:26:30279 std::string query_param = lens::GetQueryParametersForLensRequest(
280 lens::EntryPoint::UNKNOWN,
Jason Hubaf33a762023-06-15 17:45:37281 /*is_lens_side_panel_request=*/true,
Jason Hu941e938492023-05-11 23:35:46282 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
283 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:46284 EXPECT_THAT(query_param, MatchesRegex("re=dcsp&s=4&st=\\d+"));
Shivani Patelafd94e42022-09-28 20:28:44285 lens::AppendLogsQueryParam(&query_param, std::move(log_data));
Duncan Mercer14dd5c022023-01-11 19:57:46286 EXPECT_THAT(query_param, MatchesRegex("re=dcsp&s=4&st=\\d+"));
Shivani Patelafd94e42022-09-28 20:28:44287}
288
289TEST(LensUrlUtilsTest, AppendPopulatedLogsTest) {
290 std::vector<lens::mojom::LatencyLogPtr> log_data;
291 log_data.push_back(lens::mojom::LatencyLog::New(
292 lens::mojom::Phase::DOWNSCALE_START, gfx::Size(), gfx::Size(),
293 lens::mojom::ImageFormat::ORIGINAL, base::Time::Now()));
Anudeep Palanki02b81082022-11-10 18:26:30294 std::string query_param = lens::GetQueryParametersForLensRequest(
295 lens::EntryPoint::UNKNOWN,
Jason Hubaf33a762023-06-15 17:45:37296 /*is_lens_side_panel_request=*/true,
Jason Hu941e938492023-05-11 23:35:46297 /*side_panel_initial_size_upper_bound=*/gfx::Size(),
298 /*is_full_screen_region_search_request=*/false);
Duncan Mercer14dd5c022023-01-11 19:57:46299 EXPECT_THAT(query_param, MatchesRegex("re=dcsp&s=4&st=\\d+"));
Shivani Patelafd94e42022-09-28 20:28:44300 lens::AppendLogsQueryParam(&query_param, std::move(log_data));
Duncan Mercer14dd5c022023-01-11 19:57:46301 EXPECT_THAT(query_param, MatchesRegex("re=dcsp&s=4&st=\\d+&lm.+"));
Shivani Patelafd94e42022-09-28 20:28:44302}
303
Jason Hu941e938492023-05-11 23:35:46304TEST(LensUrlUtilsTest, AppendSidePanelViewportSizeTest) {
305 lens::EntryPoint lens_image_search_ep =
306 lens::EntryPoint::CHROME_SEARCH_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
307 lens::RenderingEnvironment re =
308 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_CHROME_SIDE_PANEL;
309 GURL original_url = GURL("https://lens.google.com/");
310 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
311 original_url, lens_image_search_ep, re,
312 /*is_side_panel_request=*/true,
313 /*side_panel_initial_size_upper_bound=*/gfx::Size(10, 10));
314 EXPECT_THAT(url.query(),
315 MatchesRegex("ep=ccm&re=dcsp&s=4&st=\\d+&vph=10&vpw=10"));
316}
317
318TEST(LensUrlUtilsTest, AppendNonSidePanelSettingsRemovesViewportSizeTest) {
319 lens::EntryPoint lens_image_search_ep =
320 lens::EntryPoint::CHROME_SEARCH_WITH_GOOGLE_LENS_CONTEXT_MENU_ITEM;
321 lens::RenderingEnvironment re =
322 lens::RenderingEnvironment::ONELENS_DESKTOP_WEB_FULLSCREEN;
323 GURL original_url =
324 GURL("https://lens.google.com/search?p=123&vph=10&vpw=10");
325 GURL url = lens::AppendOrReplaceQueryParametersForLensRequest(
326 original_url, lens_image_search_ep, re,
327 /*is_side_panel_request=*/false,
328 /*side_panel_initial_size_upper_bound=*/gfx::Size(10, 10));
329 EXPECT_THAT(url.query(), MatchesRegex("p=123&ep=ccm&re=df&s=4&st=\\d+"));
330}
331
Duncan Mercer9c46b902022-08-19 17:55:11332} // namespace lens