#include <utility>
#include <vector>
#include "base/strings/strcat.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/new_tab_page/modules/modules_switches.h"
#include "chrome/browser/new_tab_page/modules/test_support.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/test/interaction/interactive_browser_test.h"
#include "chrome/test/interaction/webcontents_interaction_test_util.h"
#include "components/search/ntp_features.h"
#include "content/public/test/browser_test.h"
namespace {
DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(…);
DEFINE_LOCAL_CUSTOM_ELEMENT_EVENT_TYPE(…);
DEFINE_LOCAL_CUSTOM_ELEMENT_EVENT_TYPE(…);
const char kGooglePageUrl[] = …;
DeepQuery;
const DeepQuery kModulesV2Container = …;
const DeepQuery kModulesV2Wrapper = …;
struct ModuleLink { … };
struct ModuleDetails { … };
ModuleDetails kMostRelevantTabResumptionModuleDetails = …;
ModuleDetails kGoogleCalendarModuleDetails = …;
std::vector<ModuleDetails> kAllModules = …;
std::vector<std::pair<std::vector<base::test::FeatureRefAndParams>, ModuleLink>>
GetAllModuleLinks(std::vector<ModuleDetails> modules) { … }
}
class NewTabPageModulesInteractiveUiBaseTest : public InteractiveBrowserTest { … };
class NewTabPageModulesInteractiveUiTest
: public NewTabPageModulesInteractiveUiBaseTest,
public testing::WithParamInterface<ModuleDetails> { … };
INSTANTIATE_TEST_SUITE_P(…);
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_MAC)
#define MAYBE_ClickingHideButtonDismissesModule …
#else
#define MAYBE_ClickingHideButtonDismissesModule …
#endif
IN_PROC_BROWSER_TEST_P(NewTabPageModulesInteractiveUiTest,
MAYBE_ClickingHideButtonDismissesModule) { … }
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS)
#define MAYBE_ClickingDisableButtonDisablesModule …
#else
#define MAYBE_ClickingDisableButtonDisablesModule …
#endif
IN_PROC_BROWSER_TEST_P(NewTabPageModulesInteractiveUiTest,
MAYBE_ClickingDisableButtonDisablesModule) { … }
class NewTabPageModulesInteractiveLinkUiTest
: public NewTabPageModulesInteractiveUiBaseTest,
public testing::WithParamInterface<
std::pair<std::vector<base::test::FeatureRefAndParams>, ModuleLink>> { … };
INSTANTIATE_TEST_SUITE_P(…);
#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
#define MAYBE_ClickingEntryNavigatesToCorrectPage …
#else
#define MAYBE_ClickingEntryNavigatesToCorrectPage …
#endif
IN_PROC_BROWSER_TEST_P(NewTabPageModulesInteractiveLinkUiTest,
MAYBE_ClickingEntryNavigatesToCorrectPage) { … }