summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/arc/arc_settings_bridge_unittest.cc
diff options
context:
space:
mode:
authorbenhansen <benhansen@google.com>2015-12-18 11:26:33 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-18 19:28:21 +0000
commit97f351d4cd4c16638fcaebc791d883dddb4fb848 (patch)
treed0dbd09b5c8abd4a09d39ef78ceef7bc1a57f88b /chrome/browser/chromeos/arc/arc_settings_bridge_unittest.cc
parentd5ced07756084491d67575fabf0e2a6c88266586 (diff)
downloadchromium_src-97f351d4cd4c16638fcaebc791d883dddb4fb848.zip
chromium_src-97f351d4cd4c16638fcaebc791d883dddb4fb848.tar.gz
chromium_src-97f351d4cd4c16638fcaebc791d883dddb4fb848.tar.bz2
arc: Add settings bridge
Synchronize font and spoken feedback enabled settings from Chrome to Android on Android start and keep settings in sync by listening for Chrome preference changes. Related changes: * ag/822770 * ag/822726 BUG=561003 TEST=./unit_tests --gtest_filter='Arc*' TEST=Build both sides. Change font size in chrome://settings or enable spoken feedback (Ctrl+Alt+Z). Observe change in Android. Review URL: https://codereview.chromium.org/1539633002 Cr-Commit-Position: refs/heads/master@{#366145}
Diffstat (limited to 'chrome/browser/chromeos/arc/arc_settings_bridge_unittest.cc')
-rw-r--r--chrome/browser/chromeos/arc/arc_settings_bridge_unittest.cc53
1 files changed, 53 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/arc/arc_settings_bridge_unittest.cc b/chrome/browser/chromeos/arc/arc_settings_bridge_unittest.cc
new file mode 100644
index 0000000..864f016
--- /dev/null
+++ b/chrome/browser/chromeos/arc/arc_settings_bridge_unittest.cc
@@ -0,0 +1,53 @@
+// Copyright (c) 2015 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 "chrome/browser/chromeos/arc/arc_settings_bridge_impl.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace arc {
+
+namespace fontsizes {
+
+TEST(ArcSettingsBridgeTest, FontSizeConvertChromeToAndroid) {
+ // Does not return a value smaller than Small.
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleSmall,
+ ConvertFontSizeChromeToAndroid(0, 0, 0));
+
+ // Does not return a value larger than Huge
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleHuge,
+ ConvertFontSizeChromeToAndroid(100, 100, 100));
+
+ // The max of any Chrome values is what determines the Android value.
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleLarge,
+ ConvertFontSizeChromeToAndroid(20, 0, 0));
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleLarge,
+ ConvertFontSizeChromeToAndroid(0, 20, 0));
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleLarge,
+ ConvertFontSizeChromeToAndroid(0, 0, 20));
+
+ // default fixed font size is adjusted up three pixels
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleLarge,
+ ConvertFontSizeChromeToAndroid(0, 17, 0));
+
+ // Small converts properly.
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleSmall,
+ ConvertFontSizeChromeToAndroid(12, 0, 0));
+
+ // Normal converts properly.
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleNormal,
+ ConvertFontSizeChromeToAndroid(16, 0, 0));
+
+ // Large converts properly.
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleLarge,
+ ConvertFontSizeChromeToAndroid(20, 0, 0));
+
+ // Very large converts properly.
+ EXPECT_DOUBLE_EQ(kAndroidFontScaleHuge,
+ ConvertFontSizeChromeToAndroid(24, 0, 0));
+}
+
+} // namespace fontsizes
+
+} // namespace arc