| Index: components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc
|
| diff --git a/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc b/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc
|
| index 07ed13cbe76adc195375a16a6c65db3c5492aa26..bc8f0a55f499a7f635bc6d388d25fbd4efe43922 100644
|
| --- a/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc
|
| +++ b/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc
|
| @@ -7,13 +7,49 @@
|
| #include <utility>
|
|
|
| #include "components/arc/common/intent_helper.mojom.h"
|
| +#include "components/arc/intent_helper/activity_icon_loader.h"
|
| +#include "components/arc/intent_helper/local_activity_resolver.h"
|
| +#include "components/arc/test/fake_arc_bridge_service.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace arc {
|
|
|
| +namespace {
|
| +
|
| +class ArcIntentHelperTest : public testing::Test {
|
| + public:
|
| + ArcIntentHelperTest() = default;
|
| +
|
| + protected:
|
| + std::unique_ptr<FakeArcBridgeService> fake_arc_bridge_service_;
|
| + scoped_refptr<ActivityIconLoader> icon_loader_;
|
| + scoped_refptr<LocalActivityResolver> activity_resolver_;
|
| + std::unique_ptr<ArcIntentHelperBridge> instance_;
|
| +
|
| + private:
|
| + void SetUp() override {
|
| + fake_arc_bridge_service_.reset(new FakeArcBridgeService());
|
| + icon_loader_ = new ActivityIconLoader();
|
| + activity_resolver_ = new LocalActivityResolver();
|
| + instance_.reset(new ArcIntentHelperBridge(
|
| + fake_arc_bridge_service_.get(), icon_loader_, activity_resolver_));
|
| + }
|
| +
|
| + void TearDown() override {
|
| + instance_.reset();
|
| + activity_resolver_ = nullptr;
|
| + icon_loader_ = nullptr;
|
| + fake_arc_bridge_service_.reset();
|
| + }
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ArcIntentHelperTest);
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| // Tests if IsIntentHelperPackage works as expected. Probably too trivial
|
| // to test but just in case.
|
| -TEST(ArcIntentHelperTest, TestIsIntentHelperPackage) {
|
| +TEST_F(ArcIntentHelperTest, TestIsIntentHelperPackage) {
|
| EXPECT_FALSE(ArcIntentHelperBridge::IsIntentHelperPackage(""));
|
| EXPECT_FALSE(ArcIntentHelperBridge::IsIntentHelperPackage(
|
| ArcIntentHelperBridge::kArcIntentHelperPackageName + std::string("a")));
|
| @@ -25,7 +61,7 @@ TEST(ArcIntentHelperTest, TestIsIntentHelperPackage) {
|
| }
|
|
|
| // Tests if FilterOutIntentHelper removes handlers as expected.
|
| -TEST(ArcIntentHelperTest, TestFilterOutIntentHelper) {
|
| +TEST_F(ArcIntentHelperTest, TestFilterOutIntentHelper) {
|
| {
|
| std::vector<mojom::IntentHandlerInfoPtr> orig;
|
| std::vector<mojom::IntentHandlerInfoPtr> filtered =
|
| @@ -101,4 +137,31 @@ TEST(ArcIntentHelperTest, TestFilterOutIntentHelper) {
|
| }
|
| }
|
|
|
| +// Tests if observer works as expected.
|
| +TEST_F(ArcIntentHelperTest, TestObserver) {
|
| + class FakeObserver : public ArcIntentHelperObserver {
|
| + public:
|
| + FakeObserver() = default;
|
| + void OnAppsUpdated() override { updated_ = true; }
|
| + bool IsUpdated() { return updated_; }
|
| + void Reset() { updated_ = false; }
|
| +
|
| + private:
|
| + bool updated_ = false;
|
| + };
|
| +
|
| + // Observer should be called when intent filter is updated.
|
| + auto observer = base::MakeUnique<FakeObserver>();
|
| + instance_->AddObserver(observer.get());
|
| + EXPECT_FALSE(observer->IsUpdated());
|
| + instance_->OnIntentFiltersUpdated(std::vector<mojom::IntentFilterPtr>());
|
| + EXPECT_TRUE(observer->IsUpdated());
|
| +
|
| + // Observer should not be called after it's removed.
|
| + observer->Reset();
|
| + instance_->RemoveObserver(observer.get());
|
| + instance_->OnIntentFiltersUpdated(std::vector<mojom::IntentFilterPtr>());
|
| + EXPECT_FALSE(observer->IsUpdated());
|
| +}
|
| +
|
| } // namespace arc
|
|
|