@@ -26,6 +26,7 @@ namespace flutter {
2626namespace testing {
2727
2828namespace {
29+ using ::testing::NiceMock;
2930
3031// A structure representing a Win32 MSAA event targeting a specified node.
3132struct MsaaEvent {
@@ -88,8 +89,9 @@ class AccessibilityBridgeWindowsSpy : public AccessibilityBridgeWindows {
8889// AccessibilityBridgeWindowsSpy.
8990class FlutterWindowsViewSpy : public FlutterWindowsView {
9091 public:
91- explicit FlutterWindowsViewSpy (std::unique_ptr<WindowBindingHandler> handler)
92- : FlutterWindowsView(std::move(handler)) {}
92+ FlutterWindowsViewSpy (FlutterWindowsEngine* engine,
93+ std::unique_ptr<WindowBindingHandler> handler)
94+ : FlutterWindowsView(engine, std::move(handler)) {}
9395
9496 protected:
9597 virtual std::shared_ptr<AccessibilityBridgeWindows>
@@ -187,10 +189,10 @@ void ExpectWinEventFromAXEvent(int32_t node_id,
187189 ui::AXEventGenerator::Event ax_event,
188190 ax::mojom::Event expected_event) {
189191 auto engine = GetTestEngine ();
190- auto window_binding_handler =
191- std::make_unique<::testing:: NiceMock<MockWindowBindingHandler>>();
192- FlutterWindowsViewSpy view ( std::move (window_binding_handler)) ;
193- view. SetEngine (engine. get () );
192+ FlutterWindowsViewSpy view{
193+ engine. get (), std::make_unique<NiceMock<MockWindowBindingHandler>>()} ;
194+ EngineModifier modifier{engine. get ()} ;
195+ modifier. SetImplicitView (&view );
194196 view.OnUpdateSemanticsEnabled (true );
195197
196198 auto bridge = GetAccessibilityBridgeSpy (view);
@@ -208,10 +210,10 @@ void ExpectWinEventFromAXEventOnFocusNode(int32_t node_id,
208210 ax::mojom::Event expected_event,
209211 int32_t focus_id) {
210212 auto engine = GetTestEngine ();
211- auto window_binding_handler =
212- std::make_unique<::testing:: NiceMock<MockWindowBindingHandler>>();
213- FlutterWindowsViewSpy view ( std::move (window_binding_handler)) ;
214- view. SetEngine (engine. get () );
213+ FlutterWindowsViewSpy view{
214+ engine. get (), std::make_unique<NiceMock<MockWindowBindingHandler>>()} ;
215+ EngineModifier modifier{engine. get ()} ;
216+ modifier. SetImplicitView (&view );
215217 view.OnUpdateSemanticsEnabled (true );
216218
217219 auto bridge = GetAccessibilityBridgeSpy (view);
@@ -234,10 +236,10 @@ void ExpectWinEventFromAXEventOnFocusNode(int32_t node_id,
234236
235237TEST (AccessibilityBridgeWindows, GetParent) {
236238 auto engine = GetTestEngine ();
237- auto window_binding_handler =
238- std::make_unique<::testing:: NiceMock<MockWindowBindingHandler>>();
239- FlutterWindowsViewSpy view ( std::move (window_binding_handler)) ;
240- view. SetEngine (engine. get () );
239+ FlutterWindowsViewSpy view{
240+ engine. get (), std::make_unique<NiceMock<MockWindowBindingHandler>>()} ;
241+ EngineModifier modifier{engine. get ()} ;
242+ modifier. SetImplicitView (&view );
241243 view.OnUpdateSemanticsEnabled (true );
242244
243245 auto bridge = view.accessibility_bridge ().lock ();
@@ -251,10 +253,10 @@ TEST(AccessibilityBridgeWindows, GetParent) {
251253
252254TEST (AccessibilityBridgeWindows, GetParentOnRootRetunsNullptr) {
253255 auto engine = GetTestEngine ();
254- auto window_binding_handler =
255- std::make_unique<::testing:: NiceMock<MockWindowBindingHandler>>();
256- FlutterWindowsViewSpy view ( std::move (window_binding_handler)) ;
257- view. SetEngine (engine. get () );
256+ FlutterWindowsViewSpy view{
257+ engine. get (), std::make_unique<NiceMock<MockWindowBindingHandler>>()} ;
258+ EngineModifier modifier{engine. get ()} ;
259+ modifier. SetImplicitView (&view );
258260 view.OnUpdateSemanticsEnabled (true );
259261
260262 auto bridge = view.accessibility_bridge ().lock ();
@@ -266,17 +268,16 @@ TEST(AccessibilityBridgeWindows, GetParentOnRootRetunsNullptr) {
266268
267269TEST (AccessibilityBridgeWindows, DispatchAccessibilityAction) {
268270 auto engine = GetTestEngine ();
269- auto window_binding_handler =
270- std::make_unique<::testing:: NiceMock<MockWindowBindingHandler>>();
271- FlutterWindowsViewSpy view ( std::move (window_binding_handler)) ;
272- view. SetEngine (engine. get () );
271+ FlutterWindowsViewSpy view{
272+ engine. get (), std::make_unique<NiceMock<MockWindowBindingHandler>>()} ;
273+ EngineModifier modifier{engine. get ()} ;
274+ modifier. SetImplicitView (&view );
273275 view.OnUpdateSemanticsEnabled (true );
274276
275277 auto bridge = view.accessibility_bridge ().lock ();
276278 PopulateAXTree (bridge);
277279
278280 FlutterSemanticsAction actual_action = kFlutterSemanticsActionTap ;
279- EngineModifier modifier (view.GetEngine ());
280281 modifier.embedder_api ().DispatchSemanticsAction = MOCK_ENGINE_PROC (
281282 DispatchSemanticsAction,
282283 ([&actual_action](FLUTTER_API_SYMBOL (FlutterEngine) engine, uint64_t id,
@@ -303,10 +304,10 @@ TEST(AccessibilityBridgeWindows, OnAccessibilityEventChildrenChanged) {
303304
304305TEST (AccessibilityBridgeWindows, OnAccessibilityEventFocusChanged) {
305306 auto engine = GetTestEngine ();
306- auto window_binding_handler =
307- std::make_unique<::testing:: NiceMock<MockWindowBindingHandler>>();
308- FlutterWindowsViewSpy view ( std::move (window_binding_handler)) ;
309- view. SetEngine (engine. get () );
307+ FlutterWindowsViewSpy view{
308+ engine. get (), std::make_unique<NiceMock<MockWindowBindingHandler>>()} ;
309+ EngineModifier modifier{engine. get ()} ;
310+ modifier. SetImplicitView (&view );
310311 view.OnUpdateSemanticsEnabled (true );
311312
312313 auto bridge = GetAccessibilityBridgeSpy (view);
0 commit comments