| // Copyright 2024 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_ANNOTATOR_ANNOTATOR_TEST_UTIL_H_ |
| #define ASH_ANNOTATOR_ANNOTATOR_TEST_UTIL_H_ |
| |
| #include "ash/capture_mode/capture_mode_types.h" |
| #include "ash/webui/annotator/test/mock_annotator_client.h" |
| #include "base/test/scoped_feature_list.h" |
| |
| namespace aura { |
| class Window; |
| } // namespace aura |
| |
| namespace gfx { |
| class Rect; |
| } // namespace gfx |
| |
| namespace ash { |
| |
| void ExpectChildOfMenuContainer(aura::Window* overlay_window, |
| aura::Window* source_window); |
| void ExpectSameWindowBounds(aura::Window* overlay_window, |
| aura::Window* source_window); |
| void VerifyWindowStackingOnRoot(aura::Window* overlay_window, |
| aura::Window* source_window); |
| void VerifyWindowStackingOnTestWindow(aura::Window* overlay_window, |
| aura::Window* source_window); |
| void VerifyWindowStackingOnRegion(aura::Window* overlay_window, |
| aura::Window* source_window, |
| const gfx::Rect region_bounds); |
| void VerifyOverlayEnabledState(aura::Window* overlay_window, |
| bool overlay_enabled_state); |
| void VerifyOverlayWindowForCaptureMode(aura::Window* overlay_window, |
| aura::Window* window_being_recorded, |
| CaptureModeSource source, |
| const gfx::Rect region_bounds); |
| |
| // Defines a helper class to allow setting up and testing the annotator feature |
| // in multiple test fixtures. |
| class AnnotatorIntegrationHelper { |
| public: |
| AnnotatorIntegrationHelper(); |
| AnnotatorIntegrationHelper(const AnnotatorIntegrationHelper&) = delete; |
| AnnotatorIntegrationHelper& operator=(const AnnotatorIntegrationHelper&) = |
| delete; |
| ~AnnotatorIntegrationHelper() = default; |
| |
| // Sets up the annotator client. Must be called after `AshTestBase::SetUp()` |
| // has been called. |
| void SetUp(); |
| |
| private: |
| MockAnnotatorClient annotator_client_; |
| base::test::ScopedFeatureList scoped_feature_list_; |
| }; |
| } // namespace ash |
| |
| #endif // ASH_ANNOTATOR_ANNOTATOR_TEST_UTIL_H_ |