check for no actors in sequence diagram
This commit is contained in:
parent
811be06d42
commit
25f6c84a3a
3 changed files with 13 additions and 4 deletions
|
|
@ -106,8 +106,11 @@ func layoutSequenceDiagram(g *d2graph.Graph, obj *d2graph.Object) (*sequenceDiag
|
|||
}
|
||||
}
|
||||
|
||||
sd := newSequenceDiagram(obj.ChildrenArray, edges)
|
||||
err := sd.layout()
|
||||
sd, err := newSequenceDiagram(obj.ChildrenArray, edges)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = sd.layout()
|
||||
return sd, err
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package d2sequence
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"sort"
|
||||
|
|
@ -64,7 +65,7 @@ func getEdgeEarliestLineNum(e *d2graph.Edge) int {
|
|||
return min
|
||||
}
|
||||
|
||||
func newSequenceDiagram(objects []*d2graph.Object, messages []*d2graph.Edge) *sequenceDiagram {
|
||||
func newSequenceDiagram(objects []*d2graph.Object, messages []*d2graph.Edge) (*sequenceDiagram, error) {
|
||||
var actors []*d2graph.Object
|
||||
var groups []*d2graph.Object
|
||||
|
||||
|
|
@ -84,6 +85,10 @@ func newSequenceDiagram(objects []*d2graph.Object, messages []*d2graph.Edge) *se
|
|||
}
|
||||
}
|
||||
|
||||
if len(actors) == 0 {
|
||||
return nil, errors.New("no actors declared in sequence diagram")
|
||||
}
|
||||
|
||||
sd := &sequenceDiagram{
|
||||
messages: messages,
|
||||
actors: actors,
|
||||
|
|
@ -185,7 +190,7 @@ func newSequenceDiagram(objects []*d2graph.Object, messages []*d2graph.Edge) *se
|
|||
sd.maxActorHeight += float64(*sd.root.LabelHeight)
|
||||
}
|
||||
|
||||
return sd
|
||||
return sd, nil
|
||||
}
|
||||
|
||||
func (sd *sequenceDiagram) layout() error {
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ group.nested: {
|
|||
a -> b
|
||||
}
|
||||
`,
|
||||
expErr: "no actors declared in sequence diagram",
|
||||
},
|
||||
{
|
||||
name: "nested_steps",
|
||||
|
|
|
|||
Loading…
Reference in a new issue