From fff6637a03711f966d53743ab0f88470e126aed2 Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Mon, 5 Dec 2022 09:48:38 -0800 Subject: [PATCH] fix empty file --- d2lib/d2.go | 18 ++++++++++-------- e2etests/e2e_test.go | 4 ++++ .../testdata/sanity/empty/dagre/board.exp.json | 5 +++++ .../testdata/sanity/empty/dagre/sketch.exp.svg | 17 +++++++++++++++++ .../testdata/sanity/empty/elk/board.exp.json | 5 +++++ .../testdata/sanity/empty/elk/sketch.exp.svg | 17 +++++++++++++++++ 6 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 e2etests/testdata/sanity/empty/dagre/board.exp.json create mode 100644 e2etests/testdata/sanity/empty/dagre/sketch.exp.svg create mode 100644 e2etests/testdata/sanity/empty/elk/board.exp.json create mode 100644 e2etests/testdata/sanity/empty/elk/sketch.exp.svg diff --git a/d2lib/d2.go b/d2lib/d2.go index 182dd0ae3..6ab141d95 100644 --- a/d2lib/d2.go +++ b/d2lib/d2.go @@ -35,15 +35,17 @@ func Compile(ctx context.Context, input string, opts *CompileOptions) (*d2target return nil, nil, err } - err = g.SetDimensions(opts.MeasuredTexts, opts.Ruler) - if err != nil { - return nil, nil, err - } + if len(g.Objects) > 0 { + err = g.SetDimensions(opts.MeasuredTexts, opts.Ruler) + if err != nil { + return nil, nil, err + } - if layout, err := getLayout(opts); err != nil { - return nil, nil, err - } else if err := d2sequence.Layout(ctx, g, layout); err != nil { - return nil, nil, err + if layout, err := getLayout(opts); err != nil { + return nil, nil, err + } else if err := d2sequence.Layout(ctx, g, layout); err != nil { + return nil, nil, err + } } diagram, err := d2exporter.Export(ctx, g, opts.ThemeID) diff --git a/e2etests/e2e_test.go b/e2etests/e2e_test.go index fa3e07ba8..b77a4cc59 100644 --- a/e2etests/e2e_test.go +++ b/e2etests/e2e_test.go @@ -38,6 +38,10 @@ func TestE2E(t *testing.T) { func testSanity(t *testing.T) { tcs := []testCase{ + { + name: "empty", + script: ``, + }, { name: "basic", script: `a -> b diff --git a/e2etests/testdata/sanity/empty/dagre/board.exp.json b/e2etests/testdata/sanity/empty/dagre/board.exp.json new file mode 100644 index 000000000..8591adc9e --- /dev/null +++ b/e2etests/testdata/sanity/empty/dagre/board.exp.json @@ -0,0 +1,5 @@ +{ + "name": "", + "shapes": [], + "connections": [] +} diff --git a/e2etests/testdata/sanity/empty/dagre/sketch.exp.svg b/e2etests/testdata/sanity/empty/dagre/sketch.exp.svg new file mode 100644 index 000000000..5c521366b --- /dev/null +++ b/e2etests/testdata/sanity/empty/dagre/sketch.exp.svg @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/e2etests/testdata/sanity/empty/elk/board.exp.json b/e2etests/testdata/sanity/empty/elk/board.exp.json new file mode 100644 index 000000000..8591adc9e --- /dev/null +++ b/e2etests/testdata/sanity/empty/elk/board.exp.json @@ -0,0 +1,5 @@ +{ + "name": "", + "shapes": [], + "connections": [] +} diff --git a/e2etests/testdata/sanity/empty/elk/sketch.exp.svg b/e2etests/testdata/sanity/empty/elk/sketch.exp.svg new file mode 100644 index 000000000..5c521366b --- /dev/null +++ b/e2etests/testdata/sanity/empty/elk/sketch.exp.svg @@ -0,0 +1,17 @@ + + \ No newline at end of file