Merge "CTS Media Files Precondition"
diff --git a/tests/tests/view/src/android/view/cts/ViewGroupTest.java b/tests/tests/view/src/android/view/cts/ViewGroupTest.java
index 8cb7928..48afc2b 100644
--- a/tests/tests/view/src/android/view/cts/ViewGroupTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewGroupTest.java
@@ -59,6 +59,7 @@
import android.view.animation.Animation.AnimationListener;
import android.widget.TextView;
+import java.lang.IndexOutOfBoundsException;
import java.util.ArrayList;
public class ViewGroupTest extends InstrumentationTestCase implements CTSResult{
@@ -338,23 +339,23 @@
Canvas canvas = new Canvas();
MockViewGroup vg = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
- son.setAnimation(new MockAnimation());
- vg.addView(son);
+ MockViewGroup child = new MockViewGroup(mContext);
+ child.setAnimation(new MockAnimation());
+ vg.addView(child);
assertEquals(1, vg.getChildCount());
- assertNotNull(son.getAnimation());
+ assertNotNull(child.getAnimation());
vg.dispatchDraw(canvas);
assertEquals(1, vg.drawChildCalledTime);
- son.setAnimation(new MockAnimation());
+ child.setAnimation(new MockAnimation());
vg.removeAllViewsInLayout();
vg.drawChildCalledTime = 0;
vg.dispatchDraw(canvas);
assertEquals(1, vg.drawChildCalledTime);
- son.setAnimation(new MockAnimation());
+ child.setAnimation(new MockAnimation());
vg.clearDisappearingChildren();
vg.drawChildCalledTime = 0;
@@ -683,11 +684,11 @@
public void testFocusableViewAvailable() {
MockViewGroup vg = new MockViewGroup(mContext);
- MockView son = new MockView(mContext);
- vg.addView(son);
+ MockView child = new MockView(mContext);
+ vg.addView(child);
- son.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
- son.focusableViewAvailable(vg);
+ child.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
+ child.focusableViewAvailable(vg);
assertTrue(vg.isFocusableViewAvailable);
}
@@ -695,11 +696,11 @@
public void testFocusSearch() {
MockViewGroup vg = new MockViewGroup(mContext);
MockTextView textView = new MockTextView(mContext);
- MockView son = new MockView(mContext);
- vg.addView(son);
- son.addView(textView);
- assertNotNull(son.focusSearch(textView, 1));
- assertSame(textView, son.focusSearch(textView, 1));
+ MockView child = new MockView(mContext);
+ vg.addView(child);
+ child.addView(textView);
+ assertNotNull(child.focusSearch(textView, 1));
+ assertSame(textView, child.focusSearch(textView, 1));
}
public void testGatherTransparentRegion() {
@@ -924,18 +925,18 @@
final int width = 100;
final int height = 200;
MockViewGroup vg = new MockViewGroup(mContext);
- MockView son = new MockView(mContext);
- son.setLayoutParams(new LayoutParams(width, height));
- son.forceLayout();
- vg.addView(son);
+ MockView child = new MockView(mContext);
+ child.setLayoutParams(new LayoutParams(width, height));
+ child.forceLayout();
+ vg.addView(child);
final int parentWidthMeasureSpec = 1;
final int parentHeightMeasureSpec = 2;
- vg.measureChild(son, parentWidthMeasureSpec, parentHeightMeasureSpec);
+ vg.measureChild(child, parentWidthMeasureSpec, parentHeightMeasureSpec);
assertEquals(ViewGroup.getChildMeasureSpec(parentWidthMeasureSpec, 0, width),
- son.mWidthMeasureSpec);
+ child.mWidthMeasureSpec);
assertEquals(ViewGroup.getChildMeasureSpec(parentHeightMeasureSpec, 0, height),
- son.mHeightMeasureSpec);
+ child.mHeightMeasureSpec);
}
public void testMeasureChildren() {
@@ -966,24 +967,24 @@
final int parentHeightMeasureSpec = 3;
final int heightUsed = 4;
MockViewGroup vg = new MockViewGroup(mContext);
- MockView son = new MockView(mContext);
+ MockView child = new MockView(mContext);
- vg.addView(son);
- son.setLayoutParams(new ViewGroup.LayoutParams(width, height));
+ vg.addView(child);
+ child.setLayoutParams(new ViewGroup.LayoutParams(width, height));
try {
- vg.measureChildWithMargins(son, parentWidthMeasureSpec, widthUsed,
+ vg.measureChildWithMargins(child, parentWidthMeasureSpec, widthUsed,
parentHeightMeasureSpec, heightUsed);
fail("measureChildWithMargins should throw out class cast exception");
} catch (RuntimeException e) {
}
- son.setLayoutParams(new ViewGroup.MarginLayoutParams(width, height));
+ child.setLayoutParams(new ViewGroup.MarginLayoutParams(width, height));
- vg.measureChildWithMargins(son, parentWidthMeasureSpec, widthUsed, parentHeightMeasureSpec,
+ vg.measureChildWithMargins(child, parentWidthMeasureSpec, widthUsed, parentHeightMeasureSpec,
heightUsed);
assertEquals(ViewGroup.getChildMeasureSpec(parentWidthMeasureSpec, parentHeightMeasureSpec,
- width), son.mWidthMeasureSpec);
+ width), child.mWidthMeasureSpec);
assertEquals(ViewGroup.getChildMeasureSpec(widthUsed, heightUsed, height),
- son.mHeightMeasureSpec);
+ child.mHeightMeasureSpec);
}
public void testOffsetDescendantRectToMyCoords() {
@@ -1032,16 +1033,16 @@
public void testOnAnimationEnd() {
// this function is a call back function it should be tested in ViewGroup#drawChild.
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
- son.setAnimation(new MockAnimation());
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
+ child.setAnimation(new MockAnimation());
// this call will make mPrivateFlags |= ANIMATION_STARTED;
- son.onAnimationStart();
- father.addView(son);
+ child.onAnimationStart();
+ parent.addView(child);
MockCanvas canvas = new MockCanvas();
- assertFalse(father.drawChild(canvas, son, 100));
- assertTrue(son.isOnAnimationEndCalled);
+ assertFalse(parent.drawChild(canvas, child, 100));
+ assertTrue(child.isOnAnimationEndCalled);
}
private class MockAnimation extends Animation {
@@ -1062,22 +1063,22 @@
public void testOnAnimationStart() {
// This is a call back method. It should be tested in ViewGroup#drawChild.
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
- father.addView(son);
+ parent.addView(child);
MockCanvas canvas = new MockCanvas();
try {
- assertFalse(father.drawChild(canvas, son, 100));
- assertFalse(son.isOnAnimationStartCalled);
+ assertFalse(parent.drawChild(canvas, child, 100));
+ assertFalse(child.isOnAnimationStartCalled);
} catch (Exception e) {
// expected
}
- son.setAnimation(new MockAnimation());
- assertFalse(father.drawChild(canvas, son, 100));
- assertTrue(son.isOnAnimationStartCalled);
+ child.setAnimation(new MockAnimation());
+ assertFalse(parent.drawChild(canvas, child, 100));
+ assertTrue(child.isOnAnimationStartCalled);
}
public void testOnCreateDrawableState() {
@@ -1132,35 +1133,35 @@
}
public void testRemoveAllViewsInLayout() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
MockTextView textView = new MockTextView(mContext);
- assertEquals(0, father.getChildCount());
+ assertEquals(0, parent.getChildCount());
- son.addView(textView);
- father.addView(son);
- assertEquals(1, father.getChildCount());
+ child.addView(textView);
+ parent.addView(child);
+ assertEquals(1, parent.getChildCount());
- father.removeAllViewsInLayout();
- assertEquals(0, father.getChildCount());
- assertEquals(1, son.getChildCount());
- assertNull(son.getParent());
- assertSame(son, textView.getParent());
+ parent.removeAllViewsInLayout();
+ assertEquals(0, parent.getChildCount());
+ assertEquals(1, child.getChildCount());
+ assertNull(child.getParent());
+ assertSame(child, textView.getParent());
}
public void testRemoveDetachedView() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son1 = new MockViewGroup(mContext);
- MockViewGroup son2 = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child1 = new MockViewGroup(mContext);
+ MockViewGroup child2 = new MockViewGroup(mContext);
MockOnHierarchyChangeListener listener = new MockOnHierarchyChangeListener();
- father.setOnHierarchyChangeListener(listener);
- father.addView(son1);
- father.addView(son2);
+ parent.setOnHierarchyChangeListener(listener);
+ parent.addView(child1);
+ parent.addView(child2);
- father.removeDetachedView(son1, false);
- assertSame(father, listener.sParent);
- assertSame(son1, listener.sChild);
+ parent.removeDetachedView(child1, false);
+ assertSame(parent, listener.sParent);
+ assertSame(child1, listener.sChild);
}
static class MockOnHierarchyChangeListener implements OnHierarchyChangeListener {
@@ -1178,93 +1179,123 @@
}
public void testRemoveView() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
- assertEquals(0, father.getChildCount());
+ assertEquals(0, parent.getChildCount());
- father.addView(son);
- assertEquals(1, father.getChildCount());
+ parent.addView(child);
+ assertEquals(1, parent.getChildCount());
- father.removeView(son);
- assertEquals(0, father.getChildCount());
- assertNull(son.getParent());
+ parent.removeView(child);
+ assertEquals(0, parent.getChildCount());
+ assertNull(child.getParent());
}
public void testRemoveViewAt() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
- assertEquals(0, father.getChildCount());
+ assertEquals(0, parent.getChildCount());
- father.addView(son);
- assertEquals(1, father.getChildCount());
+ parent.addView(child);
+ assertEquals(1, parent.getChildCount());
try {
- father.removeViewAt(2);
+ parent.removeViewAt(2);
fail("should throw out null pointer exception");
} catch (RuntimeException e) {
// expected
}
- assertEquals(1, father.getChildCount());
+ assertEquals(1, parent.getChildCount());
- father.removeViewAt(0);
- assertEquals(0, father.getChildCount());
- assertNull(son.getParent());
+ parent.removeViewAt(0);
+ assertEquals(0, parent.getChildCount());
+ assertNull(child.getParent());
}
public void testRemoveViewInLayout() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
- assertEquals(0, father.getChildCount());
+ assertEquals(0, parent.getChildCount());
- father.addView(son);
- assertEquals(1, father.getChildCount());
+ parent.addView(child);
+ assertEquals(1, parent.getChildCount());
- father.removeViewInLayout(son);
- assertEquals(0, father.getChildCount());
- assertNull(son.getParent());
+ parent.removeViewInLayout(child);
+ assertEquals(0, parent.getChildCount());
+ assertNull(child.getParent());
}
public void testRemoveViews() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son1 = new MockViewGroup(mContext);
- MockViewGroup son2 = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child1 = new MockViewGroup(mContext);
+ MockViewGroup child2 = new MockViewGroup(mContext);
- assertEquals(0, father.getChildCount());
+ assertEquals(0, parent.getChildCount());
+ parent.addView(child1);
+ parent.addView(child2);
+ assertEquals(2, parent.getChildCount());
- father.addView(son1);
- father.addView(son2);
- assertEquals(2, father.getChildCount());
+ try {
+ parent.removeViews(-1, 1); // negative begin
+ fail("should fail with IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException e) {}
- father.removeViews(0, 1);
- assertEquals(1, father.getChildCount());
- assertNull(son1.getParent());
+ try {
+ parent.removeViews(0, -1); // negative count
+ fail("should fail with IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException e) {}
- father.removeViews(0, 1);
- assertEquals(0, father.getChildCount());
- assertNull(son2.getParent());
+ try {
+ parent.removeViews(1, 2); // past end
+ fail("should fail with IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException e) {}
+ assertEquals(2, parent.getChildCount()); // child list unmodified
+
+ parent.removeViews(0, 1);
+ assertEquals(1, parent.getChildCount());
+ assertNull(child1.getParent());
+
+ parent.removeViews(0, 1);
+ assertEquals(0, parent.getChildCount());
+ assertNull(child2.getParent());
}
public void testRemoveViewsInLayout() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son1 = new MockViewGroup(mContext);
- MockViewGroup son2 = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child1 = new MockViewGroup(mContext);
+ MockViewGroup child2 = new MockViewGroup(mContext);
- assertEquals(0, father.getChildCount());
+ assertEquals(0, parent.getChildCount());
+ parent.addView(child1);
+ parent.addView(child2);
+ assertEquals(2, parent.getChildCount());
- father.addView(son1);
- father.addView(son2);
- assertEquals(2, father.getChildCount());
+ try {
+ parent.removeViewsInLayout(-1, 1); // negative begin
+ fail("should fail with IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException e) {}
- father.removeViewsInLayout(0, 1);
- assertEquals(1, father.getChildCount());
- assertNull(son1.getParent());
+ try {
+ parent.removeViewsInLayout(0, -1); // negative count
+ fail("should fail with IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException e) {}
- father.removeViewsInLayout(0, 1);
- assertEquals(0, father.getChildCount());
- assertNull(son2.getParent());
+ try {
+ parent.removeViewsInLayout(1, 2); // past end
+ fail("should fail with IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException e) {}
+ assertEquals(2, parent.getChildCount()); // child list unmodified
+
+ parent.removeViewsInLayout(0, 1);
+ assertEquals(1, parent.getChildCount());
+ assertNull(child1.getParent());
+
+ parent.removeViewsInLayout(0, 1);
+ assertEquals(0, parent.getChildCount());
+ assertNull(child2.getParent());
}
public void testRequestChildFocus() {
@@ -1286,13 +1317,13 @@
}
public void testRequestDisallowInterceptTouchEvent() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockView son = new MockView(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockView child = new MockView(mContext);
- father.addView(son);
- son.requestDisallowInterceptTouchEvent(true);
- son.requestDisallowInterceptTouchEvent(false);
- assertTrue(father.isRequestDisallowInterceptTouchEventCalled);
+ parent.addView(child);
+ child.requestDisallowInterceptTouchEvent(true);
+ child.requestDisallowInterceptTouchEvent(false);
+ assertTrue(parent.isRequestDisallowInterceptTouchEventCalled);
}
public void testRequestFocus() {
@@ -1303,13 +1334,13 @@
}
public void testRequestTransparentRegion() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockView son1 = new MockView(mContext);
- MockView son2 = new MockView(mContext);
- son1.addView(son2);
- father.addView(son1);
- son1.requestTransparentRegion(son2);
- assertTrue(father.isRequestTransparentRegionCalled);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockView child1 = new MockView(mContext);
+ MockView child2 = new MockView(mContext);
+ child1.addView(child2);
+ parent.addView(child1);
+ child1.requestTransparentRegion(child2);
+ assertTrue(parent.isRequestTransparentRegionCalled);
}
public void testScheduleLayoutAnimation() {
@@ -1476,15 +1507,15 @@
}
public void testSetOnHierarchyChangeListener() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
MockOnHierarchyChangeListener listener = new MockOnHierarchyChangeListener();
- father.setOnHierarchyChangeListener(listener);
- father.addView(son);
+ parent.setOnHierarchyChangeListener(listener);
+ parent.addView(child);
- father.removeDetachedView(son, false);
- assertSame(father, listener.sParent);
- assertSame(son, listener.sChild);
+ parent.removeDetachedView(child, false);
+ assertSame(parent, listener.sParent);
+ assertSame(child, listener.sChild);
}
public void testSetPadding() {
@@ -1595,12 +1626,12 @@
}
public void testShowContextMenuForChild() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
- father.addView(son);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
+ parent.addView(child);
- son.showContextMenuForChild(null);
- assertTrue(father.isShowContextMenuForChildCalled);
+ child.showContextMenuForChild(null);
+ assertTrue(parent.isShowContextMenuForChildCalled);
}
public void testStartLayoutAnimation() {
@@ -1616,24 +1647,24 @@
}
public void testUpdateViewLayout() {
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
- father.addView(son);
+ parent.addView(child);
LayoutParams param = new LayoutParams(100, 200);
- father.updateViewLayout(son, param);
- assertEquals(param.width, son.getLayoutParams().width);
- assertEquals(param.height, son.getLayoutParams().height);
+ parent.updateViewLayout(child, param);
+ assertEquals(param.width, child.getLayoutParams().width);
+ assertEquals(param.height, child.getLayoutParams().height);
}
public void testDebug() {
final int EXPECTED = 100;
- MockViewGroup father = new MockViewGroup(mContext);
- MockViewGroup son = new MockViewGroup(mContext);
- father.addView(son);
+ MockViewGroup parent = new MockViewGroup(mContext);
+ MockViewGroup child = new MockViewGroup(mContext);
+ parent.addView(child);
- father.debug(EXPECTED);
- assertEquals(EXPECTED + 1, son.debugDepth);
+ parent.debug(EXPECTED);
+ assertEquals(EXPECTED + 1, child.debugDepth);
}
public void testDispatchKeyEventPreIme() {
diff --git a/tests/tests/widget/src/android/widget/cts/TextViewTest.java b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
index efa4aeb..0ada600 100644
--- a/tests/tests/widget/src/android/widget/cts/TextViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
@@ -24,6 +24,7 @@
import android.app.Instrumentation;
import android.app.Instrumentation.ActivityMonitor;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.content.res.ColorStateList;
import android.content.res.Resources.NotFoundException;
import android.cts.util.PollingCheck;
@@ -4452,9 +4453,18 @@
public void testSetGetBreakStrategy() {
TextView tv = new TextView(mActivity);
+ final PackageManager pm = getInstrumentation().getTargetContext().getPackageManager();
+
// 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());
+ // TextView except for Android Wear. The default value for Android Wear is
+ // BREAK_STRATEGY_BALANCED.
+ if (pm.hasSystemFeature(PackageManager.FEATURE_WATCH)) {
+ // Android Wear
+ assertEquals(Layout.BREAK_STRATEGY_BALANCED, tv.getBreakStrategy());
+ } else {
+ // All other form factor.
+ assertEquals(Layout.BREAK_STRATEGY_HIGH_QUALITY, tv.getBreakStrategy());
+ }
tv.setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);
assertEquals(Layout.BREAK_STRATEGY_SIMPLE, tv.getBreakStrategy());