Home | History | Annotate | Download | only in accessibility
      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
     54