Add basic CTS tests for newly added TextView APIs.

This CL adds basic CTS tests for following APIs.
- int getBreakStrategy()
- int getHyphenationFrequency()
- int[] getLeftIndents()
- int[] getRightIndents()
- void setBreakStrategy(int)
- void setHyphenationFrequency(int)
- void setIndents(int[], int[])

Bug: 21664197
Bug: 21662770
Change-Id: Idf630eabd8c5d48d9202b86c496c17a4fed0b8c6
diff --git a/tests/tests/widget/src/android/widget/cts/TextViewTest.java b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
index 7d6d33b..0c222d8 100644
--- a/tests/tests/widget/src/android/widget/cts/TextViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
@@ -42,6 +42,7 @@
 import android.os.Bundle;
 import android.os.Parcelable;
 import android.test.ActivityInstrumentationTestCase2;
+import android.test.MoreAsserts;
 import android.test.TouchUtils;
 import android.test.UiThreadTest;
 import android.text.Editable;
@@ -4027,6 +4028,85 @@
         assertNull(drawables[BOTTOM]);
     }
 
+    public void testSetGetBreakStrategy() {
+        TextView tv = new TextView(mActivity);
+
+        // The default value is from the theme, here the default is BREAK_STRATEGY_HIGH_QUALITY for
+        // TextView.
+        assertEquals(Layout.BREAK_STRATEGY_HIGH_QUALITY, tv.getBreakStrategy());
+
+        tv.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);
+        assertEquals(Layout.BREAK_STRATEGY_SIMPLE, tv.getBreakStrategy());
+
+        tv.setBreakStrategy(Layout.BREAK_STRATEGY_HIGH_QUALITY);
+        assertEquals(Layout.BREAK_STRATEGY_HIGH_QUALITY, tv.getBreakStrategy());
+
+        tv.setBreakStrategy(Layout.BREAK_STRATEGY_BALANCED);
+        assertEquals(Layout.BREAK_STRATEGY_BALANCED, tv.getBreakStrategy());
+
+        EditText et = new EditText(mActivity);
+
+        // The default value is from the theme, here the default is BREAK_STRATEGY_SIMPLE for
+        // EditText.
+        assertEquals(Layout.BREAK_STRATEGY_SIMPLE, et.getBreakStrategy());
+
+        et.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);
+        assertEquals(Layout.BREAK_STRATEGY_SIMPLE, et.getBreakStrategy());
+
+        et.setBreakStrategy(Layout.BREAK_STRATEGY_HIGH_QUALITY);
+        assertEquals(Layout.BREAK_STRATEGY_HIGH_QUALITY, et.getBreakStrategy());
+
+        et.setBreakStrategy(Layout.BREAK_STRATEGY_BALANCED);
+        assertEquals(Layout.BREAK_STRATEGY_BALANCED, et.getBreakStrategy());
+    }
+
+    public void testSetGetHyphenationFrequency() {
+        TextView tv = new TextView(mActivity);
+
+        assertEquals(Layout.HYPHENATION_FREQUENCY_NORMAL, tv.getHyphenationFrequency());
+
+        tv.setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_NONE);
+        assertEquals(Layout.HYPHENATION_FREQUENCY_NONE, tv.getHyphenationFrequency());
+
+        tv.setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_NORMAL);
+        assertEquals(Layout.HYPHENATION_FREQUENCY_NORMAL, tv.getHyphenationFrequency());
+
+        tv.setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_FULL);
+        assertEquals(Layout.HYPHENATION_FREQUENCY_FULL, tv.getHyphenationFrequency());
+    }
+
+    public void testSetGetIndents() {
+        TextView tv = new TextView(mActivity);
+        {
+            // Null.
+            tv.setIndents(null, null);
+            assertNull(tv.getLeftIndents());
+            assertNull(tv.getRightIndents());
+        }
+        {
+            // Empty arrays.
+            final int[] emptyArray = {};
+            tv.setIndents(emptyArray, emptyArray);
+            assertEquals(0, tv.getLeftIndents().length);
+            assertEquals(0, tv.getRightIndents().length);
+        }
+        {
+            final int[] leftIndents = { 10, 20, 30, 40 };
+            final int[] rightIndents = { 15, 25, 35, 45 };
+            tv.setIndents(leftIndents, rightIndents);
+            MoreAsserts.assertEquals(leftIndents, tv.getLeftIndents());
+            MoreAsserts.assertEquals(rightIndents, tv.getRightIndents());
+        }
+        {
+            // Negative values.
+            final int[] leftIndents = { -10, 20, -30, 40 };
+            final int[] rightIndents = { 15, -25, 35, -45 };
+            tv.setIndents(leftIndents, rightIndents);
+            MoreAsserts.assertEquals(leftIndents, tv.getLeftIndents());
+            MoreAsserts.assertEquals(rightIndents, tv.getRightIndents());
+        }
+    }
+
     private static class MockOnEditorActionListener implements OnEditorActionListener {
         private boolean isOnEditorActionCalled;