// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/browsing_data/model/browsing_data_remover_observer_bridge.h"
#import "ios/chrome/browser/browsing_data/model/fake_browsing_data_remover.h"
#import "ios/chrome/browser/browsing_data/model/fake_browsing_data_remover_observer.h"
#import "testing/platform_test.h"
class BrowsingDataRemoverObserverBridgeTest : public PlatformTest {
protected:
BrowsingDataRemoverObserverBridgeTest()
: remover_(std::make_unique<FakeBrowsingDataRemover>()),
observer_([[FakeBrowsingDataRemoverObserver alloc] init]),
observer_bridge_(observer_) {}
std::unique_ptr<FakeBrowsingDataRemover> remover_;
FakeBrowsingDataRemoverObserver* observer_;
BrowsingDataRemoverObserverBridge observer_bridge_;
};
// Tests `OnBrowsingDataRemoved` forwarding.
TEST_F(BrowsingDataRemoverObserverBridgeTest, OnBrowsingDataRemoved) {
ASSERT_FALSE([observer_ didRemoveBrowsingDataWithMaskInfo]);
observer_bridge_.OnBrowsingDataRemoved(remover_.get(),
BrowsingDataRemoveMask::REMOVE_ALL);
ASSERT_TRUE([observer_ didRemoveBrowsingDataWithMaskInfo]);
EXPECT_EQ(remover_.get(),
[observer_ didRemoveBrowsingDataWithMaskInfo]->remover);
EXPECT_EQ(BrowsingDataRemoveMask::REMOVE_ALL,
[observer_ didRemoveBrowsingDataWithMaskInfo]->mask);
}