| Index: third_party/WebKit/Source/web/tests/AccessibilityObjectModelTest.cpp
|
| diff --git a/third_party/WebKit/Source/web/tests/AccessibilityObjectModelTest.cpp b/third_party/WebKit/Source/web/tests/AccessibilityObjectModelTest.cpp
|
| index cee1987b9679349e1a4a98122dec9da3d32a2675..bd07048daa9fb303dad68700266246587cc04eae 100644
|
| --- a/third_party/WebKit/Source/web/tests/AccessibilityObjectModelTest.cpp
|
| +++ b/third_party/WebKit/Source/web/tests/AccessibilityObjectModelTest.cpp
|
| @@ -5,6 +5,9 @@
|
| #include "core/dom/AccessibleNode.h"
|
| #include "core/html/HTMLBodyElement.h"
|
| #include "modules/accessibility/AXObjectCacheImpl.h"
|
| +#include "modules/accessibility/AXTable.h"
|
| +#include "modules/accessibility/AXTableCell.h"
|
| +#include "modules/accessibility/AXTableRow.h"
|
| #include "platform/testing/RuntimeEnabledFeaturesTestHelpers.h"
|
| #include "web/tests/sim/SimRequest.h"
|
| #include "web/tests/sim/SimTest.h"
|
| @@ -131,6 +134,104 @@ TEST_F(AccessibilityObjectModelTest, AOMPropertiesCanBeCleared) {
|
| EXPECT_FALSE(axButton->IsEnabled());
|
| }
|
|
|
| +TEST_F(AccessibilityObjectModelTest, RangeProperties) {
|
| + SimRequest main_resource("https://example.com/", "text/html");
|
| + LoadURL("https://example.com/");
|
| + main_resource.Complete("<div role=slider id=slider>");
|
| +
|
| + auto* slider = GetDocument().getElementById("slider");
|
| + ASSERT_NE(nullptr, slider);
|
| + slider->accessibleNode()->setValueMin(-0.5, false);
|
| + slider->accessibleNode()->setValueMax(0.5, false);
|
| + slider->accessibleNode()->setValueNow(0.1, false);
|
| +
|
| + auto* cache = AXObjectCache();
|
| + ASSERT_NE(nullptr, cache);
|
| + auto* ax_slider = cache->GetOrCreate(slider);
|
| + EXPECT_EQ(-0.5f, ax_slider->MinValueForRange());
|
| + EXPECT_EQ(0.5f, ax_slider->MaxValueForRange());
|
| + EXPECT_EQ(0.1f, ax_slider->ValueForRange());
|
| +}
|
| +
|
| +TEST_F(AccessibilityObjectModelTest, Level) {
|
| + SimRequest main_resource("https://example.com/", "text/html");
|
| + LoadURL("https://example.com/");
|
| + main_resource.Complete("<div role=heading id=heading>");
|
| +
|
| + auto* heading = GetDocument().getElementById("heading");
|
| + ASSERT_NE(nullptr, heading);
|
| + heading->accessibleNode()->setLevel(5, false);
|
| +
|
| + auto* cache = AXObjectCache();
|
| + ASSERT_NE(nullptr, cache);
|
| + auto* ax_heading = cache->GetOrCreate(heading);
|
| + EXPECT_EQ(5, ax_heading->HeadingLevel());
|
| +}
|
| +
|
| +TEST_F(AccessibilityObjectModelTest, ListItem) {
|
| + SimRequest main_resource("https://example.com/", "text/html");
|
| + LoadURL("https://example.com/");
|
| + main_resource.Complete(
|
| + "<div role=list><div role=listitem id=listitem></div></div>");
|
| +
|
| + auto* listitem = GetDocument().getElementById("listitem");
|
| + ASSERT_NE(nullptr, listitem);
|
| + listitem->accessibleNode()->setPosInSet(9, false);
|
| + listitem->accessibleNode()->setSetSize(10, false);
|
| +
|
| + auto* cache = AXObjectCache();
|
| + ASSERT_NE(nullptr, cache);
|
| + auto* ax_listitem = cache->GetOrCreate(listitem);
|
| + EXPECT_EQ(9, ax_listitem->PosInSet());
|
| + EXPECT_EQ(10, ax_listitem->SetSize());
|
| +}
|
| +
|
| +TEST_F(AccessibilityObjectModelTest, Grid) {
|
| + SimRequest main_resource("https://example.com/", "text/html");
|
| + LoadURL("https://example.com/");
|
| + main_resource.Complete(
|
| + "<div role=grid id=grid>"
|
| + " <div role=row id=row>"
|
| + " <div role=gridcell id=cell></div>"
|
| + " <div role=gridcell id=cell2></div>"
|
| + " </div>"
|
| + "</div>");
|
| +
|
| + auto* grid = GetDocument().getElementById("grid");
|
| + ASSERT_NE(nullptr, grid);
|
| + grid->accessibleNode()->setColCount(16, false);
|
| + grid->accessibleNode()->setRowCount(9, false);
|
| +
|
| + auto* row = GetDocument().getElementById("row");
|
| + ASSERT_NE(nullptr, row);
|
| + row->accessibleNode()->setColIndex(8, false);
|
| + row->accessibleNode()->setRowIndex(5, false);
|
| +
|
| + auto* cell = GetDocument().getElementById("cell");
|
| +
|
| + auto* cell2 = GetDocument().getElementById("cell2");
|
| + ASSERT_NE(nullptr, cell2);
|
| + cell2->accessibleNode()->setColIndex(10, false);
|
| + cell2->accessibleNode()->setRowIndex(7, false);
|
| +
|
| + auto* cache = AXObjectCache();
|
| + ASSERT_NE(nullptr, cache);
|
| +
|
| + auto* ax_grid = static_cast<AXTable*>(cache->GetOrCreate(grid));
|
| + EXPECT_EQ(16, ax_grid->AriaColumnCount());
|
| + EXPECT_EQ(9, ax_grid->AriaRowCount());
|
| +
|
| + auto* ax_cell = static_cast<AXTableCell*>(cache->GetOrCreate(cell));
|
| + EXPECT_TRUE(ax_cell->IsTableCell());
|
| + EXPECT_EQ(8U, ax_cell->AriaColumnIndex());
|
| + EXPECT_EQ(5U, ax_cell->AriaRowIndex());
|
| +
|
| + auto* ax_cell2 = static_cast<AXTableCell*>(cache->GetOrCreate(cell2));
|
| + EXPECT_TRUE(ax_cell2->IsTableCell());
|
| + EXPECT_EQ(10U, ax_cell2->AriaColumnIndex());
|
| + EXPECT_EQ(7U, ax_cell2->AriaRowIndex());
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace blink
|
|
|