|
19 | 19 |
|
20 | 20 | namespace flutter_runner_test { |
21 | 21 |
|
22 | | -namespace { |
23 | | - |
24 | | -void ExpectNodeHasRole( |
25 | | - const fuchsia::accessibility::semantics::Node& node, |
26 | | - const std::unordered_map<uint32_t, fuchsia::accessibility::semantics::Role> |
27 | | - roles_by_node_id) { |
28 | | - ASSERT_TRUE(node.has_node_id()); |
29 | | - ASSERT_NE(roles_by_node_id.find(node.node_id()), roles_by_node_id.end()); |
30 | | - EXPECT_TRUE(node.has_role()); |
31 | | - EXPECT_EQ(node.role(), roles_by_node_id.at(node.node_id())); |
32 | | -} |
33 | | - |
34 | | -} // namespace |
35 | | - |
36 | 22 | class AccessibilityBridgeTestDelegate |
37 | 23 | : public flutter_runner::AccessibilityBridge::Delegate { |
38 | 24 | public: |
@@ -103,67 +89,6 @@ TEST_F(AccessibilityBridgeTest, EnableDisable) { |
103 | 89 | EXPECT_TRUE(accessibility_delegate_.enabled()); |
104 | 90 | } |
105 | 91 |
|
106 | | -TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) { |
107 | | - flutter::SemanticsNodeUpdates updates; |
108 | | - |
109 | | - flutter::SemanticsNode node0; |
110 | | - node0.id = 0; |
111 | | - node0.flags |= static_cast<int>(flutter::SemanticsFlags::kIsButton); |
112 | | - node0.childrenInTraversalOrder = {1, 2, 3, 4}; |
113 | | - node0.childrenInHitTestOrder = {1, 2, 3, 4}; |
114 | | - updates.emplace(0, node0); |
115 | | - |
116 | | - flutter::SemanticsNode node1; |
117 | | - node1.id = 1; |
118 | | - node1.flags |= static_cast<int>(flutter::SemanticsFlags::kIsHeader); |
119 | | - node1.childrenInTraversalOrder = {}; |
120 | | - node1.childrenInHitTestOrder = {}; |
121 | | - updates.emplace(1, node1); |
122 | | - |
123 | | - flutter::SemanticsNode node2; |
124 | | - node2.id = 2; |
125 | | - node2.flags |= static_cast<int>(flutter::SemanticsFlags::kIsImage); |
126 | | - node2.childrenInTraversalOrder = {}; |
127 | | - node2.childrenInHitTestOrder = {}; |
128 | | - updates.emplace(2, node2); |
129 | | - |
130 | | - flutter::SemanticsNode node3; |
131 | | - node3.id = 3; |
132 | | - node3.flags |= static_cast<int>(flutter::SemanticsFlags::kIsTextField); |
133 | | - node3.childrenInTraversalOrder = {}; |
134 | | - node3.childrenInHitTestOrder = {}; |
135 | | - updates.emplace(3, node3); |
136 | | - |
137 | | - flutter::SemanticsNode node4; |
138 | | - node4.childrenInTraversalOrder = {}; |
139 | | - node4.childrenInHitTestOrder = {}; |
140 | | - node4.id = 4; |
141 | | - node4.flags |= static_cast<int>(flutter::SemanticsFlags::kIsSlider); |
142 | | - updates.emplace(4, node4); |
143 | | - |
144 | | - accessibility_bridge_->AddSemanticsNodeUpdate(std::move(updates)); |
145 | | - RunLoopUntilIdle(); |
146 | | - |
147 | | - std::unordered_map<uint32_t, fuchsia::accessibility::semantics::Role> |
148 | | - roles_by_node_id = { |
149 | | - {0u, fuchsia::accessibility::semantics::Role::BUTTON}, |
150 | | - {1u, fuchsia::accessibility::semantics::Role::HEADER}, |
151 | | - {2u, fuchsia::accessibility::semantics::Role::IMAGE}, |
152 | | - {3u, fuchsia::accessibility::semantics::Role::TEXT_FIELD}, |
153 | | - {4u, fuchsia::accessibility::semantics::Role::SLIDER}}; |
154 | | - |
155 | | - EXPECT_EQ(0, semantics_manager_.DeleteCount()); |
156 | | - EXPECT_EQ(1, semantics_manager_.UpdateCount()); |
157 | | - EXPECT_EQ(1, semantics_manager_.CommitCount()); |
158 | | - EXPECT_EQ(5U, semantics_manager_.LastUpdatedNodes().size()); |
159 | | - for (const auto& node : semantics_manager_.LastUpdatedNodes()) { |
160 | | - ExpectNodeHasRole(node, roles_by_node_id); |
161 | | - } |
162 | | - |
163 | | - EXPECT_FALSE(semantics_manager_.DeleteOverflowed()); |
164 | | - EXPECT_FALSE(semantics_manager_.UpdateOverflowed()); |
165 | | -} |
166 | | - |
167 | 92 | TEST_F(AccessibilityBridgeTest, DeletesChildrenTransitively) { |
168 | 93 | // Test that when a node is deleted, so are its transitive children. |
169 | 94 | flutter::SemanticsNode node2; |
|
0 commit comments