OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <atlbase.h> | 5 #include <atlbase.h> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 | 343 |
344 void AccessibleChecker::CheckIA2Role(IAccessible* accessible) { | 344 void AccessibleChecker::CheckIA2Role(IAccessible* accessible) { |
345 base::win::ScopedComPtr<IAccessible2> accessible2; | 345 base::win::ScopedComPtr<IAccessible2> accessible2; |
346 HRESULT hr = QueryIAccessible2(accessible, accessible2.Receive()); | 346 HRESULT hr = QueryIAccessible2(accessible, accessible2.Receive()); |
347 ASSERT_EQ(S_OK, hr); | 347 ASSERT_EQ(S_OK, hr); |
348 long ia2_role = 0; | 348 long ia2_role = 0; |
349 hr = accessible2->role(&ia2_role); | 349 hr = accessible2->role(&ia2_role); |
350 ASSERT_EQ(S_OK, hr); | 350 ASSERT_EQ(S_OK, hr); |
351 EXPECT_EQ(ia2_role_, ia2_role); | 351 EXPECT_EQ(ia2_role_, ia2_role); |
352 if (ia2_role_ != ia2_role) { | 352 if (ia2_role_ != ia2_role) { |
353 LOG(ERROR) << "Expected ia2 role: " << IAccessible2RoleToString(ia2_role_); | 353 LOG(ERROR) << "Expected ia2 role: " << |
354 LOG(ERROR) << "Got ia2 role: " << IAccessible2RoleToString(ia2_role); | 354 content::IAccessible2RoleToString(ia2_role_); |
| 355 LOG(ERROR) << "Got ia2 role: " << |
| 356 content::IAccessible2RoleToString(ia2_role); |
355 } | 357 } |
356 } | 358 } |
357 | 359 |
358 void AccessibleChecker::CheckAccessibleValue(IAccessible* accessible) { | 360 void AccessibleChecker::CheckAccessibleValue(IAccessible* accessible) { |
359 CComBSTR value; | 361 CComBSTR value; |
360 HRESULT hr = | 362 HRESULT hr = |
361 accessible->get_accValue(CreateI4Variant(CHILDID_SELF), &value); | 363 accessible->get_accValue(CreateI4Variant(CHILDID_SELF), &value); |
362 EXPECT_EQ(S_OK, hr); | 364 EXPECT_EQ(S_OK, hr); |
363 | 365 |
364 // Test that the correct string was returned. | 366 // Test that the correct string was returned. |
365 EXPECT_STREQ(value_.c_str(), | 367 EXPECT_STREQ(value_.c_str(), |
366 wstring(value.m_str, SysStringLen(value)).c_str()); | 368 wstring(value.m_str, SysStringLen(value)).c_str()); |
367 } | 369 } |
368 | 370 |
369 void AccessibleChecker::CheckAccessibleState(IAccessible* accessible) { | 371 void AccessibleChecker::CheckAccessibleState(IAccessible* accessible) { |
370 if (state_ < 0) | 372 if (state_ < 0) |
371 return; | 373 return; |
372 | 374 |
373 VARIANT var_state = {0}; | 375 VARIANT var_state = {0}; |
374 HRESULT hr = | 376 HRESULT hr = |
375 accessible->get_accState(CreateI4Variant(CHILDID_SELF), &var_state); | 377 accessible->get_accState(CreateI4Variant(CHILDID_SELF), &var_state); |
376 EXPECT_EQ(S_OK, hr); | 378 EXPECT_EQ(S_OK, hr); |
377 ASSERT_EQ(VT_I4, V_VT(&var_state)); | 379 ASSERT_EQ(VT_I4, V_VT(&var_state)); |
378 EXPECT_EQ(state_, V_I4(&var_state)); | 380 EXPECT_EQ(state_, V_I4(&var_state)); |
379 if (state_ != V_I4(&var_state)) { | 381 if (state_ != V_I4(&var_state)) { |
380 LOG(ERROR) << "Expected state: " << IAccessibleStateToString(state_); | 382 LOG(ERROR) << "Expected state: " << |
381 LOG(ERROR) << "Got state: " << IAccessibleStateToString(V_I4(&var_state)); | 383 content::IAccessibleStateToString(state_); |
| 384 LOG(ERROR) << "Got state: " << |
| 385 content::IAccessibleStateToString(V_I4(&var_state)); |
382 } | 386 } |
383 } | 387 } |
384 | 388 |
385 void AccessibleChecker::CheckAccessibleChildren(IAccessible* parent) { | 389 void AccessibleChecker::CheckAccessibleChildren(IAccessible* parent) { |
386 LONG child_count = 0; | 390 LONG child_count = 0; |
387 HRESULT hr = parent->get_accChildCount(&child_count); | 391 HRESULT hr = parent->get_accChildCount(&child_count); |
388 EXPECT_EQ(S_OK, hr); | 392 EXPECT_EQ(S_OK, hr); |
389 ASSERT_EQ(child_count, children_.size()); | 393 ASSERT_EQ(child_count, children_.size()); |
390 | 394 |
391 auto_ptr<VARIANT> child_array(new VARIANT[child_count]); | 395 auto_ptr<VARIANT> child_array(new VARIANT[child_count]); |
392 LONG obtained_count = 0; | 396 LONG obtained_count = 0; |
393 hr = AccessibleChildren(parent, 0, child_count, | 397 hr = AccessibleChildren(parent, 0, child_count, |
394 child_array.get(), &obtained_count); | 398 child_array.get(), &obtained_count); |
395 ASSERT_EQ(S_OK, hr); | 399 ASSERT_EQ(S_OK, hr); |
396 ASSERT_EQ(child_count, obtained_count); | 400 ASSERT_EQ(child_count, obtained_count); |
397 | 401 |
398 VARIANT* child = child_array.get(); | 402 VARIANT* child = child_array.get(); |
399 for (AccessibleCheckerVector::iterator child_checker = children_.begin(); | 403 for (AccessibleCheckerVector::iterator child_checker = children_.begin(); |
400 child_checker != children_.end(); | 404 child_checker != children_.end(); |
401 ++child_checker, ++child) { | 405 ++child_checker, ++child) { |
402 base::win::ScopedComPtr<IAccessible> child_accessible; | 406 base::win::ScopedComPtr<IAccessible> child_accessible; |
403 child_accessible.Attach(GetAccessibleFromResultVariant(parent, child)); | 407 child_accessible.Attach(GetAccessibleFromResultVariant(parent, child)); |
404 ASSERT_TRUE(child_accessible.get()); | 408 ASSERT_TRUE(child_accessible.get()); |
405 (*child_checker)->CheckAccessible(child_accessible); | 409 (*child_checker)->CheckAccessible(child_accessible); |
406 } | 410 } |
407 } | 411 } |
408 | 412 |
409 string16 AccessibleChecker::RoleVariantToString(VARIANT* role_variant) { | 413 string16 AccessibleChecker::RoleVariantToString(VARIANT* role_variant) { |
410 if (V_VT(role_variant) == VT_I4) | 414 if (V_VT(role_variant) == VT_I4) |
411 return IAccessibleRoleToString(V_I4(role_variant)); | 415 return content::IAccessibleRoleToString(V_I4(role_variant)); |
412 else if (V_VT(role_variant) == VT_BSTR) | 416 else if (V_VT(role_variant) == VT_BSTR) |
413 return string16(V_BSTR(role_variant), SysStringLen(V_BSTR(role_variant))); | 417 return string16(V_BSTR(role_variant), SysStringLen(V_BSTR(role_variant))); |
414 return string16(); | 418 return string16(); |
415 } | 419 } |
416 | 420 |
417 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 421 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
418 TestBusyAccessibilityTree) { | 422 TestBusyAccessibilityTree) { |
419 // The initial accessible returned should have state STATE_SYSTEM_BUSY while | 423 // The initial accessible returned should have state STATE_SYSTEM_BUSY while |
420 // the accessibility tree is being requested from the renderer. | 424 // the accessibility tree is being requested from the renderer. |
421 AccessibleChecker document1_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 425 AccessibleChecker document1_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
830 | 834 |
831 // Check the browser's copy of the renderer accessibility tree. | 835 // Check the browser's copy of the renderer accessibility tree. |
832 AccessibleChecker grouping1_checker(L"", ROLE_SYSTEM_GROUPING, L""); | 836 AccessibleChecker grouping1_checker(L"", ROLE_SYSTEM_GROUPING, L""); |
833 AccessibleChecker grouping2_checker(L"", ROLE_SYSTEM_GROUPING, L""); | 837 AccessibleChecker grouping2_checker(L"", ROLE_SYSTEM_GROUPING, L""); |
834 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 838 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
835 document_checker.AppendExpectedChild(&grouping1_checker); | 839 document_checker.AppendExpectedChild(&grouping1_checker); |
836 document_checker.AppendExpectedChild(&grouping2_checker); | 840 document_checker.AppendExpectedChild(&grouping2_checker); |
837 document_checker.CheckAccessible(GetRendererAccessible()); | 841 document_checker.CheckAccessible(GetRendererAccessible()); |
838 } | 842 } |
839 } // namespace. | 843 } // namespace. |
OLD | NEW |