• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "content/browser/accessibility/accessibility_mode_helper.h"
6 #include "content/common/view_message_enums.h"
7 #include "testing/gtest/include/gtest/gtest.h"
8 
9 #if defined(OS_WIN)
10 #include "base/win/windows_version.h"
11 #endif
12 
13 namespace content {
14 
TEST(AccessibilityModeHelperTest,TestNoOpRemove)15 TEST(AccessibilityModeHelperTest, TestNoOpRemove) {
16   EXPECT_EQ(AccessibilityModeComplete,
17             RemoveAccessibilityModeFrom(AccessibilityModeComplete,
18                                         AccessibilityModeOff));
19 }
20 
TEST(AccessibilityModeHelperTest,TestRemoveSelf)21 TEST(AccessibilityModeHelperTest, TestRemoveSelf) {
22   AccessibilityMode kOffMode = AccessibilityModeOff;
23 #if defined(OS_WIN)
24   // Always preserve AccessibilityModeEditableTextOnly on Windows 8,
25   // see RemoveAccessibilityModeFrom() implementation.
26   // Test won't pass if switches::kDisableRendererAccessibility is set.
27   if (base::win::GetVersion() >= base::win::VERSION_WIN8) {
28     kOffMode = AccessibilityModeEditableTextOnly;
29   }
30 #endif  // defined(OS_WIN)
31 
32   EXPECT_EQ(kOffMode,
33             RemoveAccessibilityModeFrom(AccessibilityModeComplete,
34                                         AccessibilityModeComplete));
35 
36   EXPECT_EQ(
37       kOffMode,
38       RemoveAccessibilityModeFrom(AccessibilityModeEditableTextOnly,
39                                   AccessibilityModeEditableTextOnly));
40 }
41 
TEST(AccessibilityModeHelperTest,TestAddMode)42 TEST(AccessibilityModeHelperTest, TestAddMode) {
43   EXPECT_EQ(
44       AccessibilityModeComplete,
45       AddAccessibilityModeTo(AccessibilityModeEditableTextOnly,
46                              AccessibilityModeComplete));
47   EXPECT_EQ(
48       AccessibilityModeComplete,
49       AddAccessibilityModeTo(AccessibilityModeEditableTextOnly,
50                              AccessibilityModeTreeOnly));
51 }
52 
53 }  // namespace content
54