Normalized C and Java definition of isDimDefined.

The JavaScript implementation of isDimDefined contains a check to ensure
that the dimension value is positive; the C and Java versions did not
have this check. As a result, a negative style value for 'width' (such
as that used by the "should layout node with negative width" test) would
have different layout under the C/Java implementation to the JavaScript
implementation.

This was hidden because the C/Java transpilers filtered out any negative
instantiation values from the test suite. In effect, the negative value
tests weren't running on the C/Java implementation.

This patch removes the negative value filter from the transpiler, and
makes the isDimDefined definition consistent between the three
implementations.
This commit is contained in:
Russell Keith-Magee
2015-03-22 14:36:16 +08:00
parent f5850b56e5
commit 8f6a96adbc
5 changed files with 29 additions and 25 deletions

View File

@@ -2405,6 +2405,7 @@ int main()
css_node_t *root_node = new_test_css_node();
{
css_node_t *node_0 = root_node;
node_0->style.dimensions[CSS_WIDTH] = -31;
init_css_node_children(node_0, 1);
{
css_node_t *node_1;
@@ -3109,6 +3110,7 @@ int main()
css_node_t *node_1;
node_1 = node_0->get_child(node_0->context, 0);
node_1->style.align_self = CSS_ALIGN_FLEX_START;
node_1->style.flex = -2.5;
node_1 = node_0->get_child(node_0->context, 1);
node_1->style.align_self = CSS_ALIGN_FLEX_START;
node_1->style.flex = 0;