Skip to content

Commit

Permalink
test attempt
Browse files Browse the repository at this point in the history
  • Loading branch information
dnfield committed Jan 14, 2020
1 parent 1405b2b commit 93db0e6
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions shell/platform/fuchsia/flutter/accessibility_bridge_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -294,4 +294,63 @@ TEST_F(AccessibilityBridgeTest, BatchesLargeMessages) {
EXPECT_FALSE(semantics_manager_.DeleteOverflowed());
EXPECT_FALSE(semantics_manager_.UpdateOverflowed());
}

TEST_F(AccessibilityBridgeTest, HitTest) {
flutter::SemanticsNode node0;
node0.id = 0;
node0.rect.setLTRB(0, 0, 100, 100);

flutter::SemanticsNode node1;
node1.id = 1;
node1.rect.setLTRB(10, 10, 20, 20);

flutter::SemanticsNode node2;
node2.id = 2;
node2.rect.setLTRB(25, 10, 45, 20);

flutter::SemanticsNode node3;
node3.id = 3;
node3.rect.setLTRB(10, 25, 20, 45);

flutter::SemanticsNode node4;
node4.id = 4;
node4.rect.setLTRB(10, 10, 20, 20);
node4.transform.setTranslateX(20);
node4.transform.setTranslateY(20);

node0.childrenInTraversalOrder = {1, 2, 3, 4};
node0.childrenInHitTestOrder = {1, 2, 3, 4};

accessibility_bridge_->AddSemanticsNodeUpdate({
{0, node0},
{1, node1},
{2, node2},
{3, node3},
{4, node4},
});
RunLoopUntilIdle();

uint32_t hit_node_id;
auto callback = [&hit_node_id](fuchsia::accessibility::semantics::Hit hit) {
EXPECT_TRUE(hit.has_node_id());
hit_node_id = hit.node_id();
}

// Nodes are:
// ----------
// | 1 2 |
// | 3 4 |
// ----------

accessibility_bridge_.HitTest({1, 1}, callback);
EXPECT_EQ(hit_node_id, 0);
accessibility_brige_.HitTest({15, 15}, callback);
EXPECT_EQ(hit_node_id, 1);
accessibility_bridge_.HitTest({30, 15}, callback);
EXPECT_EQ(hit_node_id, 2);
accessibility_bridge_.HitTest({15, 30}, callback);
EXPECT_EQ(hit_node_id, 3);
accessibility_bridge_.HitTest({30, 30}, callback);
EXPECT_EQ(hit_node_id, 4);
}
} // namespace flutter_runner_test

0 comments on commit 93db0e6

Please sign in to comment.