Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(670)

Unified Diff: components/subresource_filter/core/common/document_subresource_filter_unittest.cc

Issue 2697363005: Move DocumentSubresourceFilter to core/common. (Closed)
Patch Set: Address comments from engedy@. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/subresource_filter/core/common/document_subresource_filter.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/subresource_filter/core/common/document_subresource_filter_unittest.cc
diff --git a/components/subresource_filter/content/common/document_subresource_filter_unittest.cc b/components/subresource_filter/core/common/document_subresource_filter_unittest.cc
similarity index 73%
rename from components/subresource_filter/content/common/document_subresource_filter_unittest.cc
rename to components/subresource_filter/core/common/document_subresource_filter_unittest.cc
index 53ae77e5ba499c84f7082fbc3e76da21429a8582..b7ea78249e1501b4a0226f002f7499c7903bb179 100644
--- a/components/subresource_filter/content/common/document_subresource_filter_unittest.cc
+++ b/components/subresource_filter/core/common/document_subresource_filter_unittest.cc
@@ -2,21 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "components/subresource_filter/content/common/document_subresource_filter.h"
+#include "components/subresource_filter/core/common/document_subresource_filter.h"
-#include "base/bind.h"
-#include "base/callback.h"
#include "base/files/file.h"
#include "base/macros.h"
-#include "base/memory/ref_counted.h"
#include "base/strings/string_piece.h"
#include "components/subresource_filter/core/common/memory_mapped_ruleset.h"
#include "components/subresource_filter/core/common/test_ruleset_creator.h"
#include "components/subresource_filter/core/common/test_ruleset_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/public/platform/WebURL.h"
-#include "third_party/WebKit/public/platform/WebURLRequest.h"
-#include "url/gurl.h"
namespace subresource_filter {
@@ -26,28 +20,14 @@ constexpr auto kDisabled = ActivationLevel::DISABLED;
constexpr auto kDryRun = ActivationLevel::DRYRUN;
constexpr auto kEnabled = ActivationLevel::ENABLED;
-const char kTestAlphaURL[] = "http://example.com/alpha";
-const char kTestAlphaDataURI[] = "data:text/plain,alpha";
-const char kTestBetaURL[] = "http://example.com/beta";
+constexpr auto kImageType = proto::ELEMENT_TYPE_IMAGE;
+constexpr auto kSubdocumentType = proto::ELEMENT_TYPE_SUBDOCUMENT;
-const char kTestAlphaURLPathSuffix[] = "alpha";
+constexpr const char kTestAlphaURL[] = "http://example.com/alpha";
+constexpr const char kTestAlphaDataURI[] = "data:text/plain,alpha";
+constexpr const char kTestBetaURL[] = "http://example.com/beta";
-class TestCallbackReceiver {
- public:
- TestCallbackReceiver() = default;
- base::OnceClosure closure() {
- return base::BindOnce(&TestCallbackReceiver::CallbackMethod,
- base::Unretained(this));
- }
- size_t callback_count() const { return callback_count_; }
-
- private:
- void CallbackMethod() { ++callback_count_; }
-
- size_t callback_count_ = 0;
-
- DISALLOW_COPY_AND_ASSIGN(TestCallbackReceiver);
-};
+constexpr const char kTestAlphaURLPathSuffix[] = "alpha";
} // namespace
@@ -82,55 +62,45 @@ class DocumentSubresourceFilterTest : public ::testing::Test {
};
TEST_F(DocumentSubresourceFilterTest, DryRun) {
- blink::WebURLRequest::RequestContext request_context =
- blink::WebURLRequest::RequestContextImage;
- TestCallbackReceiver first_disallowed_load_callback_receiver;
-
ActivationState activation_state(kDryRun);
activation_state.measure_performance = true;
- DocumentSubresourceFilter filter(
- url::Origin(), activation_state, ruleset(),
- first_disallowed_load_callback_receiver.closure());
-
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::WouldDisallow,
- filter.getLoadPolicy(GURL(kTestAlphaURL), request_context));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow,
- filter.getLoadPolicy(GURL(kTestAlphaDataURI), request_context));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow,
- filter.getLoadPolicy(GURL(kTestBetaURL), request_context));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::WouldDisallow,
- filter.GetLoadPolicyForSubdocument(GURL(kTestAlphaURL)));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow,
- filter.GetLoadPolicyForSubdocument(GURL(kTestBetaURL)));
+ DocumentSubresourceFilter filter(url::Origin(), activation_state, ruleset());
+
+ EXPECT_EQ(LoadPolicy::WOULD_DISALLOW,
+ filter.GetLoadPolicy(GURL(kTestAlphaURL), kImageType));
+ EXPECT_EQ(LoadPolicy::ALLOW,
+ filter.GetLoadPolicy(GURL(kTestAlphaDataURI), kImageType));
+ EXPECT_EQ(LoadPolicy::ALLOW,
+ filter.GetLoadPolicy(GURL(kTestBetaURL), kImageType));
+ EXPECT_EQ(LoadPolicy::WOULD_DISALLOW,
+ filter.GetLoadPolicy(GURL(kTestAlphaURL), kSubdocumentType));
+ EXPECT_EQ(LoadPolicy::ALLOW,
+ filter.GetLoadPolicy(GURL(kTestBetaURL), kSubdocumentType));
const auto& statistics = filter.statistics();
EXPECT_EQ(5, statistics.num_loads_total);
EXPECT_EQ(4, statistics.num_loads_evaluated);
EXPECT_EQ(2, statistics.num_loads_matching_rules);
EXPECT_EQ(0, statistics.num_loads_disallowed);
-
- EXPECT_EQ(0u, first_disallowed_load_callback_receiver.callback_count());
}
TEST_F(DocumentSubresourceFilterTest, Enabled) {
auto test_impl = [this](bool measure_performance) {
- blink::WebURLRequest::RequestContext request_context =
- blink::WebURLRequest::RequestContextImage;
ActivationState activation_state(kEnabled);
activation_state.measure_performance = measure_performance;
- DocumentSubresourceFilter filter(url::Origin(), activation_state, ruleset(),
- base::OnceClosure());
-
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Disallow,
- filter.getLoadPolicy(GURL(kTestAlphaURL), request_context));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow,
- filter.getLoadPolicy(GURL(kTestAlphaDataURI), request_context));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow,
- filter.getLoadPolicy(GURL(kTestBetaURL), request_context));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Disallow,
- filter.GetLoadPolicyForSubdocument(GURL(kTestAlphaURL)));
- EXPECT_EQ(blink::WebDocumentSubresourceFilter::Allow,
- filter.GetLoadPolicyForSubdocument(GURL(kTestBetaURL)));
+ DocumentSubresourceFilter filter(url::Origin(), activation_state,
+ ruleset());
+
+ EXPECT_EQ(LoadPolicy::DISALLOW,
+ filter.GetLoadPolicy(GURL(kTestAlphaURL), kImageType));
+ EXPECT_EQ(LoadPolicy::ALLOW,
+ filter.GetLoadPolicy(GURL(kTestAlphaDataURI), kImageType));
+ EXPECT_EQ(LoadPolicy::ALLOW,
+ filter.GetLoadPolicy(GURL(kTestBetaURL), kImageType));
+ EXPECT_EQ(LoadPolicy::DISALLOW,
+ filter.GetLoadPolicy(GURL(kTestAlphaURL), kSubdocumentType));
+ EXPECT_EQ(LoadPolicy::ALLOW,
+ filter.GetLoadPolicy(GURL(kTestBetaURL), kSubdocumentType));
const auto& statistics = filter.statistics();
EXPECT_EQ(5, statistics.num_loads_total);
@@ -150,23 +120,6 @@ TEST_F(DocumentSubresourceFilterTest, Enabled) {
test_impl(false /* measure_performance */);
}
-TEST_F(DocumentSubresourceFilterTest,
- CallbackFiredExactlyOnceAfterFirstDisallowedLoad) {
- TestCallbackReceiver first_disallowed_load_callback_receiver;
-
- ActivationState activation_state(kEnabled);
- activation_state.measure_performance = true;
- DocumentSubresourceFilter filter(
- url::Origin(), activation_state, ruleset(),
- first_disallowed_load_callback_receiver.closure());
-
- EXPECT_EQ(0u, first_disallowed_load_callback_receiver.callback_count());
- filter.reportDisallowedLoad();
- EXPECT_EQ(1u, first_disallowed_load_callback_receiver.callback_count());
- filter.reportDisallowedLoad();
- EXPECT_EQ(1u, first_disallowed_load_callback_receiver.callback_count());
-}
-
// Tests for ComputeActivationState functions. ---------------------------------
class SubresourceFilterComputeActivationStateTest : public ::testing::Test {
« no previous file with comments | « components/subresource_filter/core/common/document_subresource_filter.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698