Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2119)

Unified Diff: content/public/android/javatests/src/org/chromium/content/browser/CaptioningChangeDelegateTest.java

Issue 1002473003: Expose text track settings in Content and implement for Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix CQ Issues Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/android/javatests/src/org/chromium/content/browser/CaptioningChangeDelegateTest.java
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/CaptioningChangeDelegateTest.java b/content/public/android/javatests/src/org/chromium/content/browser/CaptioningChangeDelegateTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a78037069e0fb616f08c9ee2b8108563f3f7193b
--- /dev/null
+++ b/content/public/android/javatests/src/org/chromium/content/browser/CaptioningChangeDelegateTest.java
@@ -0,0 +1,158 @@
+// Copyright 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.
+
+package org.chromium.content.browser;
+
+import android.graphics.Color;
+import android.graphics.Typeface;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import org.chromium.content.browser.accessibility.captioning.CaptioningChangeDelegate;
+import org.chromium.content.browser.accessibility.captioning.CaptioningChangeDelegate.ClosedCaptionEdgeAttribute;
+import org.chromium.content.browser.accessibility.captioning.CaptioningChangeDelegate.ClosedCaptionFont;
+import org.chromium.content_shell_apk.ContentShellTestBase;
+
+/**
+ * Test suite to ensure that platform settings are translated to CSS appropriately
+ */
+public class CaptioningChangeDelegateTest extends ContentShellTestBase {
+ private static final String DEFAULT_CAPTIONING_PREF_VALUE =
+ CaptioningChangeDelegate.DEFAULT_CAPTIONING_PREF_VALUE;
+
+ @SmallTest
+ public void testFontScaleToPercentage() {
+ String result = CaptioningChangeDelegate.androidFontScaleToPercentage(0f);
+ assertEquals("0%", result);
+
+ result = CaptioningChangeDelegate.androidFontScaleToPercentage(0.000f);
+ assertEquals("0%", result);
+
+ result = CaptioningChangeDelegate.androidFontScaleToPercentage(0.25f);
+ assertEquals("25%", result);
+
+ result = CaptioningChangeDelegate.androidFontScaleToPercentage(1f);
+ assertEquals("100%", result);
+
+ result = CaptioningChangeDelegate.androidFontScaleToPercentage(1.5f);
+ assertEquals("150%", result);
+
+ result = CaptioningChangeDelegate.androidFontScaleToPercentage(0.50125f);
+ assertEquals("50%", result);
+
+ result = CaptioningChangeDelegate.androidFontScaleToPercentage(0.50925f);
+ assertEquals("51%", result);
+ }
+
+ @SmallTest
+ public void testAndroidColorToCssColor() {
+ String result = CaptioningChangeDelegate.androidColorToCssColor(null);
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, result);
+
+ result = CaptioningChangeDelegate.androidColorToCssColor(Color.BLACK);
+ assertEquals("rgba(0, 0, 0, 1)", result);
+
+ result = CaptioningChangeDelegate.androidColorToCssColor(Color.WHITE);
+ assertEquals("rgba(255, 255, 255, 1)", result);
+
+ result = CaptioningChangeDelegate.androidColorToCssColor(Color.BLUE);
+ assertEquals("rgba(0, 0, 255, 1)", result);
+
+ // Transparent-black
+ result = CaptioningChangeDelegate.androidColorToCssColor(0x00000000);
+ assertEquals("rgba(0, 0, 0, 0)", result);
+
+ // Transparent-white
+ result = CaptioningChangeDelegate.androidColorToCssColor(0x00FFFFFF);
+ assertEquals("rgba(255, 255, 255, 0)", result);
+
+ // 50% opaque blue
+ result = CaptioningChangeDelegate.androidColorToCssColor(0x7f0000ff);
+ assertEquals("rgba(0, 0, 255, 0.5)", result);
+
+ // No alpha information
+ result = CaptioningChangeDelegate.androidColorToCssColor(0xFFFFFF);
+ assertEquals("rgba(255, 255, 255, 0)", result);
+ }
+
+ @SmallTest
+ public void testClosedCaptionEdgeAttributeWithDefaults() {
+ ClosedCaptionEdgeAttribute edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(
+ null, null);
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(null, "red");
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(0, "red");
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(2, null);
+ assertEquals("silver 0.05em 0.05em 0.1em", edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(2, "");
+ assertEquals("silver 0.05em 0.05em 0.1em", edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(2, "red");
+ assertEquals("red 0.05em 0.05em 0.1em", edge.getTextShadow());
+ }
+
+ @SmallTest
+ public void testClosedCaptionEdgeAttributeWithCustomDefaults() {
+ ClosedCaptionEdgeAttribute.setShadowOffset("0.00em");
+ ClosedCaptionEdgeAttribute.setDefaultEdgeColor("red");
+ ClosedCaptionEdgeAttribute edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(
+ null, null);
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(null, "red");
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(0, "red");
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(2, null);
+ assertEquals("red 0.00em 0.00em 0.1em", edge.getTextShadow());
+
+ edge = ClosedCaptionEdgeAttribute.fromSystemEdgeAttribute(2, "silver");
+ assertEquals("silver 0.00em 0.00em 0.1em", edge.getTextShadow());
+ }
+
+ /**
+ * Typeface.DEFAULT may be equivalent to another Typeface such as Typeface.SANS_SERIF
+ * so this test ensures that each typeface returns DEFAULT_CAPTIONING_PREF_VALUE if it is
+ * equal to Typeface.DEFAULT or returns an explicit font family otherwise.
+ */
+ @SmallTest
+ public void testClosedCaptionFont() {
+ ClosedCaptionFont font = ClosedCaptionFont.fromSystemFont(null);
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, font.getFontFamily());
+
+ font = ClosedCaptionFont.fromSystemFont(Typeface.DEFAULT);
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, font.getFontFamily());
+
+ font = ClosedCaptionFont.fromSystemFont(Typeface.DEFAULT_BOLD);
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, font.getFontFamily());
+
+ font = ClosedCaptionFont.fromSystemFont(Typeface.MONOSPACE);
+ if (Typeface.MONOSPACE.equals(Typeface.DEFAULT)) {
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, font.getFontFamily());
+ } else {
+ assertEquals("monospace", font.getFontFamily());
+ }
+
+ font = ClosedCaptionFont.fromSystemFont(Typeface.SANS_SERIF);
+ if (Typeface.SANS_SERIF.equals(Typeface.DEFAULT)) {
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, font.getFontFamily());
+ } else {
+ assertEquals("sans-serif", font.getFontFamily());
+ }
+
+ font = ClosedCaptionFont.fromSystemFont(Typeface.SERIF);
+ if (Typeface.SERIF.equals(Typeface.DEFAULT)) {
+ assertEquals(DEFAULT_CAPTIONING_PREF_VALUE, font.getFontFamily());
+ } else {
+ assertEquals("serif", font.getFontFamily());
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698