Summary: X-link: https://github.com/facebook/react-native/pull/47895 Pull Request resolved: https://github.com/facebook/yoga/pull/1750 These APIs were only added so that we could do TDD as we work on intrinsic sizing functionality. As of right now they do nothing. We are aiming on publishing a new version of Yoga soon so for the time being we are going to back these out so as not to confuse anyone with this new functionality. Ideally we get to a point where we have some temporary experimental header to stage these in but this is a bit time sensitive so just backing out for now Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D66332307 fbshipit-source-id: 1d596964e0c893091c541988506e8b80fa6d1957
132 lines
3.3 KiB
C++
132 lines
3.3 KiB
C++
/*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#include <gtest/gtest.h>
|
|
#include <yoga/style/StyleValuePool.h>
|
|
|
|
namespace facebook::yoga {
|
|
|
|
TEST(StyleValuePool, undefined_at_init) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
EXPECT_TRUE(handle.isUndefined());
|
|
EXPECT_FALSE(handle.isDefined());
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::undefined());
|
|
EXPECT_EQ(pool.getNumber(handle), FloatOptional{});
|
|
}
|
|
|
|
TEST(StyleValuePool, auto_at_init) {
|
|
StyleValuePool pool;
|
|
auto handle = StyleValueHandle::ofAuto();
|
|
|
|
EXPECT_TRUE(handle.isAuto());
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::ofAuto());
|
|
}
|
|
|
|
TEST(StyleValuePool, store_small_int_points) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::points(10));
|
|
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::points(10));
|
|
}
|
|
|
|
TEST(StyleValuePool, store_small_negative_int_points) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::points(-10));
|
|
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::points(-10));
|
|
}
|
|
|
|
TEST(StyleValuePool, store_small_int_percent) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::percent(10));
|
|
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::percent(10));
|
|
}
|
|
|
|
TEST(StyleValuePool, store_large_int_percent) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::percent(262144));
|
|
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::percent(262144));
|
|
}
|
|
|
|
TEST(StyleValuePool, store_large_int_after_small_int) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::percent(10));
|
|
pool.store(handle, StyleLength::percent(262144));
|
|
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::percent(262144));
|
|
}
|
|
|
|
TEST(StyleValuePool, store_small_int_after_large_int) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::percent(262144));
|
|
pool.store(handle, StyleLength::percent(10));
|
|
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::percent(10));
|
|
}
|
|
|
|
TEST(StyleValuePool, store_small_int_number) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, FloatOptional{10.0f});
|
|
|
|
EXPECT_EQ(pool.getNumber(handle), FloatOptional{10.0f});
|
|
}
|
|
|
|
TEST(StyleValuePool, store_undefined) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::undefined());
|
|
|
|
EXPECT_TRUE(handle.isUndefined());
|
|
EXPECT_FALSE(handle.isDefined());
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::undefined());
|
|
}
|
|
|
|
TEST(StyleValuePool, store_undefined_after_small_int) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::points(10));
|
|
pool.store(handle, StyleLength::undefined());
|
|
|
|
EXPECT_TRUE(handle.isUndefined());
|
|
EXPECT_FALSE(handle.isDefined());
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::undefined());
|
|
}
|
|
|
|
TEST(StyleValuePool, store_undefined_after_large_int) {
|
|
StyleValuePool pool;
|
|
StyleValueHandle handle;
|
|
|
|
pool.store(handle, StyleLength::points(262144));
|
|
pool.store(handle, StyleLength::undefined());
|
|
|
|
EXPECT_TRUE(handle.isUndefined());
|
|
EXPECT_FALSE(handle.isDefined());
|
|
EXPECT_EQ(pool.getLength(handle), StyleLength::undefined());
|
|
}
|
|
|
|
} // namespace facebook::yoga
|