1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
content / browser / preloading / prefetch / prefetch_params_unittest.cc [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/preloading/prefetch/prefetch_params.h"
#include "base/test/scoped_feature_list.h"
#include "content/browser/preloading/prefetch/prefetch_features.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
namespace {
class PrefetchParamsTest : public ::testing::Test {};
TEST_F(PrefetchParamsTest, DecoyProbabilityClampedZero) {
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitAndEnableFeatureWithParameters(
features::kPrefetchUseContentRefactor,
{{"ineligible_decoy_request_probability", "-1"}});
for (size_t i = 0; i < 100; i++) {
EXPECT_FALSE(PrefetchServiceSendDecoyRequestForIneligblePrefetch(
/* disabled_based_on_user_settings=*/false));
}
}
TEST_F(PrefetchParamsTest, DecoyProbabilityClampedOne) {
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitAndEnableFeatureWithParameters(
features::kPrefetchUseContentRefactor,
{{"ineligible_decoy_request_probability", "2"}});
for (size_t i = 0; i < 100; i++) {
EXPECT_TRUE(PrefetchServiceSendDecoyRequestForIneligblePrefetch(
/* disabled_based_on_user_settings=*/false));
}
}
} // namespace
} // namespace content