diff --git a/gentest/gentest-cpp.js b/gentest/gentest-cpp.js index cef23bcb..37971195 100644 --- a/gentest/gentest-cpp.js +++ b/gentest/gentest-cpp.js @@ -92,6 +92,10 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, { YGEdgeStart:{value:'YGEdgeStart'}, YGEdgeTop:{value:'YGEdgeTop'}, + YGGutterAll:{value:'YGGutterAll'}, + YGGutterColumn:{value:'YGGutterColumn'}, + YGGutterRow:{value:'YGGutterRow'}, + YGFlexDirectionColumn:{value:'YGFlexDirectionColumn'}, YGFlexDirectionColumnReverse:{value:'YGFlexDirectionColumnReverse'}, YGFlexDirectionRow:{value:'YGFlexDirectionRow'}, @@ -242,4 +246,8 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, { YGNodeStyleSetWidth:{value:function(nodeName, value) { this.push('YGNodeStyleSetWidth' + toFunctionName(value) + '(' + nodeName + ', ' + toValueCpp(value) + ');'); }}, + + YGNodeStyleSetGap:{value:function(nodeName, gap, value) { + this.push('YGNodeStyleSetGap' + toFunctionName(value) + '(' + nodeName + ', ' + gap + ', ' + toValueCpp(value) + ');'); + }}, }); diff --git a/gentest/gentest-cs.js b/gentest/gentest-cs.js index 084d13d7..e1c34df0 100644 --- a/gentest/gentest-cs.js +++ b/gentest/gentest-cs.js @@ -105,6 +105,10 @@ CSEmitter.prototype = Object.create(Emitter.prototype, { YGEdgeStart:{value:'Start'}, YGEdgeTop:{value:'Top'}, + YGGutterAll:{value:''}, + YGGutterColumn:{value:'Column'}, + YGGutterRow:{value:'Row'}, + YGFlexDirectionColumn:{value:'YogaFlexDirection.Column'}, YGFlexDirectionColumnReverse:{value:'YogaFlexDirection.ColumnReverse'}, YGFlexDirectionRow:{value:'YogaFlexDirection.Row'}, @@ -251,4 +255,8 @@ CSEmitter.prototype = Object.create(Emitter.prototype, { YGNodeStyleSetWidth:{value:function(nodeName, value) { this.push(nodeName + '.Width = ' + toCsUnitValue(value) + ';'); }}, + + YGNodeStyleSetGap:{value:function(nodeName, gap, value) { + this.push(nodeName + '.' + gap + 'Gap' + ' = ' + toCsUnitValue(value) + ';'); + }}, }); diff --git a/gentest/gentest-java.js b/gentest/gentest-java.js index 809a3402..ec22074e 100644 --- a/gentest/gentest-java.js +++ b/gentest/gentest-java.js @@ -128,6 +128,10 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, { YGEdgeStart:{value:'YogaEdge.START'}, YGEdgeTop:{value:'YogaEdge.TOP'}, + YGGutterAll:{value:'YogaGutter.ALL'}, + YGGutterColumn:{value:'YogaGutter.COLUMN'}, + YGGutterRow:{value:'YogaGutter.ROW'}, + YGFlexDirectionColumn:{value:'YogaFlexDirection.COLUMN'}, YGFlexDirectionColumnReverse:{value:'YogaFlexDirection.COLUMN_REVERSE'}, YGFlexDirectionRow:{value:'YogaFlexDirection.ROW'}, @@ -280,4 +284,8 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, { YGNodeStyleSetWidth:{value:function(nodeName, value) { this.push(nodeName + '.setWidth' + toMethodName(value) + '(' + toValueJava(value) + 'f);'); }}, + + YGNodeStyleSetGap:{value:function(nodeName, gap, value) { + this.push(nodeName + '.setGap' + toMethodName(value) + '(' + gap + ', ' + toValueJava(value) + 'f);'); + }}, }); diff --git a/gentest/gentest-javascript.js b/gentest/gentest-javascript.js index 44dd4089..668173cf 100644 --- a/gentest/gentest-javascript.js +++ b/gentest/gentest-javascript.js @@ -107,6 +107,10 @@ JavascriptEmitter.prototype = Object.create(Emitter.prototype, { YGEdgeStart:{value:'Yoga.EDGE_START'}, YGEdgeTop:{value:'Yoga.EDGE_TOP'}, + YGGutterAll:{value:'Yoga.GUTTER_ALL'}, + YGGutterColumn:{value:'Yoga.GUTTER_COLUMN'}, + YGGutterRow:{value:'Yoga.GUTTER_ROW'}, + YGFlexDirectionColumn:{value:'Yoga.FLEX_DIRECTION_COLUMN'}, YGFlexDirectionColumnReverse:{value:'Yoga.FLEX_DIRECTION_COLUMN_REVERSE'}, YGFlexDirectionRow:{value:'Yoga.FLEX_DIRECTION_ROW'}, @@ -251,4 +255,8 @@ JavascriptEmitter.prototype = Object.create(Emitter.prototype, { YGNodeStyleSetWidth:{value:function(nodeName, value) { this.push(nodeName + '.setWidth(' + toValueJavascript(value) + ');'); }}, + + YGNodeStyleSetGap:{value:function(nodeName, gap, value) { + this.push(nodeName + '.setGap('+ toValueJavascript(gap) + ', ' + toValueJavascript(value) + ');'); + }}, }); diff --git a/gentest/gentest.js b/gentest/gentest.js index b2fef03e..a527be54 100755 --- a/gentest/gentest.js +++ b/gentest/gentest.js @@ -165,6 +165,15 @@ function setupTestTree(e, parent, node, genericNode, nodeName, parentName, index if (!isDefaultStyleValue(style, node.style[style])) { switch (style) { + case 'gap': + e.YGNodeStyleSetGap(nodeName, e.YGGutterAll, pointValue(e, node.style[style])); + break; + case 'column-gap': + e.YGNodeStyleSetGap(nodeName, e.YGGutterColumn, pointValue(e, node.style[style])); + break; + case 'row-gap': + e.YGNodeStyleSetGap(nodeName, e.YGGutterRow, pointValue(e, node.style[style])); + break; case 'direction': e.YGNodeStyleSetDirection(nodeName, directionValue(e, node.style[style])); break; @@ -477,6 +486,8 @@ function calculateTree(root, roundToPixelGrid) { } function getYogaStyle(node) { + // TODO: Relying on computed style means we cannot test shorthand props like + // "padding", "margin", "gap". return [ 'direction', 'flex-direction', @@ -512,6 +523,8 @@ function getYogaStyle(node) { 'height', 'min-height', 'max-height', + 'column-gap', + 'row-gap', 'display', ].reduce(function(map, key) { map[key] = node.style[key] || getComputedStyle(node, null).getPropertyValue(key);