Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / content / browser / accessibility / accessibility_mode_helper_unittest.cc
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
15 TEST(AccessibilityModeHelperTest, TestNoOpRemove) {
16   EXPECT_EQ(AccessibilityModeComplete,
17             RemoveAccessibilityModeFrom(AccessibilityModeComplete,
18                                         AccessibilityModeOff));
19 }
20
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
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