Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: chrome/browser/accessibility/browser_accessibility_manager_unittest.cc

Issue 8804001: Move a bunch of accessibility tests in chrome that have no chrome dependencies to content. We wan... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/accessibility/browser_accessibility_win_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/accessibility/browser_accessibility_manager_unittest.cc
===================================================================
--- chrome/browser/accessibility/browser_accessibility_manager_unittest.cc (revision 112878)
+++ chrome/browser/accessibility/browser_accessibility_manager_unittest.cc (working copy)
@@ -1,634 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/string16.h"
-#include "base/utf_string_conversions.h"
-#include "content/browser/accessibility/browser_accessibility.h"
-#include "content/browser/accessibility/browser_accessibility_manager.h"
-#include "content/common/view_messages.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "webkit/glue/webaccessibility.h"
-
-using webkit_glue::WebAccessibility;
-
-namespace {
-
-// Subclass of BrowserAccessibility that counts the number of instances.
-class CountedBrowserAccessibility : public BrowserAccessibility {
- public:
- CountedBrowserAccessibility() {
- global_obj_count_++;
- native_ref_count_ = 1;
- }
- virtual ~CountedBrowserAccessibility() {
- global_obj_count_--;
- }
-
- virtual void NativeAddReference() OVERRIDE {
- native_ref_count_++;
- }
-
- virtual void NativeReleaseReference() OVERRIDE {
- native_ref_count_--;
- if (native_ref_count_ == 0)
- delete this;
- }
-
- int native_ref_count_;
- static int global_obj_count_;
-};
-
-int CountedBrowserAccessibility::global_obj_count_ = 0;
-
-// Factory that creates a CountedBrowserAccessibility.
-class CountedBrowserAccessibilityFactory
- : public BrowserAccessibilityFactory {
- public:
- virtual ~CountedBrowserAccessibilityFactory() {}
- virtual BrowserAccessibility* Create() {
- return new CountedBrowserAccessibility();
- }
-};
-
-} // anonymous namespace
-
-TEST(BrowserAccessibilityManagerTest, TestNoLeaks) {
- // Create WebAccessibility objects for a simple document tree,
- // representing the accessibility information used to initialize
- // BrowserAccessibilityManager.
- WebAccessibility button;
- button.id = 2;
- button.name = UTF8ToUTF16("Button");
- button.role = WebAccessibility::ROLE_BUTTON;
- button.state = 0;
-
- WebAccessibility checkbox;
- checkbox.id = 3;
- checkbox.name = UTF8ToUTF16("Checkbox");
- checkbox.role = WebAccessibility::ROLE_CHECKBOX;
- checkbox.state = 0;
-
- WebAccessibility root;
- root.id = 1;
- root.name = UTF8ToUTF16("Document");
- root.role = WebAccessibility::ROLE_DOCUMENT;
- root.state = 0;
- root.children.push_back(button);
- root.children.push_back(checkbox);
-
- // Construct a BrowserAccessibilityManager with this WebAccessibility tree
- // and a factory for an instance-counting BrowserAccessibility, and ensure
- // that exactly 3 instances were created. Note that the manager takes
- // ownership of the factory.
- CountedBrowserAccessibility::global_obj_count_ = 0;
- BrowserAccessibilityManager* manager =
- BrowserAccessibilityManager::Create(
- NULL,
- root,
- NULL,
- new CountedBrowserAccessibilityFactory());
-
- ASSERT_EQ(3, CountedBrowserAccessibility::global_obj_count_);
-
- // Delete the manager and test that all 3 instances are deleted.
- delete manager;
- ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
-
- // Construct a manager again, and this time save references to two of
- // the three nodes in the tree.
- manager =
- BrowserAccessibilityManager::Create(
- NULL,
- root,
- NULL,
- new CountedBrowserAccessibilityFactory());
- ASSERT_EQ(3, CountedBrowserAccessibility::global_obj_count_);
-
- CountedBrowserAccessibility* root_accessible =
- static_cast<CountedBrowserAccessibility*>(manager->GetRoot());
- root_accessible->NativeAddReference();
- CountedBrowserAccessibility* child1_accessible =
- static_cast<CountedBrowserAccessibility*>(root_accessible->GetChild(1));
- child1_accessible->NativeAddReference();
-
- // Now delete the manager, and only one of the three nodes in the tree
- // should be released.
- delete manager;
- ASSERT_EQ(2, CountedBrowserAccessibility::global_obj_count_);
-
- // Release each of our references and make sure that each one results in
- // the instance being deleted as its reference count hits zero.
- root_accessible->NativeReleaseReference();
- ASSERT_EQ(1, CountedBrowserAccessibility::global_obj_count_);
- child1_accessible->NativeReleaseReference();
- ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
-}
-
-TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects) {
- // Make sure that changes to a subtree reuse as many objects as possible.
-
- // Tree 1:
- //
- // root
- // child1
- // child2
- // child3
-
- WebAccessibility tree1_child1;
- tree1_child1.id = 2;
- tree1_child1.name = UTF8ToUTF16("Child1");
- tree1_child1.role = WebAccessibility::ROLE_BUTTON;
- tree1_child1.state = 0;
-
- WebAccessibility tree1_child2;
- tree1_child2.id = 3;
- tree1_child2.name = UTF8ToUTF16("Child2");
- tree1_child2.role = WebAccessibility::ROLE_BUTTON;
- tree1_child2.state = 0;
-
- WebAccessibility tree1_child3;
- tree1_child3.id = 4;
- tree1_child3.name = UTF8ToUTF16("Child3");
- tree1_child3.role = WebAccessibility::ROLE_BUTTON;
- tree1_child3.state = 0;
-
- WebAccessibility tree1_root;
- tree1_root.id = 1;
- tree1_root.name = UTF8ToUTF16("Document");
- tree1_root.role = WebAccessibility::ROLE_DOCUMENT;
- tree1_root.state = 0;
- tree1_root.children.push_back(tree1_child1);
- tree1_root.children.push_back(tree1_child2);
- tree1_root.children.push_back(tree1_child3);
-
- // Tree 2:
- //
- // root
- // child0 <-- inserted
- // child1
- // child2
- // <-- child3 deleted
-
- WebAccessibility tree2_child0;
- tree2_child0.id = 5;
- tree2_child0.name = UTF8ToUTF16("Child0");
- tree2_child0.role = WebAccessibility::ROLE_BUTTON;
- tree2_child0.state = 0;
-
- WebAccessibility tree2_child1;
- tree2_child1.id = 2;
- tree2_child1.name = UTF8ToUTF16("Child1");
- tree2_child1.role = WebAccessibility::ROLE_BUTTON;
- tree2_child1.state = 0;
-
- WebAccessibility tree2_child2;
- tree2_child2.id = 3;
- tree2_child2.name = UTF8ToUTF16("Child2");
- tree2_child2.role = WebAccessibility::ROLE_BUTTON;
- tree2_child2.state = 0;
-
- WebAccessibility tree2_root;
- tree2_root.id = 1;
- tree2_root.name = UTF8ToUTF16("DocumentChanged");
- tree2_root.role = WebAccessibility::ROLE_DOCUMENT;
- tree2_root.state = 0;
- tree2_root.children.push_back(tree2_child0);
- tree2_root.children.push_back(tree2_child1);
- tree2_root.children.push_back(tree2_child2);
-
- // Construct a BrowserAccessibilityManager with tree1.
- CountedBrowserAccessibility::global_obj_count_ = 0;
- BrowserAccessibilityManager* manager =
- BrowserAccessibilityManager::Create(
- NULL,
- tree1_root,
- NULL,
- new CountedBrowserAccessibilityFactory());
- ASSERT_EQ(4, CountedBrowserAccessibility::global_obj_count_);
-
- // Save references to all of the objects.
- CountedBrowserAccessibility* root_accessible =
- static_cast<CountedBrowserAccessibility*>(manager->GetRoot());
- root_accessible->NativeAddReference();
- CountedBrowserAccessibility* child1_accessible =
- static_cast<CountedBrowserAccessibility*>(root_accessible->GetChild(0));
- child1_accessible->NativeAddReference();
- CountedBrowserAccessibility* child2_accessible =
- static_cast<CountedBrowserAccessibility*>(root_accessible->GetChild(1));
- child2_accessible->NativeAddReference();
- CountedBrowserAccessibility* child3_accessible =
- static_cast<CountedBrowserAccessibility*>(root_accessible->GetChild(2));
- child3_accessible->NativeAddReference();
-
- // Check the index in parent.
- EXPECT_EQ(0, child1_accessible->index_in_parent());
- EXPECT_EQ(1, child2_accessible->index_in_parent());
- EXPECT_EQ(2, child3_accessible->index_in_parent());
-
- // Process a notification containing the changed subtree.
- std::vector<ViewHostMsg_AccessibilityNotification_Params> params;
- params.push_back(ViewHostMsg_AccessibilityNotification_Params());
- ViewHostMsg_AccessibilityNotification_Params* msg = &params[0];
- msg->notification_type = ViewHostMsg_AccEvent::CHILDREN_CHANGED;
- msg->acc_tree = tree2_root;
- msg->includes_children = true;
- msg->id = tree2_root.id;
- manager->OnAccessibilityNotifications(params);
-
- // There should be 5 objects now: the 4 from the new tree, plus the
- // reference to child3 we kept.
- EXPECT_EQ(5, CountedBrowserAccessibility::global_obj_count_);
-
- // Check that our references to the root, child1, and child2 are still valid,
- // but that the reference to child3 is now invalid.
- EXPECT_TRUE(root_accessible->instance_active());
- EXPECT_TRUE(child1_accessible->instance_active());
- EXPECT_TRUE(child2_accessible->instance_active());
- EXPECT_FALSE(child3_accessible->instance_active());
-
- // Check that the index in parent has been updated.
- EXPECT_EQ(1, child1_accessible->index_in_parent());
- EXPECT_EQ(2, child2_accessible->index_in_parent());
-
- // Release our references. The object count should only decrease by 1
- // for child3.
- root_accessible->NativeReleaseReference();
- child1_accessible->NativeReleaseReference();
- child2_accessible->NativeReleaseReference();
- child3_accessible->NativeReleaseReference();
-
- EXPECT_EQ(4, CountedBrowserAccessibility::global_obj_count_);
-
- // Delete the manager and make sure all memory is cleaned up.
- delete manager;
- ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
-}
-
-TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects2) {
- // Similar to the test above, but with a more complicated tree.
-
- // Tree 1:
- //
- // root
- // container
- // child1
- // grandchild1
- // child2
- // grandchild2
- // child3
- // grandchild3
-
- WebAccessibility tree1_grandchild1;
- tree1_grandchild1.id = 4;
- tree1_grandchild1.name = UTF8ToUTF16("GrandChild1");
- tree1_grandchild1.role = WebAccessibility::ROLE_BUTTON;
- tree1_grandchild1.state = 0;
-
- WebAccessibility tree1_child1;
- tree1_child1.id = 3;
- tree1_child1.name = UTF8ToUTF16("Child1");
- tree1_child1.role = WebAccessibility::ROLE_BUTTON;
- tree1_child1.state = 0;
- tree1_child1.children.push_back(tree1_grandchild1);
-
- WebAccessibility tree1_grandchild2;
- tree1_grandchild2.id = 6;
- tree1_grandchild2.name = UTF8ToUTF16("GrandChild1");
- tree1_grandchild2.role = WebAccessibility::ROLE_BUTTON;
- tree1_grandchild2.state = 0;
-
- WebAccessibility tree1_child2;
- tree1_child2.id = 5;
- tree1_child2.name = UTF8ToUTF16("Child2");
- tree1_child2.role = WebAccessibility::ROLE_BUTTON;
- tree1_child2.state = 0;
- tree1_child2.children.push_back(tree1_grandchild2);
-
- WebAccessibility tree1_grandchild3;
- tree1_grandchild3.id = 8;
- tree1_grandchild3.name = UTF8ToUTF16("GrandChild3");
- tree1_grandchild3.role = WebAccessibility::ROLE_BUTTON;
- tree1_grandchild3.state = 0;
-
- WebAccessibility tree1_child3;
- tree1_child3.id = 7;
- tree1_child3.name = UTF8ToUTF16("Child3");
- tree1_child3.role = WebAccessibility::ROLE_BUTTON;
- tree1_child3.state = 0;
- tree1_child3.children.push_back(tree1_grandchild3);
-
- WebAccessibility tree1_container;
- tree1_container.id = 2;
- tree1_container.name = UTF8ToUTF16("Container");
- tree1_container.role = WebAccessibility::ROLE_GROUP;
- tree1_container.state = 0;
- tree1_container.children.push_back(tree1_child1);
- tree1_container.children.push_back(tree1_child2);
- tree1_container.children.push_back(tree1_child3);
-
- WebAccessibility tree1_root;
- tree1_root.id = 1;
- tree1_root.name = UTF8ToUTF16("Document");
- tree1_root.role = WebAccessibility::ROLE_DOCUMENT;
- tree1_root.state = 0;
- tree1_root.children.push_back(tree1_container);
-
- // Tree 2:
- //
- // root
- // container
- // child0 <-- inserted
- // grandchild0 <--
- // child1
- // grandchild1
- // child2
- // grandchild2
- // <-- child3 (and grandchild3) deleted
-
- WebAccessibility tree2_grandchild0;
- tree2_grandchild0.id = 9;
- tree2_grandchild0.name = UTF8ToUTF16("GrandChild0");
- tree2_grandchild0.role = WebAccessibility::ROLE_BUTTON;
- tree2_grandchild0.state = 0;
-
- WebAccessibility tree2_child0;
- tree2_child0.id = 10;
- tree2_child0.name = UTF8ToUTF16("Child0");
- tree2_child0.role = WebAccessibility::ROLE_BUTTON;
- tree2_child0.state = 0;
- tree2_child0.children.push_back(tree2_grandchild0);
-
- WebAccessibility tree2_grandchild1;
- tree2_grandchild1.id = 4;
- tree2_grandchild1.name = UTF8ToUTF16("GrandChild1");
- tree2_grandchild1.role = WebAccessibility::ROLE_BUTTON;
- tree2_grandchild1.state = 0;
-
- WebAccessibility tree2_child1;
- tree2_child1.id = 3;
- tree2_child1.name = UTF8ToUTF16("Child1");
- tree2_child1.role = WebAccessibility::ROLE_BUTTON;
- tree2_child1.state = 0;
- tree2_child1.children.push_back(tree2_grandchild1);
-
- WebAccessibility tree2_grandchild2;
- tree2_grandchild2.id = 6;
- tree2_grandchild2.name = UTF8ToUTF16("GrandChild1");
- tree2_grandchild2.role = WebAccessibility::ROLE_BUTTON;
- tree2_grandchild2.state = 0;
-
- WebAccessibility tree2_child2;
- tree2_child2.id = 5;
- tree2_child2.name = UTF8ToUTF16("Child2");
- tree2_child2.role = WebAccessibility::ROLE_BUTTON;
- tree2_child2.state = 0;
- tree2_child2.children.push_back(tree2_grandchild2);
-
- WebAccessibility tree2_container;
- tree2_container.id = 2;
- tree2_container.name = UTF8ToUTF16("Container");
- tree2_container.role = WebAccessibility::ROLE_GROUP;
- tree2_container.state = 0;
- tree2_container.children.push_back(tree2_child0);
- tree2_container.children.push_back(tree2_child1);
- tree2_container.children.push_back(tree2_child2);
-
- WebAccessibility tree2_root;
- tree2_root.id = 1;
- tree2_root.name = UTF8ToUTF16("Document");
- tree2_root.role = WebAccessibility::ROLE_DOCUMENT;
- tree2_root.state = 0;
- tree2_root.children.push_back(tree2_container);
-
- // Construct a BrowserAccessibilityManager with tree1.
- CountedBrowserAccessibility::global_obj_count_ = 0;
- BrowserAccessibilityManager* manager =
- BrowserAccessibilityManager::Create(
- NULL,
- tree1_root,
- NULL,
- new CountedBrowserAccessibilityFactory());
- ASSERT_EQ(8, CountedBrowserAccessibility::global_obj_count_);
-
- // Save references to some objects.
- CountedBrowserAccessibility* root_accessible =
- static_cast<CountedBrowserAccessibility*>(manager->GetRoot());
- root_accessible->NativeAddReference();
- CountedBrowserAccessibility* container_accessible =
- static_cast<CountedBrowserAccessibility*>(root_accessible->GetChild(0));
- container_accessible->NativeAddReference();
- CountedBrowserAccessibility* child2_accessible =
- static_cast<CountedBrowserAccessibility*>(
- container_accessible->GetChild(1));
- child2_accessible->NativeAddReference();
- CountedBrowserAccessibility* child3_accessible =
- static_cast<CountedBrowserAccessibility*>(
- container_accessible->GetChild(2));
- child3_accessible->NativeAddReference();
-
- // Check the index in parent.
- EXPECT_EQ(1, child2_accessible->index_in_parent());
- EXPECT_EQ(2, child3_accessible->index_in_parent());
-
- // Process a notification containing the changed subtree rooted at
- // the container.
- std::vector<ViewHostMsg_AccessibilityNotification_Params> params;
- params.push_back(ViewHostMsg_AccessibilityNotification_Params());
- ViewHostMsg_AccessibilityNotification_Params* msg = &params[0];
- msg->notification_type = ViewHostMsg_AccEvent::CHILDREN_CHANGED;
- msg->acc_tree = tree2_container;
- msg->includes_children = true;
- msg->id = tree2_container.id;
- manager->OnAccessibilityNotifications(params);
-
- // There should be 9 objects now: the 8 from the new tree, plus the
- // reference to child3 we kept.
- EXPECT_EQ(9, CountedBrowserAccessibility::global_obj_count_);
-
- // Check that our references to the root and container and child2 are
- // still valid, but that the reference to child3 is now invalid.
- EXPECT_TRUE(root_accessible->instance_active());
- EXPECT_TRUE(container_accessible->instance_active());
- EXPECT_TRUE(child2_accessible->instance_active());
- EXPECT_FALSE(child3_accessible->instance_active());
-
- // Ensure that we retain the parent of the detached subtree.
- EXPECT_EQ(root_accessible, container_accessible->parent());
- EXPECT_EQ(0, container_accessible->index_in_parent());
-
- // Check that the index in parent has been updated.
- EXPECT_EQ(2, child2_accessible->index_in_parent());
-
- // Release our references. The object count should only decrease by 1
- // for child3.
- root_accessible->NativeReleaseReference();
- container_accessible->NativeReleaseReference();
- child2_accessible->NativeReleaseReference();
- child3_accessible->NativeReleaseReference();
-
- EXPECT_EQ(8, CountedBrowserAccessibility::global_obj_count_);
-
- // Delete the manager and make sure all memory is cleaned up.
- delete manager;
- ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
-}
-
-TEST(BrowserAccessibilityManagerTest, TestMoveChildUp) {
- // Tree 1:
- //
- // 1
- // 2
- // 3
- // 4
-
- WebAccessibility tree1_4;
- tree1_4.id = 4;
- tree1_4.state = 0;
-
- WebAccessibility tree1_3;
- tree1_3.id = 3;
- tree1_3.state = 0;
- tree1_3.children.push_back(tree1_4);
-
- WebAccessibility tree1_2;
- tree1_2.id = 2;
- tree1_2.state = 0;
-
- WebAccessibility tree1_1;
- tree1_1.id = 1;
- tree1_1.state = 0;
- tree1_1.children.push_back(tree1_2);
- tree1_1.children.push_back(tree1_3);
-
- // Tree 2:
- //
- // 1
- // 4 <-- moves up a level and gains child
- // 6 <-- new
- // 5 <-- new
-
- WebAccessibility tree2_6;
- tree2_6.id = 6;
- tree2_6.state = 0;
-
- WebAccessibility tree2_5;
- tree2_5.id = 5;
- tree2_5.state = 0;
-
- WebAccessibility tree2_4;
- tree2_4.id = 4;
- tree2_4.state = 0;
- tree2_4.children.push_back(tree2_6);
-
- WebAccessibility tree2_1;
- tree2_1.id = 1;
- tree2_1.state = 0;
- tree2_1.children.push_back(tree2_4);
- tree2_1.children.push_back(tree2_5);
-
- // Construct a BrowserAccessibilityManager with tree1.
- CountedBrowserAccessibility::global_obj_count_ = 0;
- BrowserAccessibilityManager* manager =
- BrowserAccessibilityManager::Create(
- NULL,
- tree1_1,
- NULL,
- new CountedBrowserAccessibilityFactory());
- ASSERT_EQ(4, CountedBrowserAccessibility::global_obj_count_);
-
- // Process a notification containing the changed subtree.
- std::vector<ViewHostMsg_AccessibilityNotification_Params> params;
- params.push_back(ViewHostMsg_AccessibilityNotification_Params());
- ViewHostMsg_AccessibilityNotification_Params* msg = &params[0];
- msg->notification_type = ViewHostMsg_AccEvent::CHILDREN_CHANGED;
- msg->acc_tree = tree2_1;
- msg->includes_children = true;
- msg->id = tree2_1.id;
- manager->OnAccessibilityNotifications(params);
-
- // There should be 4 objects now.
- EXPECT_EQ(4, CountedBrowserAccessibility::global_obj_count_);
-
- // Delete the manager and make sure all memory is cleaned up.
- delete manager;
- ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
-}
-
-TEST(BrowserAccessibilityManagerTest, TestCreateEmptyDocument) {
- // Try creating an empty document with busy state.
- scoped_ptr<BrowserAccessibilityManager> manager;
- manager.reset(BrowserAccessibilityManager::CreateEmptyDocument(
- NULL,
- WebAccessibility::STATE_BUSY,
- NULL,
- new CountedBrowserAccessibilityFactory()));
-
- // Verify the root is as we expect by default.
- BrowserAccessibility* root = manager->GetRoot();
- EXPECT_EQ(0, root->renderer_id());
- EXPECT_EQ(WebAccessibility::ROLE_ROOT_WEB_AREA, root->role());
- EXPECT_EQ(WebAccessibility::STATE_BUSY, root->state());
-
- // Tree with a child textfield.
- WebAccessibility tree1_1;
- tree1_1.id = 1;
- tree1_1.role = WebAccessibility::ROLE_ROOT_WEB_AREA;
-
- WebAccessibility tree1_2;
- tree1_2.id = 2;
- tree1_2.role = WebAccessibility::ROLE_TEXT_FIELD;
-
- tree1_1.children.push_back(tree1_2);
-
- // Process a load complete.
- std::vector<ViewHostMsg_AccessibilityNotification_Params> params;
- params.push_back(ViewHostMsg_AccessibilityNotification_Params());
- ViewHostMsg_AccessibilityNotification_Params* msg = &params[0];
- msg->notification_type = ViewHostMsg_AccEvent::LOAD_COMPLETE;
- msg->acc_tree = tree1_1;
- msg->includes_children = true;
- msg->id = tree1_1.id;
- manager->OnAccessibilityNotifications(params);
-
- // Save for later comparison.
- BrowserAccessibility* acc1_2 = manager->GetFromRendererID(2);
-
- // Verify the root has changed.
- EXPECT_NE(root, manager->GetRoot());
-
- // And the proper child remains.
- EXPECT_EQ(WebAccessibility::ROLE_TEXT_FIELD, acc1_2->role());
- EXPECT_EQ(2, acc1_2->renderer_id());
-
- // Tree with a child button.
- WebAccessibility tree2_1;
- tree2_1.id = 1;
- tree2_1.role = WebAccessibility::ROLE_ROOT_WEB_AREA;
-
- WebAccessibility tree2_2;
- tree2_2.id = 3;
- tree2_2.role = WebAccessibility::ROLE_BUTTON;
-
- tree2_1.children.push_back(tree2_2);
-
- msg->acc_tree = tree2_1;
- msg->includes_children = true;
- msg->id = tree2_1.id;
-
- // Fire another load complete.
- manager->OnAccessibilityNotifications(params);
-
- BrowserAccessibility* acc2_2 = manager->GetFromRendererID(3);
-
- // Verify the root has changed.
- EXPECT_NE(root, manager->GetRoot());
-
- // And the new child exists.
- EXPECT_EQ(WebAccessibility::ROLE_BUTTON, acc2_2->role());
- EXPECT_EQ(3, acc2_2->renderer_id());
-
- // Ensure we properly cleaned up.
- manager.reset();
- ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
-}
« no previous file with comments | « no previous file | chrome/browser/accessibility/browser_accessibility_win_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698