Commit c0e15aa2 authored by Xiaohui Chen's avatar Xiaohui Chen Committed by Commit Bot

assistant: add shelf layout unit tests

* Add a couple shelf layout tests to make sure when Assistant
  is invoked in tablet mode with/without apps, the hotseat state
  won't change.

Bug: None
Test: unit tests
Change-Id: I7103fe9489f780cd441942801aa4d03b71825dbe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2013752
Commit-Queue: Xiaohui Chen <xiaohuic@chromium.org>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Reviewed-by: default avatarToni Baržić <tbarzic@chromium.org>
Reviewed-by: default avatarManu Cornet <manucornet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#734728}
parent 7470b0a4
......@@ -133,6 +133,10 @@ AssistantState* AssistantTestApiImpl::GetAssistantState() {
return AssistantState::Get();
}
void AssistantTestApiImpl::WaitUntilIdle() {
base::RunLoop().RunUntilIdle();
}
void AssistantTestApiImpl::EnableAnimations() {
scoped_animation_duration_ = nullptr;
AppListView::SetShortAnimationForTesting(false);
......
......@@ -33,6 +33,7 @@ class AssistantTestApiImpl : public AssistantTestApi {
void SetTabletMode(bool enable) override;
void SetPreferVoice(bool value) override;
AssistantState* GetAssistantState() override;
void WaitUntilIdle() override;
views::View* page_view() override;
views::View* main_view() override;
views::View* ui_element_container() override;
......
......@@ -55,6 +55,9 @@ class ASH_EXPORT AssistantTestApi {
// Returns the interface to get/set Assistant related prefs and states.
virtual AssistantState* GetAssistantState() = 0;
// Wait for all Assistant related actions to settle.
virtual void WaitUntilIdle() = 0;
// Returns the top-level Assistant specific view.
// Can only be used after the Assistant UI has been shown at least once.
virtual views::View* page_view() = 0;
......
This diff is collapsed.
......@@ -5,6 +5,8 @@
#ifndef ASH_SHELF_TEST_SHELF_LAYOUT_MANAGER_TEST_BASE_H_
#define ASH_SHELF_TEST_SHELF_LAYOUT_MANAGER_TEST_BASE_H_
#include <utility>
#include "ash/public/cpp/shelf_types.h"
#include "ash/test/ash_test_base.h"
#include "ash/wm/workspace/workspace_types.h"
......@@ -19,7 +21,9 @@ class ShelfLayoutManager;
class ShelfLayoutManagerTestBase : public AshTestBase {
public:
ShelfLayoutManagerTestBase() = default;
template <typename... TaskEnvironmentTraits>
explicit ShelfLayoutManagerTestBase(TaskEnvironmentTraits&&... traits)
: AshTestBase(std::forward<TaskEnvironmentTraits>(traits)...) {}
// Calls the private SetState() function.
void SetState(ShelfLayoutManager* layout_manager, ShelfVisibilityState state);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment