Remove legacy test suite
Summary: Now that gentest has been used to cover all flexbox properties as well as some internal behavior I thought it was time to remove the old CSSLayoutTest.cpp. This removes a huge amount of previously regex transpiled code in favor of the new test suite which does more fine grained assertions and uses the public api. Given that RTL support was added to gentest now I feel confident that the new test suite covers all and more cases than the old one. Reviewed By: lucasr Differential Revision: D3863095 fbshipit-source-id: a2c4f87cd2263b4cc1fcdec4f2a0964f0696472f
This commit is contained in:
committed by
Facebook Github Bot 0
parent
21a05417cd
commit
0be3b1013f
@@ -9,7 +9,8 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "CSSLayout-internal.h"
|
||||
#include "CSSLayout.h"
|
||||
#include "CSSNodeList.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <float.h>
|
||||
@@ -23,6 +24,82 @@ __forceinline const float fmaxf(const float a, const float b) {
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef struct CSSCachedMeasurement {
|
||||
float availableWidth;
|
||||
float availableHeight;
|
||||
CSSMeasureMode widthMeasureMode;
|
||||
CSSMeasureMode heightMeasureMode;
|
||||
|
||||
float computedWidth;
|
||||
float computedHeight;
|
||||
} CSSCachedMeasurement;
|
||||
|
||||
// This value was chosen based on empiracle data. Even the most complicated
|
||||
// layouts should not require more than 16 entries to fit within the cache.
|
||||
enum { CSS_MAX_CACHED_RESULT_COUNT = 16 };
|
||||
|
||||
typedef struct CSSLayout {
|
||||
float position[4];
|
||||
float dimensions[2];
|
||||
CSSDirection direction;
|
||||
|
||||
float computedFlexBasis;
|
||||
|
||||
// Instead of recomputing the entire layout every single time, we
|
||||
// cache some information to break early when nothing changed
|
||||
uint32_t generationCount;
|
||||
CSSDirection lastParentDirection;
|
||||
|
||||
uint32_t nextCachedMeasurementsIndex;
|
||||
CSSCachedMeasurement cachedMeasurements[CSS_MAX_CACHED_RESULT_COUNT];
|
||||
float measuredDimensions[2];
|
||||
|
||||
CSSCachedMeasurement cached_layout;
|
||||
} CSSLayout;
|
||||
|
||||
typedef struct CSSStyle {
|
||||
CSSDirection direction;
|
||||
CSSFlexDirection flexDirection;
|
||||
CSSJustify justifyContent;
|
||||
CSSAlign alignContent;
|
||||
CSSAlign alignItems;
|
||||
CSSAlign alignSelf;
|
||||
CSSPositionType positionType;
|
||||
CSSWrapType flexWrap;
|
||||
CSSOverflow overflow;
|
||||
float flexGrow;
|
||||
float flexShrink;
|
||||
float flexBasis;
|
||||
float margin[CSSEdgeCount];
|
||||
float position[CSSEdgeCount];
|
||||
float padding[CSSEdgeCount];
|
||||
float border[CSSEdgeCount];
|
||||
float dimensions[2];
|
||||
float minDimensions[2];
|
||||
float maxDimensions[2];
|
||||
} CSSStyle;
|
||||
|
||||
typedef struct CSSNode {
|
||||
CSSStyle style;
|
||||
CSSLayout layout;
|
||||
uint32_t lineIndex;
|
||||
bool hasNewLayout;
|
||||
bool isTextNode;
|
||||
CSSNodeRef parent;
|
||||
CSSNodeListRef children;
|
||||
bool isDirty;
|
||||
|
||||
struct CSSNode *nextChild;
|
||||
|
||||
CSSSize (*measure)(void *context,
|
||||
float width,
|
||||
CSSMeasureMode widthMode,
|
||||
float height,
|
||||
CSSMeasureMode heightMode);
|
||||
void (*print)(void *context);
|
||||
void *context;
|
||||
} CSSNode;
|
||||
|
||||
static float
|
||||
computedEdgeValue(const float edges[CSSEdgeCount], const CSSEdge edge, const float defaultValue) {
|
||||
CSS_ASSERT(edge <= CSSEdgeEnd, "Cannot get computed value of multi-edge shorthands");
|
||||
|
Reference in New Issue
Block a user