blob: b5ab7cbc02b736e7b0d348c2f778251e4a246b6e [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/enterprise/idle/action.h"
#include "build/build_config.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace enterprise_idle {
// TODO(crbug.com/1316551): Enable this when Android supports >1 Action.
#if !BUILDFLAG(IS_ANDROID)
TEST(IdleActionTest, Build) {
auto* factory = ActionFactory::GetInstance();
auto queue = factory->Build(
nullptr, {ActionType::kCloseBrowsers, ActionType::kShowProfilePicker});
EXPECT_EQ(2u, queue.size());
EXPECT_EQ(0, queue.top()->priority()); // CloseBrowsersAction
queue.pop();
EXPECT_EQ(1, queue.top()->priority()); // ShowProfilePickerAction
queue = factory->Build(nullptr, {ActionType::kCloseBrowsers});
EXPECT_EQ(1u, queue.size());
EXPECT_EQ(0, queue.top()->priority()); // CloseBrowsersAction
}
#endif // !BUILDFLAG(IS_ANDROID)
TEST(IdleActionTest, ClearBrowsingDataIsSingleAction) {
auto* factory = ActionFactory::GetInstance();
auto queue = factory->Build(
nullptr,
{ActionType::kClearBrowsingHistory, ActionType::kClearDownloadHistory,
ActionType::kClearCookiesAndOtherSiteData,
ActionType::kClearCachedImagesAndFiles,
ActionType::kClearCachedImagesAndFiles, ActionType::kClearPasswordSignin,
ActionType::kClearAutofill, ActionType::kClearSiteSettings,
ActionType::kClearHostedAppData});
EXPECT_EQ(1u, queue.size());
EXPECT_EQ(2, queue.top()->priority()); // ClearBrowsingDataAction
}
} // namespace enterprise_idle