@@ -246,5 +246,63 @@ TEST(FlutterPlatformNodeDelegateTest, canUseOwnerBridge) {
246
246
EXPECT_EQ (result, false );
247
247
}
248
248
249
+ TEST (FlutterPlatformNodeDelegateTest, selfIsLowestPlatformAncestor) {
250
+ std::shared_ptr<TestAccessibilityBridge> bridge =
251
+ std::make_shared<TestAccessibilityBridge>();
252
+ FlutterSemanticsNode root;
253
+ root.id = 0 ;
254
+ root.label = " root" ;
255
+ root.hint = " " ;
256
+ root.value = " " ;
257
+ root.increased_value = " " ;
258
+ root.decreased_value = " " ;
259
+ root.tooltip = " " ;
260
+ root.child_count = 0 ;
261
+ root.children_in_traversal_order = nullptr ;
262
+ root.custom_accessibility_actions_count = 0 ;
263
+ bridge->AddFlutterSemanticsNodeUpdate (&root);
264
+
265
+ bridge->CommitUpdates ();
266
+ auto root_node = bridge->GetFlutterPlatformNodeDelegateFromID (0 ).lock ();
267
+ auto lowest_platform_ancestor = root_node->GetLowestPlatformAncestor ();
268
+ EXPECT_EQ (root_node->GetNativeViewAccessible (), lowest_platform_ancestor);
269
+ }
270
+
271
+ TEST (FlutterPlatformNodeDelegateTest, canGetFromNodeID) {
272
+ std::shared_ptr<TestAccessibilityBridge> bridge =
273
+ std::make_shared<TestAccessibilityBridge>();
274
+ FlutterSemanticsNode root;
275
+ root.id = 0 ;
276
+ root.label = " root" ;
277
+ root.hint = " " ;
278
+ root.value = " " ;
279
+ root.increased_value = " " ;
280
+ root.decreased_value = " " ;
281
+ root.tooltip = " " ;
282
+ root.child_count = 1 ;
283
+ int32_t children[] = {1 };
284
+ root.children_in_traversal_order = children;
285
+ root.custom_accessibility_actions_count = 0 ;
286
+ bridge->AddFlutterSemanticsNodeUpdate (&root);
287
+
288
+ FlutterSemanticsNode child1;
289
+ child1.id = 1 ;
290
+ child1.label = " child 1" ;
291
+ child1.hint = " " ;
292
+ child1.value = " " ;
293
+ child1.increased_value = " " ;
294
+ child1.decreased_value = " " ;
295
+ child1.tooltip = " " ;
296
+ child1.child_count = 0 ;
297
+ child1.custom_accessibility_actions_count = 0 ;
298
+ bridge->AddFlutterSemanticsNodeUpdate (&child1);
299
+
300
+ bridge->CommitUpdates ();
301
+ auto root_node = bridge->GetFlutterPlatformNodeDelegateFromID (0 ).lock ();
302
+ auto child1_node = bridge->GetFlutterPlatformNodeDelegateFromID (1 ).lock ();
303
+ auto node_by_id = root_node->GetFromNodeID (1 );
304
+ EXPECT_EQ (child1_node->GetPlatformNode (), node_by_id);
305
+ }
306
+
249
307
} // namespace testing
250
308
} // namespace flutter
0 commit comments