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

Side by Side Diff: chrome/browser/browsing_data/browsing_data_remover_mock.cc

Issue 2720723002: Extract MockBrowsingDataRemover to separate file to make it possible to use it (Closed)
Patch Set: Created 3 years, 9 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/browsing_data/browsing_data_remover_mock.h"
6
7 #include "content/public/browser/browsing_data_filter_builder.h"
8
9 MockBrowsingDataRemover::MockBrowsingDataRemover(
10 content::BrowserContext* context)
11 : BrowsingDataRemoverImpl(context) {}
12
13 MockBrowsingDataRemover::~MockBrowsingDataRemover() {
14 DCHECK(!expected_calls_.size()) << "Expectations were set but not verified.";
15 }
16
17 void MockBrowsingDataRemover::RemoveInternal(
18 const base::Time& delete_begin,
19 const base::Time& delete_end,
20 int remove_mask,
21 int origin_type_mask,
22 std::unique_ptr<content::BrowsingDataFilterBuilder> filter_builder,
23 BrowsingDataRemover::Observer* observer) {
24 actual_calls_.emplace_back(delete_begin, delete_end, remove_mask,
25 origin_type_mask, std::move(filter_builder),
26 true /* should_compare_filter */);
27
28 // |observer| is not recorded in |actual_calls_| to be compared with
29 // expectations, because it's created internally in ClearSiteData() and
30 // it's unknown to this. However, it is tested implicitly, because we use
31 // it for the completion callback, so an incorrect |observer| will fail
32 // the test by waiting for the callback forever.
33 DCHECK(observer);
34 observer->OnBrowsingDataRemoverDone();
35 }
36
37 void MockBrowsingDataRemover::ExpectCall(
38 const base::Time& delete_begin,
39 const base::Time& delete_end,
40 int remove_mask,
41 int origin_type_mask,
42 std::unique_ptr<content::BrowsingDataFilterBuilder> filter_builder) {
43 expected_calls_.emplace_back(delete_begin, delete_end, remove_mask,
44 origin_type_mask, std::move(filter_builder),
45 true /* should_compare_filter */);
46 }
47
48 void MockBrowsingDataRemover::ExpectCallDontCareAboutFilterBuilder(
49 const base::Time& delete_begin,
50 const base::Time& delete_end,
51 int remove_mask,
52 int origin_type_mask) {
53 expected_calls_.emplace_back(
54 delete_begin, delete_end, remove_mask, origin_type_mask,
55 std::unique_ptr<content::BrowsingDataFilterBuilder>(),
56 false /* should_compare_filter */);
57 }
58
59 void MockBrowsingDataRemover::VerifyAndClearExpectations() {
60 EXPECT_EQ(expected_calls_, actual_calls_);
61 expected_calls_.clear();
62 actual_calls_.clear();
63 }
64
65 MockBrowsingDataRemover::CallParameters::CallParameters(
66 const base::Time& delete_begin,
67 const base::Time& delete_end,
68 int remove_mask,
69 int origin_type_mask,
70 std::unique_ptr<content::BrowsingDataFilterBuilder> filter_builder,
71 bool should_compare_filter)
72 : delete_begin_(delete_begin),
73 delete_end_(delete_end),
74 remove_mask_(remove_mask),
75 origin_type_mask_(origin_type_mask),
76 filter_builder_(std::move(filter_builder)),
77 should_compare_filter_(should_compare_filter) {}
78 MockBrowsingDataRemover::CallParameters::~CallParameters() {}
79
80 bool MockBrowsingDataRemover::CallParameters::operator==(
81 const CallParameters& other) const {
82 const CallParameters& a = *this;
83 const CallParameters& b = other;
84
85 if (a.delete_begin_ != b.delete_begin_ || a.delete_end_ != b.delete_end_ ||
86 a.remove_mask_ != b.remove_mask_ ||
87 a.origin_type_mask_ != b.origin_type_mask_) {
88 return false;
89 }
90
91 if (!a.should_compare_filter_ || !b.should_compare_filter_)
92 return true;
93 return *a.filter_builder_ == *b.filter_builder_;
94 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698