[go: nahoru, domu]

blob: 39d18e1d974c30523d9e3ae759441bc32f8a1914 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ash/assistant/ui/main_stage/launcher_search_iph_view.h"
#include "ash/assistant/test/assistant_ash_test_base.h"
#include "ash/assistant/ui/assistant_view_ids.h"
#include "ash/assistant/ui/main_stage/chip_view.h"
#include "base/memory/raw_ptr.h"
#include "base/test/scoped_feature_list.h"
#include "components/feature_engagement/public/feature_constants.h"
namespace ash {
namespace {
using LauncherSearchIphViewTest = AssistantAshTestBase;
} // namespace
TEST_F(LauncherSearchIphViewTest,
ShouldShuffleQueriesWhenShowingAssistantPage) {
base::test::ScopedFeatureList scoped_feature_list(
feature_engagement::kIPHLauncherSearchHelpUiFeature);
ShowAssistantUi();
LauncherSearchIphView* iph_view = static_cast<LauncherSearchIphView*>(
page_view()->GetViewByID(AssistantViewID::kLauncherSearchIph));
std::vector<std::u16string> queries_1;
for (auto chip : iph_view->GetChipsForTesting()) {
queries_1.emplace_back(chip->GetText());
}
// Close and show Assistant UI again.
CloseAssistantUi();
ShowAssistantUi();
std::vector<std::u16string> queries_2;
for (auto chip : iph_view->GetChipsForTesting()) {
queries_2.emplace_back(chip->GetText());
}
ASSERT_EQ(queries_1.size(), queries_2.size());
EXPECT_NE(queries_1, queries_2);
}
TEST_F(LauncherSearchIphViewTest, ShouldShuffleQueriesWhenVisible) {
auto iph_view = std::make_unique<LauncherSearchIphView>(
/*delegate=*/nullptr, /*is_in_tablet_mode=*/false,
/*scoped_iph_session=*/nullptr,
/*location=*/LauncherSearchIphView::UiLocation::kAssistantPage);
std::vector<std::u16string> queries_1;
for (auto chip : iph_view->GetChipsForTesting()) {
queries_1.emplace_back(chip->GetText());
}
iph_view->SetVisible(false);
iph_view->SetVisible(true);
std::vector<std::u16string> queries_2;
for (auto chip : iph_view->GetChipsForTesting()) {
queries_2.emplace_back(chip->GetText());
}
ASSERT_EQ(queries_1.size(), queries_2.size());
EXPECT_NE(queries_1, queries_2);
}
} // namespace ash