blob: 6d00d76b526cd90db20746da84612b3c9fe24444 [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/public/common/loader/referrer_utils.h"
#include "base/test/scoped_feature_list.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
namespace blink {
TEST(DefaultNetReferrerPolicyTest, Unconfigured) {
EXPECT_EQ(blink::ReferrerUtils::GetDefaultNetReferrerPolicy(),
net::ReferrerPolicy::CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE);
}
TEST(DefaultNetReferrerPolicyTest, FeatureOnly) {
base::test::ScopedFeatureList f;
f.InitAndEnableFeature(blink::features::kReducedReferrerGranularity);
EXPECT_EQ(blink::ReferrerUtils::GetDefaultNetReferrerPolicy(),
net::ReferrerPolicy::REDUCE_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN);
}
TEST(DefaultReferrerPolicyTest, SetAndGetForceLegacy) {
EXPECT_FALSE(blink::ReferrerUtils::ShouldForceLegacyDefaultReferrerPolicy());
blink::ReferrerUtils::SetForceLegacyDefaultReferrerPolicy(true);
EXPECT_TRUE(blink::ReferrerUtils::ShouldForceLegacyDefaultReferrerPolicy());
}
TEST(DefaultReferrerPolicyTest, ForceLegacyOnly) {
blink::ReferrerUtils::SetForceLegacyDefaultReferrerPolicy(true);
EXPECT_EQ(blink::ReferrerUtils::GetDefaultNetReferrerPolicy(),
net::ReferrerPolicy::CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE);
}
TEST(DefaultReferrerPolicyTest, FeatureAndForceLegacy) {
base::test::ScopedFeatureList f;
f.InitAndEnableFeature(blink::features::kReducedReferrerGranularity);
blink::ReferrerUtils::SetForceLegacyDefaultReferrerPolicy(true);
EXPECT_EQ(blink::ReferrerUtils::GetDefaultNetReferrerPolicy(),
net::ReferrerPolicy::CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE);
}
} // namespace blink