mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-02 09:21:44 +08:00
Add missing textAlignVertical support on android textview
Summary:Add missing implementation of `textAlignVertical` style prop for `Text`-component.
According to the [docs](https://facebook.github.io/react-native/docs/text.html#style) it should be implemented but was only added for `TextInput` in f453e14c8f.
Closes https://github.com/facebook/react-native/pull/6105
Differential Revision: D3029783
Pulled By: dmmiller
fb-gh-sync-id: 29bcd50a7280c890707f811bcfc7a3d5c5be5142
shipit-source-id: 29bcd50a7280c890707f811bcfc7a3d5c5be5142
This commit is contained in:
committed by
Facebook Github Bot 4
parent
8c2e531542
commit
d20bde3f2e
@@ -289,26 +289,45 @@ public class ReactTextInputPropertyTest {
|
||||
@Test
|
||||
public void testTextAlign() {
|
||||
ReactEditText view = mManager.createViewInstance(mThemedContext);
|
||||
int gravity = view.getGravity();
|
||||
assertThat(view.getGravity() & Gravity.BOTTOM).isNotEqualTo(Gravity.BOTTOM);
|
||||
int defaultGravity = view.getGravity();
|
||||
int defaultHorizontalGravity = defaultGravity & Gravity.HORIZONTAL_GRAVITY_MASK;
|
||||
int defaultVerticalGravity = defaultGravity & Gravity.VERTICAL_GRAVITY_MASK;
|
||||
|
||||
mManager.updateProperties(view, buildStyles("textAlignVertical", "bottom"));
|
||||
assertThat(view.getGravity() & Gravity.BOTTOM).isEqualTo(Gravity.BOTTOM);
|
||||
|
||||
mManager.updateProperties(
|
||||
view,
|
||||
buildStyles("textAlign", "right", "textAlignVertical", "top"));
|
||||
assertThat(view.getGravity() & Gravity.BOTTOM).isNotEqualTo(Gravity.BOTTOM);
|
||||
assertThat(view.getGravity() & (Gravity.RIGHT | Gravity.TOP))
|
||||
.isEqualTo(Gravity.RIGHT | Gravity.TOP);
|
||||
|
||||
mManager.updateProperties(
|
||||
view,
|
||||
buildStyles("textAlignVertical", null));
|
||||
assertThat(view.getGravity() & Gravity.RIGHT).isEqualTo(Gravity.RIGHT);
|
||||
assertThat(view.getGravity() & Gravity.TOP).isNotEqualTo(Gravity.TOP);
|
||||
// Theme
|
||||
assertThat(view.getGravity()).isNotEqualTo(Gravity.NO_GRAVITY);
|
||||
|
||||
// TextAlign
|
||||
mManager.updateProperties(view, buildStyles("textAlign", "left"));
|
||||
assertThat(view.getGravity() & Gravity.HORIZONTAL_GRAVITY_MASK).isEqualTo(Gravity.LEFT);
|
||||
mManager.updateProperties(view, buildStyles("textAlign", "right"));
|
||||
assertThat(view.getGravity() & Gravity.HORIZONTAL_GRAVITY_MASK).isEqualTo(Gravity.RIGHT);
|
||||
mManager.updateProperties(view, buildStyles("textAlign", "center"));
|
||||
assertThat(view.getGravity() & Gravity.HORIZONTAL_GRAVITY_MASK).isEqualTo(Gravity.CENTER_HORIZONTAL);
|
||||
mManager.updateProperties(view, buildStyles("textAlign", null));
|
||||
assertThat(view.getGravity()).isEqualTo(gravity);
|
||||
assertThat(view.getGravity() & Gravity.HORIZONTAL_GRAVITY_MASK).isEqualTo(defaultHorizontalGravity);
|
||||
|
||||
// TextAlignVertical
|
||||
mManager.updateProperties(view, buildStyles("textAlignVertical", "top"));
|
||||
assertThat(view.getGravity() & Gravity.VERTICAL_GRAVITY_MASK).isEqualTo(Gravity.TOP);
|
||||
mManager.updateProperties(view, buildStyles("textAlignVertical", "bottom"));
|
||||
assertThat(view.getGravity() & Gravity.VERTICAL_GRAVITY_MASK).isEqualTo(Gravity.BOTTOM);
|
||||
mManager.updateProperties(view, buildStyles("textAlignVertical", "center"));
|
||||
assertThat(view.getGravity() & Gravity.VERTICAL_GRAVITY_MASK).isEqualTo(Gravity.CENTER_VERTICAL);
|
||||
mManager.updateProperties(view, buildStyles("textAlignVertical", null));
|
||||
assertThat(view.getGravity() & Gravity.VERTICAL_GRAVITY_MASK).isEqualTo(defaultVerticalGravity);
|
||||
|
||||
// TextAlign + TextAlignVertical
|
||||
mManager.updateProperties(
|
||||
view,
|
||||
buildStyles("textAlign", "center", "textAlignVertical", "center"));
|
||||
assertThat(view.getGravity()).isEqualTo(Gravity.CENTER);
|
||||
mManager.updateProperties(
|
||||
view,
|
||||
buildStyles("textAlign", "right", "textAlignVertical", "bottom"));
|
||||
assertThat(view.getGravity()).isEqualTo(Gravity.RIGHT | Gravity.BOTTOM);
|
||||
mManager.updateProperties(
|
||||
view,
|
||||
buildStyles("textAlign", null, "textAlignVertical", null));
|
||||
assertThat(view.getGravity()).isEqualTo(defaultGravity);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user