#include "components/send_tab_to_self/entry_point_display_reason.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "build/chromeos_buildflags.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/testing_pref_service.h"
#include "components/send_tab_to_self/send_tab_to_self_sync_service.h"
#include "components/send_tab_to_self/test_send_tab_to_self_model.h"
#include "components/signin/public/base/signin_pref_names.h"
#include "components/sync/test/test_sync_service.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
namespace send_tab_to_self {
namespace {
GetEntryPointDisplayReason;
const char kHttpsUrl[] = …;
const char kHttpUrl[] = …;
class FakeSendTabToSelfModel : public TestSendTabToSelfModel { … };
class EntryPointDisplayReasonTest : public ::testing::Test { … };
#if !BUILDFLAG(IS_CHROMEOS_LACROS)
TEST_F(EntryPointDisplayReasonTest, ShouldShowPromoIfSignedOut) { … }
#endif
TEST_F(EntryPointDisplayReasonTest, ShouldHidePromoIfSyncDisabledByPolicy) { … }
TEST_F(EntryPointDisplayReasonTest, ShouldHideEntryPointIfModelNotReady) { … }
TEST_F(EntryPointDisplayReasonTest, ShouldShowPromoIfHasNoValidTargetDevice) { … }
TEST_F(EntryPointDisplayReasonTest, ShouldOnlyOfferFeatureIfHttpOrHttps) { … }
}
}