From d33befeb987a2e4ecc35a0b0a6e0f2a634525581 Mon Sep 17 00:00:00 2001 From: Emil Sjolander Date: Thu, 25 Aug 2016 15:28:41 -0700 Subject: [PATCH] Generate test for align self Summary: Generate tests for align self Differential Revision: D3771377 fbshipit-source-id: eaeec8a7ac5609bd8dd95d31500054510ab749d9 --- tests/CSSLayoutAlignSelfTest.cpp | 123 +++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 tests/CSSLayoutAlignSelfTest.cpp diff --git a/tests/CSSLayoutAlignSelfTest.cpp b/tests/CSSLayoutAlignSelfTest.cpp new file mode 100644 index 00000000..45a3c33b --- /dev/null +++ b/tests/CSSLayoutAlignSelfTest.cpp @@ -0,0 +1,123 @@ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +/** + * @Generated by gentest/gentest.sh with the following input + * + *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * + */ + +#include +#include +#include + +TEST(CSSLayoutTest, align_self_center) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetWidth(root, 100); + CSSNodeStyleSetHeight(root, 100); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetAlignSelf(root_child0, CSSAlignCenter); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(100, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(100, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(45, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); +} + +TEST(CSSLayoutTest, align_self_flex_end) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetWidth(root, 100); + CSSNodeStyleSetHeight(root, 100); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetAlignSelf(root_child0, CSSAlignFlexEnd); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(100, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(100, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(90, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); +} + +TEST(CSSLayoutTest, align_self_flex_start) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetWidth(root, 100); + CSSNodeStyleSetHeight(root, 100); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetAlignSelf(root_child0, CSSAlignFlexStart); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(100, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(100, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); +} + +TEST(CSSLayoutTest, align_self_flex_end_override_flex_start) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetAlignItems(root, CSSAlignFlexStart); + CSSNodeStyleSetWidth(root, 100); + CSSNodeStyleSetHeight(root, 100); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetAlignSelf(root_child0, CSSAlignFlexEnd); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(100, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(100, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(90, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); +}