#include "chrome/browser/vr/ui_scene.h"
#include <numbers>
#include <utility>
#include <vector>
#include "base/test/gtest_util.h"
#include "base/values.h"
#include "chrome/browser/vr/databinding/binding.h"
#include "chrome/browser/vr/elements/draw_phase.h"
#include "chrome/browser/vr/elements/transient_element.h"
#include "chrome/browser/vr/elements/ui_element.h"
#include "chrome/browser/vr/elements/viewport_aware_root.h"
#include "chrome/browser/vr/test/animation_utils.h"
#include "chrome/browser/vr/test/constants.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/geometry/transform_util.h"
#include "ui/gfx/geometry/vector3d_f.h"
#define TOLERANCE …
#define EXPECT_VEC3F_NEAR(a, b) …
namespace vr {
namespace {
size_t NumElementsInSubtree(UiElement* element) { … }
class AlwaysDirty : public UiElement { … };
}
TEST(UiScene, AddRemoveElements) { … }
TEST(UiScene, IsVisibleInHiddenSubtree) { … }
TEST(UiScene, ParentTransformAppliesToChild) { … }
TEST(UiScene, Opacity) { … }
TEST(UiScene, NoViewportAwareElementWhenNoVisibleChild) { … }
TEST(UiScene, InvisibleElementsDoNotCauseAnimationDirtiness) { … }
TEST(UiScene, InvisibleElementsDoNotCauseBindingDirtiness) { … }
TEST(UiScene, InvisibleElementsDoNotCauseOnBeginFrameDirtiness) { … }
AlignmentTestCase;
class AlignmentTest : public ::testing::TestWithParam<AlignmentTestCase> { … };
TEST_P(AlignmentTest, VerifyCorrectPosition) { … }
const std::vector<AlignmentTestCase> alignment_test_cases = …;
INSTANTIATE_TEST_SUITE_P(…);
}