From 4dd147e92aa8d14b5d2ac51c8404d0f18891826e Mon Sep 17 00:00:00 2001 From: Christopher Chedeau Date: Tue, 22 Apr 2014 09:53:54 -0700 Subject: [PATCH] multiple flex and margin --- src/Layout.js | 8 ++++---- src/__tests__/Layout-test.js | 12 ++++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/Layout.js b/src/Layout.js index 58a7a188..65929afd 100755 --- a/src/Layout.js +++ b/src/Layout.js @@ -193,7 +193,9 @@ var computeLayout = (function() { } else { flexibleChildrenCount++; mainContentDim += getPadding(child, leading[mainAxis]) + - getPadding(child, trailing[mainAxis]); + getPadding(child, trailing[mainAxis]) + + getMargin(child, leading[mainAxis]) + + getMargin(child, trailing[mainAxis]); } } @@ -210,9 +212,7 @@ var computeLayout = (function() { for (var/*int*/ i = 0; i < node.children.length; ++i) { var/*css_node_t**/ child = node.children[i]; if (getFlex(child)) { - child.layout[dim[mainAxis]] = flexibleMainDim - - getMargin(child, leading[mainAxis]) - - getMargin(child, trailing[mainAxis]) + + child.layout[dim[mainAxis]] = flexibleMainDim + getPadding(child, leading[mainAxis]) + getPadding(child, trailing[mainAxis]); layoutNode(child); diff --git a/src/__tests__/Layout-test.js b/src/__tests__/Layout-test.js index a2772195..7008428b 100755 --- a/src/__tests__/Layout-test.js +++ b/src/__tests__/Layout-test.js @@ -632,6 +632,18 @@ describe('Layout', function() { ); }); + it('should layout node with multiple flex and margin', function() { + testLayout( + {style: {width: 700, flexDirection: 'row'}, children: [ + {style: {flex: 1}}, + {style: {marginLeft: 5, flex: 1}} + ]}, + {width: 700, height: 0, top: 0, left: 0, children: [ + {width: 347.5, height: 0, top: 0, left: 0}, + {width: 347.5, height: 0, top: 0, left: 352.5} + ]} + ) + }); it('should layout randomly', function() { function RNG(seed) {