blob: 7950325a2cd81c9ed6cc1c99a1ab359a00d7d6b2 [file] [log] [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