blob: bcdead2de669f85947c23b20a5b159cf775d7fe0 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/paint_preview/common/redaction_params.h"
#include "net/base/schemeful_site.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace paint_preview {
const std::string_view kExampleRoot = "https://example.test";
const std::string_view kExampleSub = "https://www.example.test";
const std::string_view kFooRoot = "https://foo.test";
const std::string_view kFooSub = "https://www.foo.test";
TEST(RedactionParamsTest, DefaultCtor) {
RedactionParams params;
EXPECT_FALSE(
params.ShouldRedactSubframe(url::Origin::Create(GURL(kExampleRoot))));
EXPECT_FALSE(
params.ShouldRedactSubframe(url::Origin::Create(GURL(kFooRoot))));
}
TEST(RedactionParamsTest, OriginsFilter) {
const auto example_origin = url::Origin::Create(GURL(kExampleRoot));
const auto example_sub_origin = url::Origin::Create(GURL(kExampleSub));
const auto foo_origin = url::Origin::Create(GURL(kFooRoot));
const auto foo_sub_origin = url::Origin::Create(GURL(kFooSub));
RedactionParams params(/*allowed_origins=*/{example_origin},
/*allowed_sites=*/{});
EXPECT_FALSE(params.ShouldRedactSubframe(example_origin));
EXPECT_TRUE(params.ShouldRedactSubframe(example_sub_origin));
EXPECT_TRUE(params.ShouldRedactSubframe(foo_origin));
EXPECT_TRUE(params.ShouldRedactSubframe(foo_sub_origin));
}
TEST(RedactionParamsTest, SitesFilter) {
const auto example_origin = url::Origin::Create(GURL(kExampleRoot));
const auto example_sub_origin = url::Origin::Create(GURL(kExampleSub));
const auto foo_origin = url::Origin::Create(GURL(kFooRoot));
const auto foo_sub_origin = url::Origin::Create(GURL(kFooSub));
RedactionParams params(/*allowed_origins=*/{}, /*allowed_sites=*/{
net::SchemefulSite(example_sub_origin)});
EXPECT_FALSE(params.ShouldRedactSubframe(example_origin));
EXPECT_FALSE(params.ShouldRedactSubframe(example_sub_origin));
EXPECT_TRUE(params.ShouldRedactSubframe(foo_origin));
EXPECT_TRUE(params.ShouldRedactSubframe(foo_sub_origin));
}
} // namespace paint_preview