CTS coverage for MarginLayoutParams.resolveLayoutDirection
Change-Id: I775cc6e4bda573a84ab66393dc606aff006dd86d
diff --git a/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java b/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java
index 0420a4a..2bf3f8b 100644
--- a/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewGroup_MarginLayoutParamsTest.java
@@ -170,4 +170,40 @@
assertEquals(true, mMarginLayoutParams.isMarginRelative());
}
+
+ public void testResolveMarginsExplicit() {
+ // LTR / relative margin case
+ mMarginLayoutParams = new ViewGroup.MarginLayoutParams(320, 480);
+ mMarginLayoutParams.setMargins(0, 30, 0, 140);
+ mMarginLayoutParams.setMarginStart(20);
+ mMarginLayoutParams.setMarginEnd(120);
+ mMarginLayoutParams.resolveLayoutDirection(View.LAYOUT_DIRECTION_LTR);
+
+ assertEquals(20, mMarginLayoutParams.getMarginStart());
+ assertEquals(30, mMarginLayoutParams.topMargin);
+ assertEquals(120, mMarginLayoutParams.getMarginEnd());
+ assertEquals(140, mMarginLayoutParams.bottomMargin);
+
+ assertEquals(20, mMarginLayoutParams.leftMargin);
+ assertEquals(120, mMarginLayoutParams.rightMargin);
+
+ assertEquals(true, mMarginLayoutParams.isMarginRelative());
+
+ // RTL / relative margin case
+ mMarginLayoutParams = new ViewGroup.MarginLayoutParams(320, 480);
+ mMarginLayoutParams.setMargins(0, 30, 0, 140);
+ mMarginLayoutParams.setMarginStart(20);
+ mMarginLayoutParams.setMarginEnd(120);
+ mMarginLayoutParams.resolveLayoutDirection(View.LAYOUT_DIRECTION_RTL);
+
+ assertEquals(20, mMarginLayoutParams.getMarginStart());
+ assertEquals(30, mMarginLayoutParams.topMargin);
+ assertEquals(120, mMarginLayoutParams.getMarginEnd());
+ assertEquals(140, mMarginLayoutParams.bottomMargin);
+
+ assertEquals(120, mMarginLayoutParams.leftMargin);
+ assertEquals(20, mMarginLayoutParams.rightMargin);
+
+ assertEquals(true, mMarginLayoutParams.isMarginRelative());
+ }
}