Merge "Move text coretests to JUnit (1)" into oc-dev
am: e0857a5800
Change-Id: I295b78a4397bb6409eef1963362b766c0ea78640
This commit is contained in:
@@ -16,17 +16,26 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import static android.text.Layout.Alignment.ALIGN_NORMAL;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* Tests DynamciLayout updateBlocks method.
|
||||
* Tests DynamicLayout updateBlocks method.
|
||||
*
|
||||
* Requires disabling access checks in the vm since this calls package-private APIs.
|
||||
*
|
||||
*/
|
||||
public class DynamicLayoutBlocksTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class DynamicLayoutBlocksTest {
|
||||
private DynamicLayout dl = new DynamicLayout("", new TextPaint(), 0, ALIGN_NORMAL, 0, 0, false);
|
||||
private static final int ___ = DynamicLayout.INVALID_BLOCK_INDEX;
|
||||
|
||||
@@ -88,6 +97,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState(sizes, ids);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom0() {
|
||||
defineInitialState( new int[] { 0 }, new int[] { 123 });
|
||||
|
||||
@@ -101,6 +111,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 10 } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom1ReplaceByEmpty() {
|
||||
defineInitialState( new int[] { 100 }, new int[] { 123 });
|
||||
|
||||
@@ -126,6 +137,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 100 } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom1ReplaceFromFirstLine() {
|
||||
defineInitialState( new int[] { 100 }, new int[] { 123 });
|
||||
|
||||
@@ -142,6 +154,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 20 } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom1ReplaceFromCenter() {
|
||||
defineInitialState( new int[] { 100 }, new int[] { 123 });
|
||||
|
||||
@@ -158,6 +171,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 20, 50 } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom1ReplaceFromEnd() {
|
||||
defineInitialState( new int[] { 100 }, new int[] { 123 });
|
||||
|
||||
@@ -171,6 +185,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 100, 10 } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2ReplaceFromFirstLine() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -187,6 +202,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 50 }, new int[] { ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2ReplaceFromFirstBlock() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -203,6 +219,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 3, 50 }, new int[] { ___, ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2ReplaceFromBottomBoundary() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -216,6 +233,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 10, 50 }, new int[] { ___, ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2ReplaceFromTopBoundary() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -229,6 +247,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 11, 50 }, new int[] { 123, ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2ReplaceFromSecondBlock() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -242,6 +261,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 11, 14-11, 50 }, new int[] { 123, ___, ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2RemoveFromFirst() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -258,6 +278,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 0 }, new int[] { ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2RemoveFromFirstBlock() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -274,6 +295,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 4 }, new int[] { ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom2RemoveFromSecondBlock() {
|
||||
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
|
||||
|
||||
@@ -284,6 +306,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 11, 14-11 }, new int[] { 123, ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom3ReplaceFromFirstBlock() {
|
||||
defineInitialState( new int[] { 10, 30, 60 }, new int[] { 123, 456, 789 });
|
||||
|
||||
@@ -306,6 +329,7 @@ public class DynamicLayoutBlocksTest extends TestCase {
|
||||
assertState( new int[] { 3, 50 }, new int[] { ___, ___ } );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFrom3ReplaceFromSecondBlock() {
|
||||
defineInitialState( new int[] { 10, 30, 60 }, new int[] { 123, 456, 789 });
|
||||
|
||||
|
||||
@@ -17,16 +17,28 @@
|
||||
package android.text;
|
||||
|
||||
import static android.text.Layout.Alignment.ALIGN_NORMAL;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Paint.FontMetricsInt;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.text.style.ReplacementSpan;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class DynamicLayoutTest extends TestCase {
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class DynamicLayoutTest {
|
||||
private static final int WIDTH = 10000;
|
||||
|
||||
@Test
|
||||
public void testGetBlocksAlwaysNeedToBeRedrawn_en() {
|
||||
final SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
final DynamicLayout layout = new DynamicLayout(builder, new TextPaint(), WIDTH,
|
||||
@@ -42,19 +54,7 @@ public class DynamicLayoutTest extends TestCase {
|
||||
assertNull(layout.getBlocksAlwaysNeedToBeRedrawn());
|
||||
}
|
||||
|
||||
|
||||
private static class MockReplacementSpan extends ReplacementSpan {
|
||||
@Override
|
||||
public int getSize(Paint paint, CharSequence text, int start, int end, FontMetricsInt fm) {
|
||||
return 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top,
|
||||
int y, int bottom, Paint paint) {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetBlocksAlwaysNeedToBeRedrawn_replacementSpan() {
|
||||
final SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
final DynamicLayout layout = new DynamicLayout(builder, new TextPaint(), WIDTH,
|
||||
@@ -66,11 +66,17 @@ public class DynamicLayoutTest extends TestCase {
|
||||
builder.append("hijk lmn\n");
|
||||
assertNull(layout.getBlocksAlwaysNeedToBeRedrawn());
|
||||
|
||||
builder.setSpan(new MockReplacementSpan(), 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
ReplacementSpan mockReplacementSpan = mock(ReplacementSpan.class);
|
||||
when(mockReplacementSpan.getSize(any(), any(), any(), any(), any()))
|
||||
.thenReturn(10);
|
||||
doNothing().when(mockReplacementSpan)
|
||||
.draw(any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||
|
||||
builder.setSpan(mockReplacementSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
assertNotNull(layout.getBlocksAlwaysNeedToBeRedrawn());
|
||||
assertTrue(layout.getBlocksAlwaysNeedToBeRedrawn().contains(0));
|
||||
|
||||
builder.setSpan(new MockReplacementSpan(), 9, 13, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
builder.setSpan(mockReplacementSpan, 9, 13, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
assertTrue(layout.getBlocksAlwaysNeedToBeRedrawn().contains(0));
|
||||
assertTrue(layout.getBlocksAlwaysNeedToBeRedrawn().contains(1));
|
||||
|
||||
@@ -83,6 +89,7 @@ public class DynamicLayoutTest extends TestCase {
|
||||
assertTrue(layout.getBlocksAlwaysNeedToBeRedrawn().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetBlocksAlwaysNeedToBeRedrawn_thai() {
|
||||
final SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
final DynamicLayout layout = new DynamicLayout(builder, new TextPaint(), WIDTH,
|
||||
|
||||
@@ -16,17 +16,23 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import android.support.test.filters.SmallTest;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* PackedIntVectorTest tests the features of android.util.PackedIntVector.
|
||||
*/
|
||||
public class PackedIntVectorTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class PackedIntVectorTest {
|
||||
|
||||
@SmallTest
|
||||
public void testBasic() throws Exception {
|
||||
@Test
|
||||
public void testBasic() {
|
||||
for (int width = 0; width < 10; width++) {
|
||||
PackedIntVector p = new PackedIntVector(width);
|
||||
int[] ins = new int[width];
|
||||
|
||||
@@ -16,15 +16,20 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import android.test.InstrumentationTestCase;
|
||||
import android.support.test.filters.MediumTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.test.MoreAsserts;
|
||||
import android.test.suitebuilder.annotation.MediumTest;
|
||||
|
||||
public abstract class SpannableTest extends InstrumentationTestCase {
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@MediumTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public abstract class SpannableTest {
|
||||
|
||||
protected abstract Spannable newSpannableWithText(String text);
|
||||
|
||||
@MediumTest
|
||||
@Test
|
||||
public void testGetSpans() {
|
||||
Spannable spannable = newSpannableWithText("abcdef");
|
||||
Object emptySpan = new Object();
|
||||
|
||||
@@ -16,34 +16,40 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Parcel;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.text.style.CharacterStyle;
|
||||
import android.text.style.StyleSpan;
|
||||
import android.text.style.TextAppearanceSpan;
|
||||
import android.text.style.TypefaceSpan;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* SpannedTest tests some features of Spanned
|
||||
*/
|
||||
public class SpannedTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class SpannedTest {
|
||||
private int mExpect;
|
||||
|
||||
@SmallTest
|
||||
public void testSpannableString() throws Exception {
|
||||
@Test
|
||||
public void testSpannableString() {
|
||||
checkPriority(new SpannableString("the quick brown fox"));
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testSpannableStringBuilder() throws Exception {
|
||||
@Test
|
||||
public void testSpannableStringBuilder() {
|
||||
checkPriority2(new SpannableStringBuilder("the quick brown fox"));
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testAppend() throws Exception {
|
||||
@Test
|
||||
public void testAppend() {
|
||||
Object o = new Object();
|
||||
SpannableString ss = new SpannableString("Test");
|
||||
ss.setSpan(o, 0, ss.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
@@ -61,7 +67,7 @@ public class SpannedTest extends TestCase {
|
||||
assertEquals(1, ssb.getSpans(4, 8, Object.class).length);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testWrapParcel() {
|
||||
SpannableString s = new SpannableString("Hello there world");
|
||||
CharacterStyle mark = new StyleSpan(Typeface.BOLD);
|
||||
@@ -129,16 +135,16 @@ public class SpannedTest extends TestCase {
|
||||
|
||||
mExpect = 0;
|
||||
|
||||
s.setSpan(new Watcher(2), 0, s.length(),
|
||||
s.setSpan(new Watcher(2), 0, s.length(),
|
||||
Spannable.SPAN_INCLUSIVE_INCLUSIVE |
|
||||
(2 << Spannable.SPAN_PRIORITY_SHIFT));
|
||||
s.setSpan(new Watcher(4), 0, s.length(),
|
||||
s.setSpan(new Watcher(4), 0, s.length(),
|
||||
Spannable.SPAN_INCLUSIVE_INCLUSIVE |
|
||||
(4 << Spannable.SPAN_PRIORITY_SHIFT));
|
||||
s.setSpan(new Watcher(1), 0, s.length(),
|
||||
s.setSpan(new Watcher(1), 0, s.length(),
|
||||
Spannable.SPAN_INCLUSIVE_INCLUSIVE |
|
||||
(1 << Spannable.SPAN_PRIORITY_SHIFT));
|
||||
s.setSpan(new Watcher(3), 0, s.length(),
|
||||
s.setSpan(new Watcher(3), 0, s.length(),
|
||||
Spannable.SPAN_INCLUSIVE_INCLUSIVE |
|
||||
(3 << Spannable.SPAN_PRIORITY_SHIFT));
|
||||
|
||||
@@ -162,10 +168,13 @@ public class SpannedTest extends TestCase {
|
||||
mSequence = sequence;
|
||||
}
|
||||
|
||||
public void onSpanChanged(Spannable b, Object o, int s, int e,
|
||||
int st, int en) { }
|
||||
@Override
|
||||
public void onSpanChanged(Spannable b, Object o, int s, int e, int st, int en) { }
|
||||
|
||||
@Override
|
||||
public void onSpanRemoved(Spannable b, Object o, int s, int e) { }
|
||||
|
||||
@Override
|
||||
public void onSpanAdded(Spannable b, Object o, int s, int e) {
|
||||
if (mExpect != 0) {
|
||||
assertEquals(mSequence, mExpect);
|
||||
@@ -173,16 +182,18 @@ public class SpannedTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
public void beforeTextChanged(CharSequence s, int start, int count,
|
||||
int after) { }
|
||||
public void onTextChanged(CharSequence s, int start, int before,
|
||||
int count) {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
if (mExpect != 0) {
|
||||
assertEquals(mSequence, mExpect);
|
||||
mExpect = mSequence - 1;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) { }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,15 +16,21 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.util.Log;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* Quick check of native bidi implementation.
|
||||
*/
|
||||
public class StaticLayoutBidiTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class StaticLayoutBidiTest {
|
||||
|
||||
public static final int REQ_DL = 2; // Layout.DIR_REQUEST_DEFAULT_LTR;
|
||||
public static final int REQ_DR = -2; // Layout.DIR_REQUEST_DEFAULT_RTL;
|
||||
@@ -39,47 +45,47 @@ public class StaticLayoutBidiTest extends TestCase {
|
||||
public static final String GIMEL = "\u05d2";
|
||||
public static final String DALET = "\u05d3";
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testAllLtr() {
|
||||
expectNativeBidi(REQ_DL, "a test", "000000", L);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testLtrRtl() {
|
||||
expectNativeBidi(REQ_DL, "abc " + ALEF + BET + GIMEL, "0000111", L);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testAllRtl() {
|
||||
expectNativeBidi(REQ_DL, ALEF + SP + ALEF + BET + GIMEL + DALET, "111111", R);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testRtlLtr() {
|
||||
expectNativeBidi(REQ_DL, ALEF + BET + GIMEL + " abc", "1111222", R);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testRAllLtr() {
|
||||
expectNativeBidi(REQ_R, "a test", "222222", R);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testRLtrRtl() {
|
||||
expectNativeBidi(REQ_R, "abc " + ALEF + BET + GIMEL, "2221111", R);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testLAllRtl() {
|
||||
expectNativeBidi(REQ_L, ALEF + SP + ALEF + BET + GIMEL + DALET, "111111", L);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testLRtlLtr() {
|
||||
expectNativeBidi(REQ_DL, ALEF + BET + GIMEL + " abc", "1111222", R);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testNativeBidi() {
|
||||
expectNativeBidi(REQ_L, ALEF + BET + GIMEL + " abc", "1110000", L);
|
||||
}
|
||||
|
||||
@@ -16,16 +16,21 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.text.Layout.Directions;
|
||||
import android.text.StaticLayoutTest.LayoutBuilder;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Formatter;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
public class StaticLayoutDirectionsTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class StaticLayoutDirectionsTest {
|
||||
private static final char ALEF = '\u05d0';
|
||||
|
||||
private static Directions dirs(int ... dirs) {
|
||||
@@ -107,7 +112,7 @@ public class StaticLayoutDirectionsTest extends TestCase {
|
||||
return new String(chars, 0, chars.length);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testDirections() {
|
||||
StringBuilder buf = new StringBuilder("\n");
|
||||
Formatter f = new Formatter(buf);
|
||||
@@ -122,7 +127,7 @@ public class StaticLayoutDirectionsTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testTrailingWhitespace() {
|
||||
LayoutBuilder b = StaticLayoutTest.builder();
|
||||
b.setText(pseudoBidiToReal("Ab c"));
|
||||
@@ -137,7 +142,7 @@ public class StaticLayoutDirectionsTest extends TestCase {
|
||||
expectDirections("split line", expected, result);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testNextToRightOf() {
|
||||
LayoutBuilder b = StaticLayoutTest.builder();
|
||||
b.setText(pseudoBidiToReal("aA1B2"));
|
||||
@@ -161,7 +166,7 @@ public class StaticLayoutDirectionsTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testNextToLeftOf() {
|
||||
LayoutBuilder b = StaticLayoutTest.builder();
|
||||
b.setText(pseudoBidiToReal("aA1B2"));
|
||||
@@ -178,40 +183,6 @@ public class StaticLayoutDirectionsTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
// utility, not really a test
|
||||
/*
|
||||
public void testMeasureText1() {
|
||||
LayoutBuilder b = StaticLayoutTest.builder();
|
||||
String text = "ABC"; // "abAB"
|
||||
b.setText(pseudoBidiToReal(text));
|
||||
Layout l = b.build();
|
||||
Directions directions = l.getLineDirections(0);
|
||||
|
||||
TextPaint workPaint = new TextPaint();
|
||||
|
||||
int dir = -1; // LEFT_TO_RIGHT
|
||||
boolean trailing = true;
|
||||
boolean alt = true;
|
||||
do {
|
||||
dir = -dir;
|
||||
do {
|
||||
trailing = !trailing;
|
||||
for (int offset = 0, end = b.text.length(); offset <= end; ++offset) {
|
||||
float width = Layout.measureText(b.paint,
|
||||
workPaint,
|
||||
b.text,
|
||||
0, offset, end,
|
||||
dir, directions,
|
||||
trailing, false,
|
||||
null);
|
||||
Log.i("BIDI", "dir: " + dir + " trail: " + trailing +
|
||||
" offset: " + offset + " width: " + width);
|
||||
}
|
||||
} while (!trailing);
|
||||
} while (dir > 0);
|
||||
}
|
||||
*/
|
||||
|
||||
// utility for displaying arrays in hex
|
||||
private static String hexArray(int[] array) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
@@ -16,25 +16,30 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import static android.text.Layout.Alignment.ALIGN_NORMAL;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import android.graphics.Paint.FontMetricsInt;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.text.Layout.Alignment;
|
||||
import android.text.method.EditorState;
|
||||
import android.util.Log;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import static android.text.Layout.Alignment.ALIGN_NORMAL;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* Tests StaticLayout vertical metrics behavior.
|
||||
*/
|
||||
public class StaticLayoutTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class StaticLayoutTest {
|
||||
/**
|
||||
* Basic test showing expected behavior and relationship between font
|
||||
* metrics and line metrics.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters1() {
|
||||
LayoutBuilder b = builder();
|
||||
FontMetricsInt fmi = b.paint.getFontMetricsInt();
|
||||
@@ -60,7 +65,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* Basic test showing effect of includePad = true with 1 line.
|
||||
* Top and bottom padding are affected, as is the line descent and height.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters2() {
|
||||
LayoutBuilder b = builder()
|
||||
.setIncludePad(true);
|
||||
@@ -75,7 +80,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* Basic test showing effect of includePad = true wrapping to 2 lines.
|
||||
* Ascent of top line and descent of bottom line are affected.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters3() {
|
||||
LayoutBuilder b = builder()
|
||||
.setIncludePad(true)
|
||||
@@ -92,7 +97,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* Basic test showing effect of includePad = true wrapping to 3 lines.
|
||||
* First line ascent is top, bottom line descent is bottom.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters4() {
|
||||
LayoutBuilder b = builder()
|
||||
.setText("This is a longer test")
|
||||
@@ -112,7 +117,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* large text. See effect of leading. Currently, we don't expect there to
|
||||
* even be non-zero leading.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters5() {
|
||||
LayoutBuilder b = builder()
|
||||
.setText("This is a longer test")
|
||||
@@ -139,7 +144,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* Basic test showing effect of includePad = true, spacingAdd = 2, wrapping
|
||||
* to 3 lines.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters6() {
|
||||
int spacingAdd = 2; // int so expressions return int
|
||||
LayoutBuilder b = builder()
|
||||
@@ -160,7 +165,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* Basic test showing effect of includePad = true, spacingAdd = 2,
|
||||
* spacingMult = 1.5, wrapping to 3 lines.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters7() {
|
||||
LayoutBuilder b = builder()
|
||||
.setText("This is a longer test")
|
||||
@@ -182,7 +187,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* Basic test showing effect of includePad = true, spacingAdd = 0,
|
||||
* spacingMult = 0.8 when wrapping to 3 lines.
|
||||
*/
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetters8() {
|
||||
LayoutBuilder b = builder()
|
||||
.setText("This is a longer test")
|
||||
@@ -336,6 +341,7 @@ public class StaticLayoutTest extends TestCase {
|
||||
* Tests for keycap, variation selectors, flags are in CTS.
|
||||
* See {@link android.text.cts.StaticLayoutTest}.
|
||||
*/
|
||||
@Test
|
||||
public void testEmojiOffset() {
|
||||
EditorState state = new EditorState();
|
||||
TextPaint paint = new TextPaint();
|
||||
|
||||
@@ -16,15 +16,23 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import android.text.Layout.Alignment;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* Tests for text measuring methods of StaticLayout.
|
||||
*/
|
||||
public class StaticLayoutTextMeasuringTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class StaticLayoutTextMeasuringTest {
|
||||
private static final float SPACE_MULTI = 1.0f;
|
||||
private static final float SPACE_ADD = 0.0f;
|
||||
private static final int DEFAULT_OUTER_WIDTH = 150;
|
||||
@@ -32,37 +40,36 @@ public class StaticLayoutTextMeasuringTest extends TestCase {
|
||||
|
||||
private TextPaint mDefaultPaint;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
@Before
|
||||
public void setup() {
|
||||
if (mDefaultPaint == null) {
|
||||
mDefaultPaint = new TextPaint();
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetPrimaryHorizontal_zwnbsp() {
|
||||
// a, ZERO WIDTH NO-BREAK SPACE
|
||||
String testString = "a\uFEFF";
|
||||
StaticLayout layout = new StaticLayout(testString, mDefaultPaint,
|
||||
DEFAULT_OUTER_WIDTH, DEFAULT_ALIGN, SPACE_MULTI, SPACE_ADD, true);
|
||||
|
||||
assertEquals(0.0f, layout.getPrimaryHorizontal(0));
|
||||
assertEquals(layout.getPrimaryHorizontal(2), layout.getPrimaryHorizontal(1));
|
||||
assertEquals(0.0f, layout.getPrimaryHorizontal(0), 0f);
|
||||
assertEquals(layout.getPrimaryHorizontal(2), layout.getPrimaryHorizontal(1), 0f);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetPrimaryHorizontal_devanagari() {
|
||||
// DEVANAGARI LETTER KA, DEVANAGARI VOWEL SIGN AA
|
||||
String testString = "\u0915\u093E";
|
||||
StaticLayout layout = new StaticLayout(testString, mDefaultPaint,
|
||||
DEFAULT_OUTER_WIDTH, DEFAULT_ALIGN, SPACE_MULTI, SPACE_ADD, true);
|
||||
|
||||
assertEquals(0.0f, layout.getPrimaryHorizontal(0));
|
||||
assertEquals(layout.getPrimaryHorizontal(2), layout.getPrimaryHorizontal(1));
|
||||
assertEquals(0.0f, layout.getPrimaryHorizontal(0), 0f);
|
||||
assertEquals(layout.getPrimaryHorizontal(2), layout.getPrimaryHorizontal(1), 0f);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetPrimaryHorizontal_flagEmoji() {
|
||||
// REGIONAL INDICATOR SYMBOL LETTER U, REGIONAL INDICATOR SYMBOL LETTER S, REGIONAL
|
||||
// INDICATOR SYMBOL LETTER Z
|
||||
@@ -71,12 +78,12 @@ public class StaticLayoutTextMeasuringTest extends TestCase {
|
||||
StaticLayout layout = new StaticLayout(testString, mDefaultPaint,
|
||||
DEFAULT_OUTER_WIDTH, DEFAULT_ALIGN, SPACE_MULTI, SPACE_ADD, true);
|
||||
|
||||
assertEquals(0.0f, layout.getPrimaryHorizontal(0));
|
||||
assertEquals(layout.getPrimaryHorizontal(4), layout.getPrimaryHorizontal(1));
|
||||
assertEquals(layout.getPrimaryHorizontal(4), layout.getPrimaryHorizontal(2));
|
||||
assertEquals(layout.getPrimaryHorizontal(4), layout.getPrimaryHorizontal(3));
|
||||
assertEquals(0.0f, layout.getPrimaryHorizontal(0), 0f);
|
||||
assertEquals(layout.getPrimaryHorizontal(4), layout.getPrimaryHorizontal(1), 0f);
|
||||
assertEquals(layout.getPrimaryHorizontal(4), layout.getPrimaryHorizontal(2), 0f);
|
||||
assertEquals(layout.getPrimaryHorizontal(4), layout.getPrimaryHorizontal(3), 0f);
|
||||
|
||||
assertTrue(layout.getPrimaryHorizontal(6) > layout.getPrimaryHorizontal(4));
|
||||
assertEquals(layout.getPrimaryHorizontal(6), layout.getPrimaryHorizontal(5));
|
||||
assertEquals(layout.getPrimaryHorizontal(6), layout.getPrimaryHorizontal(5), 0f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,31 +17,34 @@
|
||||
package android.text;
|
||||
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class TextLayoutTest {
|
||||
private String mString;
|
||||
private TextPaint mPaint;
|
||||
|
||||
public class TextLayoutTest extends TestCase {
|
||||
|
||||
protected String mString;
|
||||
protected TextPaint mPaint;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
@Before
|
||||
public void setup() {
|
||||
mString = "The quick brown fox";
|
||||
mPaint = new TextPaint();
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testStaticLayout() throws Exception {
|
||||
Layout l = new StaticLayout(mString, mPaint, 200,
|
||||
@Test
|
||||
public void testStaticLayout() {
|
||||
new StaticLayout(mString, mPaint, 200,
|
||||
Layout.Alignment.ALIGN_NORMAL, 1, 0,
|
||||
true);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testDynamicLayoutTest() throws Exception {
|
||||
Layout l = new DynamicLayout(mString, mPaint, 200,
|
||||
@Test
|
||||
public void testDynamicLayoutTest() {
|
||||
new DynamicLayout(mString, mPaint, 200,
|
||||
Layout.Alignment.ALIGN_NORMAL, 1, 0,
|
||||
true);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,14 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import com.google.android.collect.Lists;
|
||||
|
||||
import android.os.Parcel;
|
||||
@@ -27,19 +35,21 @@ import android.text.util.Rfc822Token;
|
||||
import android.text.util.Rfc822Tokenizer;
|
||||
import android.view.View;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/**
|
||||
* TextUtilsTest tests {@link TextUtils}.
|
||||
*/
|
||||
public class TextUtilsTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class TextUtilsTest {
|
||||
|
||||
@SmallTest
|
||||
public void testBasic() throws Exception {
|
||||
@Test
|
||||
public void testBasic() {
|
||||
assertEquals("", TextUtils.concat());
|
||||
assertEquals("foo", TextUtils.concat("foo"));
|
||||
assertEquals("foobar", TextUtils.concat("foo", "bar"));
|
||||
@@ -71,8 +81,8 @@ public class TextUtilsTest extends TestCase {
|
||||
assertTrue(TextUtils.concat(foo, bar) instanceof SpannedString);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testTemplateString() throws Exception {
|
||||
@Test
|
||||
public void testTemplateString() {
|
||||
CharSequence result;
|
||||
|
||||
result = TextUtils.expandTemplate("This is a ^1 of the ^2 broadcast ^3.",
|
||||
@@ -136,7 +146,7 @@ public class TextUtilsTest extends TestCase {
|
||||
|
||||
/** Fail unless text+spans contains a span 'spanName' with the given start and end. */
|
||||
private void checkContains(Spanned text, String[] spans, String spanName,
|
||||
int start, int end) throws Exception {
|
||||
int start, int end) {
|
||||
for (String i: spans) {
|
||||
if (i.equals(spanName)) {
|
||||
assertEquals(start, text.getSpanStart(i));
|
||||
@@ -147,8 +157,8 @@ public class TextUtilsTest extends TestCase {
|
||||
fail();
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testTemplateSpan() throws Exception {
|
||||
@Test
|
||||
public void testTemplateSpan() {
|
||||
SpannableString template;
|
||||
Spanned result;
|
||||
String[] spans;
|
||||
@@ -186,27 +196,27 @@ public class TextUtilsTest extends TestCase {
|
||||
checkContains(result, spans, "during+after", 1, 2);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testStringSplitterSimple() {
|
||||
stringSplitterTestHelper("a,b,cde", new String[] {"a", "b", "cde"});
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testStringSplitterEmpty() {
|
||||
stringSplitterTestHelper("", new String[] {});
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testStringSplitterWithLeadingEmptyString() {
|
||||
stringSplitterTestHelper(",a,b,cde", new String[] {"", "a", "b", "cde"});
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testStringSplitterWithInternalEmptyString() {
|
||||
stringSplitterTestHelper("a,b,,cde", new String[] {"a", "b", "", "cde"});
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testStringSplitterWithTrailingEmptyString() {
|
||||
// A single trailing emtpy string should be ignored.
|
||||
stringSplitterTestHelper("a,b,cde,", new String[] {"a", "b", "cde"});
|
||||
@@ -222,7 +232,7 @@ public class TextUtilsTest extends TestCase {
|
||||
MoreAsserts.assertEquals(expectedStrings, strings.toArray(new String[]{}));
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testTrim() {
|
||||
String[] strings = { "abc", " abc", " abc", "abc ", "abc ",
|
||||
" abc ", " abc ", "\nabc\n", "\nabc", "abc\n" };
|
||||
@@ -232,7 +242,7 @@ public class TextUtilsTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testRfc822TokenizerFullAddress() {
|
||||
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize("Foo Bar (something) <foo@google.com>");
|
||||
assertNotNull(tokens);
|
||||
@@ -242,7 +252,7 @@ public class TextUtilsTest extends TestCase {
|
||||
assertEquals("something",tokens[0].getComment());
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testRfc822TokenizeItemWithError() {
|
||||
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize("\"Foo Bar\\");
|
||||
assertNotNull(tokens);
|
||||
@@ -250,7 +260,7 @@ public class TextUtilsTest extends TestCase {
|
||||
assertEquals("Foo Bar", tokens[0].getAddress());
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testRfc822FindToken() {
|
||||
Rfc822Tokenizer tokenizer = new Rfc822Tokenizer();
|
||||
// 0 1 2 3 4
|
||||
@@ -262,12 +272,13 @@ public class TextUtilsTest extends TestCase {
|
||||
assertEquals(46, tokenizer.findTokenEnd(address, 25));
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testRfc822FindTokenWithError() {
|
||||
assertEquals(9, new Rfc822Tokenizer().findTokenEnd("\"Foo Bar\\", 0));
|
||||
}
|
||||
|
||||
@LargeTest
|
||||
@Test
|
||||
public void testEllipsize() {
|
||||
CharSequence s1 = "The quick brown fox jumps over \u00FEhe lazy dog.";
|
||||
CharSequence s2 = new Wrapper(s1);
|
||||
@@ -327,7 +338,7 @@ public class TextUtilsTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testDelimitedStringContains() {
|
||||
assertFalse(TextUtils.delimitedStringContains("", ',', null));
|
||||
assertFalse(TextUtils.delimitedStringContains(null, ',', ""));
|
||||
@@ -347,7 +358,7 @@ public class TextUtilsTest extends TestCase {
|
||||
assertFalse(TextUtils.delimitedStringContains("network,mock,gpsx", ',', "gps"));
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testCharSequenceCreator() {
|
||||
Parcel p = Parcel.obtain();
|
||||
TextUtils.writeToParcel(null, p, 0);
|
||||
@@ -360,7 +371,7 @@ public class TextUtilsTest extends TestCase {
|
||||
assertEquals("conversion to/from parcel failed", "test", text);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testCharSequenceCreatorNull() {
|
||||
Parcel p;
|
||||
CharSequence text;
|
||||
@@ -371,7 +382,7 @@ public class TextUtilsTest extends TestCase {
|
||||
assertNull("null CharSequence should generate null from parcel", text);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testCharSequenceCreatorSpannable() {
|
||||
Parcel p;
|
||||
CharSequence text;
|
||||
@@ -382,7 +393,7 @@ public class TextUtilsTest extends TestCase {
|
||||
assertEquals("conversion to/from parcel failed", "test", text.toString());
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testCharSequenceCreatorString() {
|
||||
Parcel p;
|
||||
CharSequence text;
|
||||
@@ -404,10 +415,12 @@ public class TextUtilsTest extends TestCase {
|
||||
mString = s;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int length() {
|
||||
return mString.length();
|
||||
}
|
||||
|
||||
@Override
|
||||
public char charAt(int off) {
|
||||
return mString.charAt(off);
|
||||
}
|
||||
@@ -417,12 +430,13 @@ public class TextUtilsTest extends TestCase {
|
||||
return mString.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence subSequence(int start, int end) {
|
||||
return new Wrapper(mString.subSequence(start, end));
|
||||
}
|
||||
}
|
||||
|
||||
@LargeTest
|
||||
@Test
|
||||
public void testRemoveEmptySpans() {
|
||||
MockSpanned spanned = new MockSpanned();
|
||||
|
||||
@@ -484,14 +498,17 @@ public class TextUtilsTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public char charAt(int arg0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int length() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence subSequence(int arg0, int arg1) {
|
||||
return null;
|
||||
}
|
||||
@@ -522,7 +539,7 @@ public class TextUtilsTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testGetLayoutDirectionFromLocale() {
|
||||
assertEquals(View.LAYOUT_DIRECTION_LTR, TextUtils.getLayoutDirectionFromLocale(null));
|
||||
assertEquals(View.LAYOUT_DIRECTION_LTR,
|
||||
|
||||
@@ -16,17 +16,24 @@
|
||||
|
||||
package android.text;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import android.graphics.fonts.FontVariationAxis;
|
||||
import android.test.suitebuilder.annotation.SmallTest;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
public class VariationParserTest extends TestCase {
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class VariationParserTest {
|
||||
private static final String[] INVALID_STYLE_VALUES = {
|
||||
"", "x", "\t", "\n"
|
||||
};
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testFromFontVariationSetting_InvalidStyleValue() {
|
||||
// Test with invalid styleValue
|
||||
for (String invalidStyle : INVALID_STYLE_VALUES) {
|
||||
@@ -39,7 +46,8 @@ public class VariationParserTest extends TestCase {
|
||||
}
|
||||
for (String invalidStyle : INVALID_STYLE_VALUES) {
|
||||
try {
|
||||
FontVariationAxis.fromFontVariationSettings("'wght' 1, 'wdth' " + invalidStyle);
|
||||
FontVariationAxis.fromFontVariationSettings("'wght' 1, 'wdth' "
|
||||
+ invalidStyle);
|
||||
fail();
|
||||
} catch (IllegalArgumentException e) {
|
||||
// pass
|
||||
@@ -47,10 +55,13 @@ public class VariationParserTest extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
@Test
|
||||
public void testOpenTypeTagValue() {
|
||||
assertEquals(0x77647468, (new FontVariationAxis("wdth", 0).getOpenTypeTagValue()));
|
||||
assertEquals(0x41582020, (new FontVariationAxis("AX ", 0).getOpenTypeTagValue()));
|
||||
assertEquals(0x20202020, (new FontVariationAxis(" ", 0).getOpenTypeTagValue()));
|
||||
assertEquals(0x77647468,
|
||||
new FontVariationAxis("wdth", 0).getOpenTypeTagValue());
|
||||
assertEquals(0x41582020,
|
||||
new FontVariationAxis("AX ", 0).getOpenTypeTagValue());
|
||||
assertEquals(0x20202020,
|
||||
new FontVariationAxis(" ", 0).getOpenTypeTagValue());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user