values must be positive
This commit is contained in:
parent
abe27cdc26
commit
06fb313d3e
4 changed files with 9 additions and 15 deletions
|
|
@ -368,8 +368,8 @@ func (c *compiler) compileReserved(attrs *d2graph.Attributes, f *d2ir.Field) {
|
||||||
c.errorf(scalar, "non-integer rows %#v: %s", scalar.ScalarString(), err)
|
c.errorf(scalar, "non-integer rows %#v: %s", scalar.ScalarString(), err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if v < 0 {
|
if v <= 0 {
|
||||||
c.errorf(scalar, "rows must be a non-negative integer: %#v", scalar.ScalarString())
|
c.errorf(scalar, "rows must be a positive integer: %#v", scalar.ScalarString())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
attrs.Rows = &d2graph.Scalar{}
|
attrs.Rows = &d2graph.Scalar{}
|
||||||
|
|
@ -381,8 +381,8 @@ func (c *compiler) compileReserved(attrs *d2graph.Attributes, f *d2ir.Field) {
|
||||||
c.errorf(scalar, "non-integer columns %#v: %s", scalar.ScalarString(), err)
|
c.errorf(scalar, "non-integer columns %#v: %s", scalar.ScalarString(), err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if v < 0 {
|
if v <= 0 {
|
||||||
c.errorf(scalar, "columns must be a non-negative integer: %#v", scalar.ScalarString())
|
c.errorf(scalar, "columns must be a positive integer: %#v", scalar.ScalarString())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
attrs.Columns = &d2graph.Scalar{}
|
attrs.Columns = &d2graph.Scalar{}
|
||||||
|
|
|
||||||
|
|
@ -2286,7 +2286,7 @@ obj {
|
||||||
columns: -200
|
columns: -200
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
expErr: `d2/testdata/d2compiler/TestCompile/grid_negative.d2:3:11: columns must be a non-negative integer: "-200"`,
|
expErr: `d2/testdata/d2compiler/TestCompile/grid_negative.d2:3:11: columns must be a positive integer: "-200"`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,16 +29,10 @@ func newGrid(root *d2graph.Object) *grid {
|
||||||
// TODO consider making this based on node dimensions
|
// TODO consider making this based on node dimensions
|
||||||
if g.rows == 0 {
|
if g.rows == 0 {
|
||||||
// set rows based on number of columns
|
// set rows based on number of columns
|
||||||
if g.columns == 0 {
|
|
||||||
// 0,0: put everything in one row
|
|
||||||
g.rows = 1
|
|
||||||
g.columns = len(g.nodes)
|
|
||||||
} else {
|
|
||||||
g.rows = len(g.nodes) / g.columns
|
g.rows = len(g.nodes) / g.columns
|
||||||
if len(g.nodes)%g.columns != 0 {
|
if len(g.nodes)%g.columns != 0 {
|
||||||
g.rows++
|
g.rows++
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else if g.columns == 0 {
|
} else if g.columns == 0 {
|
||||||
// set columns based on number of rows
|
// set columns based on number of rows
|
||||||
g.columns = len(g.nodes) / g.rows
|
g.columns = len(g.nodes) / g.rows
|
||||||
|
|
|
||||||
2
testdata/d2compiler/TestCompile/grid_negative.exp.json
generated
vendored
2
testdata/d2compiler/TestCompile/grid_negative.exp.json
generated
vendored
|
|
@ -5,7 +5,7 @@
|
||||||
"errs": [
|
"errs": [
|
||||||
{
|
{
|
||||||
"range": "d2/testdata/d2compiler/TestCompile/grid_negative.d2,2:10:28-2:14:32",
|
"range": "d2/testdata/d2compiler/TestCompile/grid_negative.d2,2:10:28-2:14:32",
|
||||||
"errmsg": "d2/testdata/d2compiler/TestCompile/grid_negative.d2:3:11: columns must be a non-negative integer: \"-200\""
|
"errmsg": "d2/testdata/d2compiler/TestCompile/grid_negative.d2:3:11: columns must be a positive integer: \"-200\""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue