| Index: content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility_manager_unittest.cc b/content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| index 75342b4edfa565b4714efa2897e9e339576452c4..805edf830ff263f921ea139d475bfbe5ebd68650 100644
|
| --- a/content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_manager_unittest.cc
|
| @@ -1494,4 +1494,51 @@ TEST(BrowserAccessibilityManagerTest, DeletingFocusedNodeDoesNotCrash2) {
|
| ASSERT_EQ(3, manager->GetFocus()->GetId());
|
| }
|
|
|
| +TEST(BrowserAccessibilityManagerTest, LineStartBoundary) {
|
| + ui::AXNodeData root;
|
| + root.id = 1;
|
| + root.role = ui::AX_ROLE_ROOT_WEB_AREA;
|
| +
|
| + ui::AXNodeData static_text;
|
| + static_text.id = 2;
|
| + static_text.SetName("1-2-3-4");
|
| + static_text.role = ui::AX_ROLE_STATIC_TEXT;
|
| + root.child_ids.push_back(2);
|
| +
|
| + ui::AXNodeData inline_text1;
|
| + inline_text1.id = 3;
|
| + inline_text1.SetName("1-2-");
|
| + inline_text1.role = ui::AX_ROLE_INLINE_TEXT_BOX;
|
| + static_text.child_ids.push_back(3);
|
| +
|
| + ui::AXNodeData inline_text2;
|
| + inline_text2.id = 4;
|
| + inline_text2.SetName("3-4");
|
| + inline_text2.role = ui::AX_ROLE_INLINE_TEXT_BOX;
|
| + static_text.child_ids.push_back(4);
|
| +
|
| + std::unique_ptr<BrowserAccessibilityManager> manager(
|
| + BrowserAccessibilityManager::Create(
|
| + MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2),
|
| + nullptr, new CountedBrowserAccessibilityFactory()));
|
| +
|
| + BrowserAccessibility* root_accessible = manager->GetRoot();
|
| + ASSERT_NE(nullptr, root_accessible);
|
| + BrowserAccessibility* static_text_accessible =
|
| + root_accessible->PlatformGetChild(0);
|
| + ASSERT_NE(nullptr, static_text_accessible);
|
| +
|
| + // If the affinity is downstream, check that we get the second line.
|
| + ASSERT_EQ(4, static_text_accessible->GetLineStartBoundary(
|
| + 4, ui::BACKWARDS_DIRECTION, ui::AX_TEXT_AFFINITY_DOWNSTREAM));
|
| + ASSERT_EQ(7, static_text_accessible->GetLineStartBoundary(
|
| + 4, ui::FORWARDS_DIRECTION, ui::AX_TEXT_AFFINITY_DOWNSTREAM));
|
| +
|
| + // If the affinity is upstream, check that we get the second line.
|
| + ASSERT_EQ(0, static_text_accessible->GetLineStartBoundary(
|
| + 4, ui::BACKWARDS_DIRECTION, ui::AX_TEXT_AFFINITY_UPSTREAM));
|
| + ASSERT_EQ(4, static_text_accessible->GetLineStartBoundary(
|
| + 4, ui::FORWARDS_DIRECTION, ui::AX_TEXT_AFFINITY_UPSTREAM));
|
| +}
|
| +
|
| } // namespace content
|
|
|