void calculateLayout() { calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED); }
private static void setDirection(InternalNode node, YogaDirection direction) { node.layoutDirection(direction); node.calculateLayout(); }
private static void setDirection(InternalNode node, YogaDirection direction) { node.layoutDirection(direction); node.calculateLayout(); node.markLayoutSeen(); }
@Test public void testFloatDimenWidthAttribute() { Column column = Column.create(mContext).widthAttr(undefinedAttrDimen, test_dimen_float).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(test_dimen_float); assertThat(node.getWidth()).isEqualTo(dimen); }
@Test public void testFloatDimenWidthRes() { Column column = Column.create(mContext).widthRes(test_dimen_float).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(test_dimen_float); assertThat(node.getWidth()).isEqualTo(dimen); }
@Test public void testFloatDimenPaddingAttribute() { Column column = Column.create(mContext).paddingAttr(LEFT, undefinedAttrDimen, test_dimen_float).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(test_dimen_float); assertThat(node.getPaddingLeft()).isEqualTo(dimen); } }
@Test public void testCopyIntoTrasferLayoutDirectionIfNotSetOnTheHolderOrOnTheNestedTree() { InternalNode holderNode = acquireInternalNode(); InternalNode nestedTree = acquireInternalNode(); holderNode.calculateLayout(); holderNode.copyInto(nestedTree); assertThat(isFlagSet(holderNode, "PFLAG_LAYOUT_DIRECTION_IS_SET")).isFalse(); assertThat(isFlagSet(nestedTree, "PFLAG_LAYOUT_DIRECTION_IS_SET")).isTrue(); }
@Test public void testResolveDimenAttribute() { Column column = Column.create(mContext).widthAttr(testAttrDimen, default_dimen).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(R.dimen.test_dimen); assertThat((int) node.getWidth()).isEqualTo(dimen); }
@Test public void testDefaultDimenWidthRes() { Column column = Column.create(mContext).widthRes(test_dimen).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(test_dimen); assertThat(node.getWidth()).isEqualTo(dimen); }
@Test public void testDefaultDimenAttribute() { Column column = Column.create(mContext).widthAttr(undefinedAttrDimen, test_dimen).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(R.dimen.test_dimen); assertThat((int) node.getWidth()).isEqualTo(dimen); }
@Test public void testDefaultDimenPaddingRes() { Column column = Column.create(mContext).paddingRes(LEFT, test_dimen).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(test_dimen); assertThat(node.getWidth()).isEqualTo(dimen); }
@Test public void testFloatDimenPaddingRes() { Column column = Column.create(mContext).paddingRes(LEFT, test_dimen_float).build(); InternalNode node = Layout.create(mContext, column); node.calculateLayout(); int dimen = mContext.getResources().getDimensionPixelSize(test_dimen_float); assertThat(node.getPaddingLeft()).isEqualTo(dimen); } }
@Test public void setNestedTreeDoesntTransferLayoutDirectionIfExplicitlySetOnNestedNode() { InternalNode holderNode = acquireInternalNode(); InternalNode nestedTree = acquireInternalNode(); nestedTree.layoutDirection(RTL); holderNode.calculateLayout(); holderNode.setNestedTree(nestedTree); assertThat(isFlagSet(holderNode, "PFLAG_LAYOUT_DIRECTION_IS_SET")).isFalse(); assertThat(holderNode.getStyleDirection()).isEqualTo(INHERIT); assertThat(nestedTree.getStyleDirection()).isEqualTo(RTL); }
@Test public void testStyleLayout() { Component component = Text.create(mContext, 0, PaddingStyle).text("text").build(); InternalNode node = (InternalNode) component.resolve(mContext); node.calculateLayout(); assertThat(node.getPaddingLeft()).isEqualTo(mDimen); }
@Test public void testAttributeStyleLayout() { Component component = Text.create(mContext, testAttrLargePadding, 0).text("text").build(); InternalNode node = (InternalNode) component.resolve(mContext); node.calculateLayout(); assertThat(node.getPaddingLeft()).isEqualTo(mLargeDimen); }
@Test public void testStyleResOverridenByAttrResForLayout() { Component component = Text.create(mContext, testAttrLargePadding, PaddingStyle).text("text").build(); InternalNode node = (InternalNode) component.resolve(mContext); node.calculateLayout(); assertThat(node.getPaddingLeft()).isEqualTo(mLargeDimen); } }
@Test public void testCopyIntoNestedTreeTransferLayoutDirectionIfExplicitlySetOnHolderNode() { InternalNode holderNode = acquireInternalNode(); InternalNode nestedTree = acquireInternalNode(); holderNode.layoutDirection(RTL); holderNode.calculateLayout(); holderNode.copyInto(nestedTree); assertThat(nestedTree.getStyleDirection()).isEqualTo(RTL); }
@Test public void testOverrideStyleLayout() { Component component = Text.create(mContext, 0, PaddingStyle) .text("text") .paddingPx(ALL, mDimen * 2) .build(); InternalNode node = (InternalNode) component.resolve(mContext); node.calculateLayout(); assertThat(node.getPaddingLeft()).isEqualTo(2 * mDimen); }
@Test public void testOverrideAttributeStyleLayout() { Component component = Text.create(mContext, testAttrLargePadding, 0) .text("text") .paddingPx(ALL, mDimen * 2) .build(); InternalNode node = (InternalNode) component.resolve(mContext); node.calculateLayout(); assertThat(node.getPaddingLeft()).isEqualTo(2 * mDimen); }
root.calculateLayout( SizeSpec.getMode(widthSpec) == SizeSpec.UNSPECIFIED ? YogaConstants.UNDEFINED