From ea9a6ce06f45184d09c3ce1e7b567b04107066a3 Mon Sep 17 00:00:00 2001 From: Emil Sjolander Date: Thu, 25 Aug 2016 15:28:43 -0700 Subject: [PATCH] Generate test for justify content Summary: Generate tests for justify content Differential Revision: D3771389 fbshipit-source-id: 2f6c5a38e6899b9ef05b7ad2da9b881c3b71e15c --- tests/CSSLayoutJustifyContentTest.cpp | 470 ++++++++++++++++++++++++++ 1 file changed, 470 insertions(+) create mode 100644 tests/CSSLayoutJustifyContentTest.cpp diff --git a/tests/CSSLayoutJustifyContentTest.cpp b/tests/CSSLayoutJustifyContentTest.cpp new file mode 100644 index 00000000..08b6c3dd --- /dev/null +++ b/tests/CSSLayoutJustifyContentTest.cpp @@ -0,0 +1,470 @@ +/** + * 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, justify_content_row_flex_start) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetFlexDirection(root, CSSFlexDirectionRow); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(10, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(20, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_row_flex_end) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetFlexDirection(root, CSSFlexDirectionRow); + CSSNodeStyleSetJustifyContent(root, CSSJustifyFlexEnd); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(72, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(82, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(92, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_row_center) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetFlexDirection(root, CSSFlexDirectionRow); + CSSNodeStyleSetJustifyContent(root, CSSJustifyCenter); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(36, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(46, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(56, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_row_space_between) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetFlexDirection(root, CSSFlexDirectionRow); + CSSNodeStyleSetJustifyContent(root, CSSJustifySpaceBetween); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(46, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(92, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_row_space_around) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetFlexDirection(root, CSSFlexDirectionRow); + CSSNodeStyleSetJustifyContent(root, CSSJustifySpaceAround); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetWidth(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(12, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(46, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(80, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_column_flex_start) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(0, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_column_flex_end) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetJustifyContent(root, CSSJustifyFlexEnd); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(72, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(82, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(92, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_column_center) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetJustifyContent(root, CSSJustifyCenter); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(36, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(46, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(56, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_column_space_between) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetJustifyContent(root, CSSJustifySpaceBetween); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(46, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(92, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child2)); +} + +TEST(CSSLayoutTest, justify_content_column_space_around) { + const CSSNodeRef root = CSSNodeNew(); + CSSNodeStyleSetJustifyContent(root, CSSJustifySpaceAround); + CSSNodeStyleSetWidth(root, 102); + CSSNodeStyleSetHeight(root, 102); + + const CSSNodeRef root_child0 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child0, 10); + CSSNodeInsertChild(root, root_child0, 0); + + const CSSNodeRef root_child1 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child1, 10); + CSSNodeInsertChild(root, root_child1, 1); + + const CSSNodeRef root_child2 = CSSNodeNew(); + CSSNodeStyleSetHeight(root_child2, 10); + CSSNodeInsertChild(root, root_child2, 2); + CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root)); + ASSERT_EQ(0, CSSNodeLayoutGetTop(root)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root)); + ASSERT_EQ(102, CSSNodeLayoutGetHeight(root)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0)); + ASSERT_EQ(12, CSSNodeLayoutGetTop(root_child0)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child0)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child0)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child1)); + ASSERT_EQ(46, CSSNodeLayoutGetTop(root_child1)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child1)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child1)); + + ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child2)); + ASSERT_EQ(80, CSSNodeLayoutGetTop(root_child2)); + ASSERT_EQ(102, CSSNodeLayoutGetWidth(root_child2)); + ASSERT_EQ(10, CSSNodeLayoutGetHeight(root_child2)); +}