Fix test util to measure text properly based on flex direction (#1768)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1768 Depending on the flex direction text will either be capped to the measured size or to the longest word, so I added that functionality Reviewed By: mlord93 Differential Revision: D67106199 fbshipit-source-id: 0b4691768809004043a847f3fc5f7b94e92f1575
This commit is contained in:
committed by
Facebook GitHub Bot
parent
13f4adbbcd
commit
909e4bea6e
@@ -5,17 +5,23 @@
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import {MeasureMode} from 'yoga-layout';
|
||||
import {FlexDirection, MeasureMode} from 'yoga-layout';
|
||||
|
||||
type MeasureContext = {
|
||||
text: string;
|
||||
flexDirection: FlexDirection;
|
||||
};
|
||||
|
||||
export function instrinsicSizeMeasureFunc(
|
||||
this: string,
|
||||
this: MeasureContext,
|
||||
width: number,
|
||||
widthMode: MeasureMode,
|
||||
height: number,
|
||||
heightMode: MeasureMode,
|
||||
): {width: number; height: number} {
|
||||
const textLength = this.length;
|
||||
const words = this.split(' ');
|
||||
const textLength = this.text.length;
|
||||
const words = this.text.split(' ');
|
||||
const flexDirection = this.flexDirection;
|
||||
const widthPerChar = 10;
|
||||
const heightPerChar = 10;
|
||||
|
||||
@@ -53,7 +59,10 @@ export function instrinsicSizeMeasureFunc(
|
||||
return heightPerChar;
|
||||
}
|
||||
|
||||
const maxLineWidth = Math.max(longestWordWidth(), measuredWidth);
|
||||
const maxLineWidth =
|
||||
flexDirection == FlexDirection.Column
|
||||
? measuredWidth
|
||||
: Math.max(longestWordWidth(), measuredWidth);
|
||||
|
||||
//if fixed width < width of widest word, take width of widest word
|
||||
|
||||
|
Reference in New Issue
Block a user