From 287c48f7e3f9b7bc9471b3a3f5b0192041bbf003 Mon Sep 17 00:00:00 2001 From: Nick Gerleman Date: Wed, 28 Dec 2022 01:29:36 -0800 Subject: [PATCH] Remove yoga/internal/experiments (#1195) Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1195 These files are remnants of experimentation functions from D16687367 (https://github.com/facebook/yoga/commit/dcfdb955b3a2c0808857e7dedea50e75b1f4f72d). They do not seem to be included anywhere anymore, and we already have a YGExperimentalFeature setter in config we can use in the more common case. Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D42241980 fbshipit-source-id: 482984b9a619dba8042e9166aee02a5e75e761ee --- tests/InternalTest.cpp | 49 --------------------------------- yoga/internal/experiments-inl.h | 32 --------------------- yoga/internal/experiments.cpp | 38 ------------------------- yoga/internal/experiments.h | 26 ----------------- 4 files changed, 145 deletions(-) delete mode 100644 tests/InternalTest.cpp delete mode 100644 yoga/internal/experiments-inl.h delete mode 100644 yoga/internal/experiments.cpp delete mode 100644 yoga/internal/experiments.h diff --git a/tests/InternalTest.cpp b/tests/InternalTest.cpp deleted file mode 100644 index 7ddb24de..00000000 --- a/tests/InternalTest.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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 -#include - -using namespace facebook::yoga::internal; - -struct YogaInternalTest : public testing::Test { - void SetUp() override; -}; - -TEST_F(YogaInternalTest, experiments_are_initially_disabled) { - ASSERT_EQ(isEnabled(Experiment::kDoubleMeasureCallbacks), false); -} - -TEST_F(YogaInternalTest, experiments_are_can_be_enabled) { - enable(Experiment::kDoubleMeasureCallbacks); - ASSERT_EQ(isEnabled(Experiment::kDoubleMeasureCallbacks), true); -} - -TEST_F(YogaInternalTest, experiments_are_can_be_disabled) { - enable(Experiment::kDoubleMeasureCallbacks); - disable(Experiment::kDoubleMeasureCallbacks); - - ASSERT_EQ(isEnabled(Experiment::kDoubleMeasureCallbacks), false); -} - -TEST_F(YogaInternalTest, experiments_are_can_be_toggled_on) { - disable(Experiment::kDoubleMeasureCallbacks); - - ASSERT_EQ(toggle(Experiment::kDoubleMeasureCallbacks), false); - ASSERT_EQ(isEnabled(Experiment::kDoubleMeasureCallbacks), true); -} - -TEST_F(YogaInternalTest, experiments_are_can_be_toggled_off) { - enable(Experiment::kDoubleMeasureCallbacks); - - ASSERT_EQ(toggle(Experiment::kDoubleMeasureCallbacks), true); - ASSERT_EQ(isEnabled(Experiment::kDoubleMeasureCallbacks), false); -} - -void YogaInternalTest::SetUp() { - disableAllExperiments(); -} diff --git a/yoga/internal/experiments-inl.h b/yoga/internal/experiments-inl.h deleted file mode 100644 index 44235590..00000000 --- a/yoga/internal/experiments-inl.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * 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. - */ - -#pragma once - -#include "experiments.h" - -#include - -namespace facebook { -namespace yoga { -namespace internal { - -namespace detail { -extern std::bitset enabledExperiments; -} // namespace detail - -inline bool isEnabled(Experiment experiment) { - return detail::enabledExperiments.test(static_cast(experiment)); -} - -inline void disableAllExperiments() { - detail::enabledExperiments = 0; -} - -} // namespace internal -} // namespace yoga -} // namespace facebook diff --git a/yoga/internal/experiments.cpp b/yoga/internal/experiments.cpp deleted file mode 100644 index 016ea208..00000000 --- a/yoga/internal/experiments.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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 "experiments.h" -#include "experiments-inl.h" - -namespace facebook { -namespace yoga { -namespace internal { - -namespace detail { - -std::bitset enabledExperiments = 0; - -} // namespace detail - -void enable(Experiment experiment) { - detail::enabledExperiments.set(static_cast(experiment)); -} - -void disable(Experiment experiment) { - detail::enabledExperiments.reset(static_cast(experiment)); -} - -bool toggle(Experiment experiment) { - auto bit = static_cast(experiment); - auto previousState = detail::enabledExperiments.test(bit); - detail::enabledExperiments.flip(bit); - return previousState; -} - -} // namespace internal -} // namespace yoga -} // namespace facebook diff --git a/yoga/internal/experiments.h b/yoga/internal/experiments.h deleted file mode 100644 index 2298e247..00000000 --- a/yoga/internal/experiments.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * 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. - */ - -#pragma once - -#include - -namespace facebook { -namespace yoga { -namespace internal { - -enum struct Experiment : size_t { - kDoubleMeasureCallbacks, -}; - -void enable(Experiment); -void disable(Experiment); -bool toggle(Experiment); - -} // namespace internal -} // namespace yoga -} // namespace facebook