Revert D48710084: C++ Cleanup 1/N: Reorganize YGStyle
Differential Revision: D48710084 Original commit changeset: 20961aee30d5 Original Phabricator Diff: D48710084 fbshipit-source-id: 79cda4f13979b8d0cdf87dabbfc13cbd17abe488
This commit is contained in:
committed by
Facebook GitHub Bot
parent
13c5ce2234
commit
2a32637c56
@@ -8,8 +8,9 @@
|
||||
#include <cstdint>
|
||||
#include <type_traits>
|
||||
#include <gtest/gtest.h>
|
||||
#include <yoga/Yoga.h>
|
||||
#include <yoga/style/Style.h>
|
||||
#include <yoga/YGEnums.h>
|
||||
#include <yoga/YGStyle.h>
|
||||
#include <yoga/YGValue.h>
|
||||
|
||||
#define ACCESSOR_TESTS_1(NAME, X) \
|
||||
style.NAME() = X; \
|
||||
@@ -30,14 +31,14 @@
|
||||
#define ACCESSOR_TESTS_N(a, b, c, d, e, COUNT, ...) ACCESSOR_TESTS_##COUNT
|
||||
#define ACCESSOR_TESTS(...) ACCESSOR_TESTS_N(__VA_ARGS__, 5, 4, 3, 2, 1)
|
||||
|
||||
#define INDEX_ACCESSOR_TESTS_1(NAME, IDX, X) \
|
||||
{ \
|
||||
auto style = Style{}; \
|
||||
style.NAME()[IDX] = X; \
|
||||
ASSERT_EQ(style.NAME()[IDX], X); \
|
||||
auto asArray = decltype(std::declval<const Style&>().NAME()){X}; \
|
||||
style.NAME() = asArray; \
|
||||
ASSERT_EQ(static_cast<decltype(asArray)>(style.NAME()), asArray); \
|
||||
#define INDEX_ACCESSOR_TESTS_1(NAME, IDX, X) \
|
||||
{ \
|
||||
auto style = YGStyle{}; \
|
||||
style.NAME()[IDX] = X; \
|
||||
ASSERT_EQ(style.NAME()[IDX], X); \
|
||||
auto asArray = decltype(std::declval<const YGStyle&>().NAME()){X}; \
|
||||
style.NAME() = asArray; \
|
||||
ASSERT_EQ(static_cast<decltype(asArray)>(style.NAME()), asArray); \
|
||||
}
|
||||
|
||||
#define INDEX_ACCESSOR_TESTS_2(NAME, IDX, X, Y) \
|
||||
@@ -63,20 +64,22 @@
|
||||
|
||||
// test macro for up to 5 values. If more are needed, extend the macros above.
|
||||
#define ACCESSOR_TEST(NAME, DEFAULT_VAL, ...) \
|
||||
TEST(Style, style_##NAME##_access) { \
|
||||
auto style = Style{}; \
|
||||
TEST(YGStyle, style_##NAME##_access) { \
|
||||
auto style = YGStyle{}; \
|
||||
ASSERT_EQ(style.NAME(), DEFAULT_VAL); \
|
||||
ACCESSOR_TESTS(__VA_ARGS__)(NAME, __VA_ARGS__) \
|
||||
}
|
||||
|
||||
#define INDEX_ACCESSOR_TEST(NAME, DEFAULT_VAL, IDX, ...) \
|
||||
TEST(Style, style_##NAME##_access) { \
|
||||
ASSERT_EQ(Style{}.NAME()[IDX], DEFAULT_VAL); \
|
||||
TEST(YGStyle, style_##NAME##_access) { \
|
||||
ASSERT_EQ(YGStyle{}.NAME()[IDX], DEFAULT_VAL); \
|
||||
INDEX_ACCESSOR_TESTS(__VA_ARGS__)(NAME, IDX, __VA_ARGS__) \
|
||||
}
|
||||
|
||||
namespace facebook::yoga {
|
||||
|
||||
using CompactValue = detail::CompactValue;
|
||||
|
||||
// TODO: MSVC doesn't like the macros
|
||||
#ifndef _MSC_VER
|
||||
|
||||
|
Reference in New Issue
Block a user