Example #1
0
TEST(Account, shouldAllowOneParent) {
  // given
  AccountPtr parentAcc(new Account());
  parentAcc->setName("parent");

  AccountPtr childAcc(new Account());
  childAcc->setName("child");

  // when
  childAcc->setParent(parentAcc);

  // then
  ASSERT_EQ(parentAcc, childAcc->getParent());
}
already_AddRefed<nsIAccessibleTable>
nsHTMLTableCellAccessible::GetTableAccessible()
{
  nsCOMPtr<nsIAccessible> childAcc(this), parentAcc;
  childAcc->GetParent(getter_AddRefs(parentAcc));

  while (parentAcc) {
    PRUint32 role = nsAccUtils::Role(parentAcc);
    if (role == nsIAccessibleRole::ROLE_TABLE ||
        role == nsIAccessibleRole::ROLE_TREE_TABLE) {
      nsIAccessibleTable* tableAcc = nsnull;
      CallQueryInterface(parentAcc, &tableAcc);
      return tableAcc;
    }

    parentAcc.swap(childAcc);
    childAcc->GetParent(getter_AddRefs(parentAcc));
  }

  return nsnull;
}