@@ -109,8 +109,8 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) {
109109 flutter::SemanticsNode node0;
110110 node0.id = 0 ;
111111 node0.flags |= static_cast <int >(flutter::SemanticsFlags::kIsButton );
112- node0.childrenInTraversalOrder = {1 , 2 , 3 , 4 };
113- node0.childrenInHitTestOrder = {1 , 2 , 3 , 4 };
112+ node0.childrenInTraversalOrder = {1 , 2 , 3 , 4 , 5 , 6 , 7 };
113+ node0.childrenInHitTestOrder = {1 , 2 , 3 , 4 , 5 , 6 , 7 };
114114 updates.emplace (0 , node0);
115115
116116 flutter::SemanticsNode node1;
@@ -141,6 +141,29 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) {
141141 node4.flags |= static_cast <int >(flutter::SemanticsFlags::kIsSlider );
142142 updates.emplace (4 , node4);
143143
144+ flutter::SemanticsNode node5;
145+ node5.childrenInTraversalOrder = {};
146+ node5.childrenInHitTestOrder = {};
147+ node5.id = 5 ;
148+ node5.flags |= static_cast <int >(flutter::SemanticsFlags::kIsLink );
149+ updates.emplace (5 , node5);
150+
151+ flutter::SemanticsNode node6;
152+ node6.childrenInTraversalOrder = {};
153+ node6.childrenInHitTestOrder = {};
154+ node6.id = 6 ;
155+ node6.flags |= static_cast <int >(flutter::SemanticsFlags::kHasCheckedState );
156+ node6.flags |=
157+ static_cast <int >(flutter::SemanticsFlags::kIsInMutuallyExclusiveGroup );
158+ updates.emplace (6 , node6);
159+
160+ flutter::SemanticsNode node7;
161+ node7.childrenInTraversalOrder = {};
162+ node7.childrenInHitTestOrder = {};
163+ node7.id = 7 ;
164+ node7.flags |= static_cast <int >(flutter::SemanticsFlags::kHasCheckedState );
165+ updates.emplace (7 , node7);
166+
144167 accessibility_bridge_->AddSemanticsNodeUpdate (std::move (updates), 1 .f );
145168 RunLoopUntilIdle ();
146169
@@ -150,12 +173,15 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) {
150173 {1u , fuchsia::accessibility::semantics::Role::HEADER},
151174 {2u , fuchsia::accessibility::semantics::Role::IMAGE},
152175 {3u , fuchsia::accessibility::semantics::Role::TEXT_FIELD},
153- {4u , fuchsia::accessibility::semantics::Role::SLIDER}};
176+ {4u , fuchsia::accessibility::semantics::Role::SLIDER},
177+ {5u , fuchsia::accessibility::semantics::Role::LINK},
178+ {6u , fuchsia::accessibility::semantics::Role::RADIO_BUTTON},
179+ {7u , fuchsia::accessibility::semantics::Role::CHECK_BOX}};
154180
155181 EXPECT_EQ (0 , semantics_manager_.DeleteCount ());
156182 EXPECT_EQ (1 , semantics_manager_.UpdateCount ());
157183 EXPECT_EQ (1 , semantics_manager_.CommitCount ());
158- EXPECT_EQ (5U , semantics_manager_.LastUpdatedNodes ().size ());
184+ EXPECT_EQ (8u , semantics_manager_.LastUpdatedNodes ().size ());
159185 for (const auto & node : semantics_manager_.LastUpdatedNodes ()) {
160186 ExpectNodeHasRole (node, roles_by_node_id);
161187 }
0 commit comments