use of com.google.android.flexbox.FlexboxLayout in project flexbox-layout by google.
the class FlexboxAndroidTest method testMaxHeight_works_as_lower_bound_expand_to.
@Test
@FlakyTest
public void testMaxHeight_works_as_lower_bound_expand_to() throws Throwable {
final FlexboxTestActivity activity = mActivityRule.getActivity();
// This test case verifies if the maxHeight attribute works as a upper bound
// when the view would expand more than the maxHeight if the maxHeight weren't set
FlexboxLayout flexboxLayout = createFlexboxLayout(R.layout.activity_maxheight_upper_bound_test);
TextView textView1 = (TextView) activity.findViewById(R.id.text1);
TextView textView2 = (TextView) activity.findViewById(R.id.text2);
int maxHeight = ((FlexboxLayout.LayoutParams) textView1.getLayoutParams()).maxHeight;
onView(withId(R.id.text1)).check(hasHeight(maxHeight));
assertEquals(flexboxLayout.getHeight(), textView1.getHeight() + textView2.getHeight());
}
use of com.google.android.flexbox.FlexboxLayout in project flexbox-layout by google.
the class FlexboxAndroidTest method testJustifyContent_flexStart.
@Test
@FlakyTest
public void testJustifyContent_flexStart() throws Throwable {
FlexboxLayout flexboxLayout = createFlexboxLayout(R.layout.activity_justify_content_test);
assertThat(flexboxLayout.getJustifyContent(), is(FlexboxLayout.JUSTIFY_CONTENT_FLEX_START));
onView(withId(R.id.text1)).check(isTopAlignedWith(withId(R.id.flexbox_layout)));
onView(withId(R.id.text1)).check(isLeftAlignedWith(withId(R.id.flexbox_layout)));
onView(withId(R.id.text2)).check(isRightOf(withId(R.id.text1)));
onView(withId(R.id.text3)).check(isRightOf(withId(R.id.text2)));
}
use of com.google.android.flexbox.FlexboxLayout in project flexbox-layout by google.
the class FlexboxAndroidTest method testDivider_directionRow_verticalMiddle.
@Test
@FlakyTest
public void testDivider_directionRow_verticalMiddle() throws Throwable {
final FlexboxTestActivity activity = mActivityRule.getActivity();
FlexboxLayout flexboxLayout = createFlexboxLayout(R.layout.activity_divider_test_direction_row, new Configuration() {
@Override
public void apply(FlexboxLayout flexboxLayout) {
flexboxLayout.setShowDividerVertical(FlexboxLayout.SHOW_DIVIDER_MIDDLE);
}
});
assertThat(flexboxLayout.getFlexWrap(), is(FlexboxLayout.FLEX_WRAP_WRAP));
assertThat(flexboxLayout.getFlexDirection(), is(FlexboxLayout.FLEX_DIRECTION_ROW));
assertThat(flexboxLayout.getShowDividerVertical(), is(FlexboxLayout.SHOW_DIVIDER_MIDDLE));
TextView text1 = (TextView) activity.findViewById(R.id.text1);
TextView text2 = (TextView) activity.findViewById(R.id.text2);
TextView text3 = (TextView) activity.findViewById(R.id.text3);
Drawable divider = ResourcesCompat.getDrawable(activity.getResources(), R.drawable.divider, null);
assertNotNull(divider);
// Three text views are placed in the first row, thus two vertical middle dividers should
// be placed
int widthSumFirstRow = text1.getWidth() + text2.getWidth() + text3.getWidth() + divider.getIntrinsicWidth() * 2;
assertThat(text3.getRight(), is(widthSumFirstRow));
assertThat(text1.getLeft(), is(flexboxLayout.getLeft()));
}
use of com.google.android.flexbox.FlexboxLayout in project flexbox-layout by google.
the class FlexboxAndroidTest method testDivider_directionColumn_horizontalAll.
@Test
@FlakyTest
public void testDivider_directionColumn_horizontalAll() throws Throwable {
final FlexboxTestActivity activity = mActivityRule.getActivity();
FlexboxLayout flexboxLayout = createFlexboxLayout(R.layout.activity_divider_test_direction_column, new Configuration() {
@Override
public void apply(FlexboxLayout flexboxLayout) {
flexboxLayout.setShowDividerHorizontal(FlexboxLayout.SHOW_DIVIDER_BEGINNING | FlexboxLayout.SHOW_DIVIDER_MIDDLE | FlexboxLayout.SHOW_DIVIDER_END);
}
});
assertThat(flexboxLayout.getFlexWrap(), is(FlexboxLayout.FLEX_WRAP_WRAP));
assertThat(flexboxLayout.getFlexDirection(), is(FlexboxLayout.FLEX_DIRECTION_COLUMN));
assertThat(flexboxLayout.getShowDividerHorizontal(), is(FlexboxLayout.SHOW_DIVIDER_BEGINNING | FlexboxLayout.SHOW_DIVIDER_MIDDLE | FlexboxLayout.SHOW_DIVIDER_END));
TextView text1 = (TextView) activity.findViewById(R.id.text1);
TextView text2 = (TextView) activity.findViewById(R.id.text2);
TextView text3 = (TextView) activity.findViewById(R.id.text3);
Drawable divider = ResourcesCompat.getDrawable(activity.getResources(), R.drawable.divider, null);
assertNotNull(divider);
int heightSumFirstRow = text1.getHeight() + text2.getHeight() + text3.getHeight() + divider.getIntrinsicHeight() * 4;
assertThat(text3.getBottom() + divider.getIntrinsicHeight(), is(heightSumFirstRow));
assertThat(text1.getTop(), is(not(flexboxLayout.getTop())));
}
use of com.google.android.flexbox.FlexboxLayout in project flexbox-layout by google.
the class FlexboxAndroidTest method testAlignItems_flexEnd_wrapReverse.
@Test
@FlakyTest
public void testAlignItems_flexEnd_wrapReverse() throws Throwable {
final FlexboxTestActivity activity = mActivityRule.getActivity();
FlexboxLayout flexboxLayout = createFlexboxLayout(R.layout.activity_align_items_test, new Configuration() {
@Override
public void apply(FlexboxLayout flexboxLayout) {
flexboxLayout.setFlexWrap(FlexboxLayout.FLEX_WRAP_WRAP_REVERSE);
flexboxLayout.setAlignItems(FlexboxLayout.ALIGN_ITEMS_FLEX_END);
}
});
assertThat(flexboxLayout.getAlignItems(), is(FlexboxLayout.ALIGN_ITEMS_FLEX_END));
assertThat(flexboxLayout.getFlexWrap(), is(FlexboxLayout.FLEX_WRAP_WRAP_REVERSE));
onView(withId(R.id.text1)).check(isLeftAlignedWith(withId(R.id.flexbox_layout)));
onView(withId(R.id.text2)).check(isRightOf(withId(R.id.text1)));
onView(withId(R.id.text3)).check(isLeftAlignedWith(withId(R.id.flexbox_layout)));
onView(withId(R.id.text3)).check(isTopAlignedWith(withId(R.id.flexbox_layout)));
// There should be 2 flex lines in the layout with the given layout.
int flexLineSize = flexboxLayout.getHeight() / 2;
TextView textView1 = (TextView) activity.findViewById(R.id.text1);
TextView textView2 = (TextView) activity.findViewById(R.id.text2);
TextView textView3 = (TextView) activity.findViewById(R.id.text3);
assertThat(textView1.getHeight(), not(flexLineSize));
assertThat(textView2.getHeight(), not(flexLineSize));
assertThat(textView3.getHeight(), not(flexLineSize));
assertThat(textView1.getTop(), isEqualAllowingError(flexboxLayout.getHeight() - flexLineSize));
assertThat(textView2.getTop(), isEqualAllowingError(flexboxLayout.getHeight() - flexLineSize));
assertThat(textView3.getTop(), is(0));
}
Aggregations