# Testing: https://w3c.github.io/core-aam/#role-map-treegrid

TEST_HTML = "<div role='treegrid' id='test'> <div role='row'> <div role='gridcell'>content</div> </div> </div>"

def test_atspi(atspi, session, inline):
    session.url = inline(TEST_HTML)

    # Spec:
    # Role: ROLE_TREE_TABLE
    # Interface: Table
    # Interface: Selection
    # Because WAI-ARIA does not support modifying the selection via the accessibility API, user agents MUST return false for all Selection methods that provide a means to modify the selection.

    node = atspi.find_node("test", session.url)
    assert atspi.Accessible.get_role(node) == atspi.Role.TREE_TABLE
    assert atspi.Accessible.get_table_iface(node) is not None
    assert atspi.Accessible.get_selection_iface(node) is not None

# def test_axapi(axapi, session, inline):
#     session.url = inline(TEST_HTML)
#
#     # Spec:
#     # AXRole: AXTable
#     # AXSubrole: <nil>

# def test_ia2(ia2, session, inline):
#     session.url = inline(TEST_HTML)
#
#     # Spec:
#     # Role: ROLE_SYSTEM_OUTLINE
#     # Interface: IAccessibleTable2
#     # Method: IAccessible::accSelect()
#     # Method: IAccessible::get_accSelection()

def test_uia(uia, session, inline):
    session.url = inline(TEST_HTML)

    # Spec:
    # Control Type: DataGrid

    node = uia.find_node("test", session.url)
    assert node.CurrentControlType == uia.ControlType.DataGrid
