Merge "Move text coretests to JUnit (1)" into oc-dev
diff --git a/core/tests/coretests/src/android/text/DynamicLayoutBlocksTest.java b/core/tests/coretests/src/android/text/DynamicLayoutBlocksTest.java
index 5ed6ce5..bc9f44d 100644
--- a/core/tests/coretests/src/android/text/DynamicLayoutBlocksTest.java
+++ b/core/tests/coretests/src/android/text/DynamicLayoutBlocksTest.java
@@ -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 @@
assertState(sizes, ids);
}
+ @Test
public void testFrom0() {
defineInitialState( new int[] { 0 }, new int[] { 123 });
@@ -101,6 +111,7 @@
assertState( new int[] { 10 } );
}
+ @Test
public void testFrom1ReplaceByEmpty() {
defineInitialState( new int[] { 100 }, new int[] { 123 });
@@ -126,6 +137,7 @@
assertState( new int[] { 100 } );
}
+ @Test
public void testFrom1ReplaceFromFirstLine() {
defineInitialState( new int[] { 100 }, new int[] { 123 });
@@ -142,6 +154,7 @@
assertState( new int[] { 20 } );
}
+ @Test
public void testFrom1ReplaceFromCenter() {
defineInitialState( new int[] { 100 }, new int[] { 123 });
@@ -158,6 +171,7 @@
assertState( new int[] { 20, 50 } );
}
+ @Test
public void testFrom1ReplaceFromEnd() {
defineInitialState( new int[] { 100 }, new int[] { 123 });
@@ -171,6 +185,7 @@
assertState( new int[] { 100, 10 } );
}
+ @Test
public void testFrom2ReplaceFromFirstLine() {
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
@@ -187,6 +202,7 @@
assertState( new int[] { 50 }, new int[] { ___ } );
}
+ @Test
public void testFrom2ReplaceFromFirstBlock() {
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
@@ -203,6 +219,7 @@
assertState( new int[] { 3, 50 }, new int[] { ___, ___ } );
}
+ @Test
public void testFrom2ReplaceFromBottomBoundary() {
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
@@ -216,6 +233,7 @@
assertState( new int[] { 10, 50 }, new int[] { ___, ___ } );
}
+ @Test
public void testFrom2ReplaceFromTopBoundary() {
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
@@ -229,6 +247,7 @@
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 @@
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 @@
assertState( new int[] { 0 }, new int[] { ___ } );
}
+ @Test
public void testFrom2RemoveFromFirstBlock() {
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
@@ -274,6 +295,7 @@
assertState( new int[] { 4 }, new int[] { ___ } );
}
+ @Test
public void testFrom2RemoveFromSecondBlock() {
defineInitialState( new int[] { 10, 20 }, new int[] { 123, 456 });
@@ -284,6 +306,7 @@
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 @@
assertState( new int[] { 3, 50 }, new int[] { ___, ___ } );
}
+ @Test
public void testFrom3ReplaceFromSecondBlock() {
defineInitialState( new int[] { 10, 30, 60 }, new int[] { 123, 456, 789 });
diff --git a/core/tests/coretests/src/android/text/DynamicLayoutTest.java b/core/tests/coretests/src/android/text/DynamicLayoutTest.java
index 9362ed9..da6dc7e 100644
--- a/core/tests/coretests/src/android/text/DynamicLayoutTest.java
+++ b/core/tests/coretests/src/android/text/DynamicLayoutTest.java
@@ -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 @@
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 @@
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 @@
assertTrue(layout.getBlocksAlwaysNeedToBeRedrawn().isEmpty());
}
+ @Test
public void testGetBlocksAlwaysNeedToBeRedrawn_thai() {
final SpannableStringBuilder builder = new SpannableStringBuilder();
final DynamicLayout layout = new DynamicLayout(builder, new TextPaint(), WIDTH,
diff --git a/core/tests/coretests/src/android/text/PackedIntVectorTest.java b/core/tests/coretests/src/android/text/PackedIntVectorTest.java
index 1aab8af..9df0f89 100644
--- a/core/tests/coretests/src/android/text/PackedIntVectorTest.java
+++ b/core/tests/coretests/src/android/text/PackedIntVectorTest.java
@@ -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];
diff --git a/core/tests/coretests/src/android/text/SpannableTest.java b/core/tests/coretests/src/android/text/SpannableTest.java
index d6f0244..5ed6250 100644
--- a/core/tests/coretests/src/android/text/SpannableTest.java
+++ b/core/tests/coretests/src/android/text/SpannableTest.java
@@ -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();
diff --git a/core/tests/coretests/src/android/text/SpannedTest.java b/core/tests/coretests/src/android/text/SpannedTest.java
index 911da4b..60cddb08 100644
--- a/core/tests/coretests/src/android/text/SpannedTest.java
+++ b/core/tests/coretests/src/android/text/SpannedTest.java
@@ -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 @@
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 @@
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 @@
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 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) { }
}
}
diff --git a/core/tests/coretests/src/android/text/StaticLayoutBidiTest.java b/core/tests/coretests/src/android/text/StaticLayoutBidiTest.java
index a9865f8..d16cce8 100644
--- a/core/tests/coretests/src/android/text/StaticLayoutBidiTest.java
+++ b/core/tests/coretests/src/android/text/StaticLayoutBidiTest.java
@@ -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 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);
}
diff --git a/core/tests/coretests/src/android/text/StaticLayoutDirectionsTest.java b/core/tests/coretests/src/android/text/StaticLayoutDirectionsTest.java
index 2300c63..e0b4776 100644
--- a/core/tests/coretests/src/android/text/StaticLayoutDirectionsTest.java
+++ b/core/tests/coretests/src/android/text/StaticLayoutDirectionsTest.java
@@ -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 @@
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 @@
}
}
- @SmallTest
+ @Test
public void testTrailingWhitespace() {
LayoutBuilder b = StaticLayoutTest.builder();
b.setText(pseudoBidiToReal("Ab c"));
@@ -137,7 +142,7 @@
expectDirections("split line", expected, result);
}
- @SmallTest
+ @Test
public void testNextToRightOf() {
LayoutBuilder b = StaticLayoutTest.builder();
b.setText(pseudoBidiToReal("aA1B2"));
@@ -161,7 +166,7 @@
}
}
- @SmallTest
+ @Test
public void testNextToLeftOf() {
LayoutBuilder b = StaticLayoutTest.builder();
b.setText(pseudoBidiToReal("aA1B2"));
@@ -178,40 +183,6 @@
}
}
- // 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();
diff --git a/core/tests/coretests/src/android/text/StaticLayoutTest.java b/core/tests/coretests/src/android/text/StaticLayoutTest.java
index 436840c..b7ca219 100644
--- a/core/tests/coretests/src/android/text/StaticLayoutTest.java
+++ b/core/tests/coretests/src/android/text/StaticLayoutTest.java
@@ -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 @@
* 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 @@
* 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 @@
* 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 @@
* 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 @@
* 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 @@
* 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 @@
* 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 @@
* 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();
diff --git a/core/tests/coretests/src/android/text/StaticLayoutTextMeasuringTest.java b/core/tests/coretests/src/android/text/StaticLayoutTextMeasuringTest.java
index 7e07acb..f6888e3 100644
--- a/core/tests/coretests/src/android/text/StaticLayoutTextMeasuringTest.java
+++ b/core/tests/coretests/src/android/text/StaticLayoutTextMeasuringTest.java
@@ -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 @@
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 @@
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);
}
}
diff --git a/core/tests/coretests/src/android/text/TextLayoutTest.java b/core/tests/coretests/src/android/text/TextLayoutTest.java
index f3a28b4..8963189 100644
--- a/core/tests/coretests/src/android/text/TextLayoutTest.java
+++ b/core/tests/coretests/src/android/text/TextLayoutTest.java
@@ -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);
}
diff --git a/core/tests/coretests/src/android/text/TextUtilsTest.java b/core/tests/coretests/src/android/text/TextUtilsTest.java
index 26aabdb..312c4fb 100644
--- a/core/tests/coretests/src/android/text/TextUtilsTest.java
+++ b/core/tests/coretests/src/android/text/TextUtilsTest.java
@@ -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.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 @@
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 @@
/** 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 @@
fail();
}
- @SmallTest
- public void testTemplateSpan() throws Exception {
+ @Test
+ public void testTemplateSpan() {
SpannableString template;
Spanned result;
String[] spans;
@@ -186,27 +196,27 @@
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 @@
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 @@
}
}
- @SmallTest
+ @Test
public void testRfc822TokenizerFullAddress() {
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize("Foo Bar (something) <foo@google.com>");
assertNotNull(tokens);
@@ -242,7 +252,7 @@
assertEquals("something",tokens[0].getComment());
}
- @SmallTest
+ @Test
public void testRfc822TokenizeItemWithError() {
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize("\"Foo Bar\\");
assertNotNull(tokens);
@@ -250,7 +260,7 @@
assertEquals("Foo Bar", tokens[0].getAddress());
}
- @SmallTest
+ @Test
public void testRfc822FindToken() {
Rfc822Tokenizer tokenizer = new Rfc822Tokenizer();
// 0 1 2 3 4
@@ -262,12 +272,13 @@
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 @@
}
}
- @SmallTest
+ @Test
public void testDelimitedStringContains() {
assertFalse(TextUtils.delimitedStringContains("", ',', null));
assertFalse(TextUtils.delimitedStringContains(null, ',', ""));
@@ -347,7 +358,7 @@
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 @@
assertEquals("conversion to/from parcel failed", "test", text);
}
- @SmallTest
+ @Test
public void testCharSequenceCreatorNull() {
Parcel p;
CharSequence text;
@@ -371,7 +382,7 @@
assertNull("null CharSequence should generate null from parcel", text);
}
- @SmallTest
+ @Test
public void testCharSequenceCreatorSpannable() {
Parcel p;
CharSequence text;
@@ -382,7 +393,7 @@
assertEquals("conversion to/from parcel failed", "test", text.toString());
}
- @SmallTest
+ @Test
public void testCharSequenceCreatorString() {
Parcel p;
CharSequence text;
@@ -404,10 +415,12 @@
mString = s;
}
+ @Override
public int length() {
return mString.length();
}
+ @Override
public char charAt(int off) {
return mString.charAt(off);
}
@@ -417,12 +430,13 @@
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 @@
}
}
+ @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 @@
}
}
- @SmallTest
+ @Test
public void testGetLayoutDirectionFromLocale() {
assertEquals(View.LAYOUT_DIRECTION_LTR, TextUtils.getLayoutDirectionFromLocale(null));
assertEquals(View.LAYOUT_DIRECTION_LTR,
diff --git a/core/tests/coretests/src/android/text/VariationParserTest.java b/core/tests/coretests/src/android/text/VariationParserTest.java
index b0f55d6..ec2c96c 100644
--- a/core/tests/coretests/src/android/text/VariationParserTest.java
+++ b/core/tests/coretests/src/android/text/VariationParserTest.java
@@ -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 @@
}
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 @@
}
}
- @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());
}
}