@@ -109,8 +109,8 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) {
109
109
flutter::SemanticsNode node0;
110
110
node0.id = 0 ;
111
111
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 };
114
114
updates.emplace (0 , node0);
115
115
116
116
flutter::SemanticsNode node1;
@@ -141,6 +141,29 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) {
141
141
node4.flags |= static_cast <int >(flutter::SemanticsFlags::kIsSlider );
142
142
updates.emplace (4 , node4);
143
143
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
+
144
167
accessibility_bridge_->AddSemanticsNodeUpdate (std::move (updates), 1 .f );
145
168
RunLoopUntilIdle ();
146
169
@@ -150,12 +173,15 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) {
150
173
{1u , fuchsia::accessibility::semantics::Role::HEADER},
151
174
{2u , fuchsia::accessibility::semantics::Role::IMAGE},
152
175
{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}};
154
180
155
181
EXPECT_EQ (0 , semantics_manager_.DeleteCount ());
156
182
EXPECT_EQ (1 , semantics_manager_.UpdateCount ());
157
183
EXPECT_EQ (1 , semantics_manager_.CommitCount ());
158
- EXPECT_EQ (5U , semantics_manager_.LastUpdatedNodes ().size ());
184
+ EXPECT_EQ (8u , semantics_manager_.LastUpdatedNodes ().size ());
159
185
for (const auto & node : semantics_manager_.LastUpdatedNodes ()) {
160
186
ExpectNodeHasRole (node, roles_by_node_id);
161
187
}
0 commit comments